Product SiteDocumentation Site

10.7. DHCP

DHCP (مخفف Dynamic Host Configuration Protocol) پروتکلی است که رایانه از طریق آن اقدام به دریافت خودکار پیکربندی شبکه در زمان راه‌اندازی اولیه می‌کند. اینکار به فرآیند مدیریت مرکزی پیکربندی شبکه و اطمینان از اینکه تمام رایانه‌های رومیزی تنظیمات مشابهی دریافت می‌کنند کمک می‌کند.
یک سرور DHCP پارامترهای بسیاری را درباره شبکه فراهم می‌کند. متداول‌ترین آن‌ها نشانی IP و شبکه‌ای است که رایانه به آن تغلق دارد، اما می‌تواند اطلاعات دیگری نیز ارائه دهد، مانند سرورهای DNS و WINS و NTP و از این قبیل.
کنسرسیوم نرم‌افزار اینترنت (که در توسعه bind نیز مشارکت دارد) توسعه‌دهنده اصلی سرور DHCP است. بسته دبیان آن نیز isc-dhcp-server است.

10.7.1. پیکربندی

اولین عناصری که باید در فایل پیکربندی سرور DHCP (/etc/dhcp/dhcpd.conf) ویرایش شوند عبارتند از نام دامنه و سرورهای DNS. اگر این سرور در شبکه محلی تنها باشد (که توسط broadcast مشخص می‌شود) عبارت authoritative نیز باید فعال (از حالت توضیح خارج) شود. همچنین نیاز است که قسمت subnet برای شبکه محلی و اطلاعات پیکربندی مربوط به آن فراهم شود. نمونه پیش رو شبکه محلی 192.168.0.0/24 را با مسیریاب 192.168.0.1 که به عنوان gateway عمل می‌کند، متصل می‌سازد. نشانی‌های IP قابل دسترس در محدوده 192.168.0.128 تا 192.168.0.254 قرار دارند.

مثال 10.15. گزیده‌ای از /etc/dhcp/dhcpd.conf

#
# Sample configuration file for ISC dhcpd for Debian
#

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style interim;

# option definitions common to all supported networks...
option domain-name "internal.falcot.com";
option domain-name-servers ns.internal.falcot.com;

default-lease-time 600;
max-lease-time 7200;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# My subnet
subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    range 192.168.0.128 192.168.0.254;
    ddns-domainname "internal.falcot.com";
}

10.7.2. DHCP و DNS

یک ویژگی جالب امکان ثبت خودکار کلاینت‌های DHCP در منطقه DNS است، به طوری که هر رایانه یک نام مشخص دریافت کند (بجای چیزی غیرشخصی مانند machine-192-168-0-131.internal.falcot.com). استفاده از این ویژگی شامل پیکربندی سرور DNS برای پذیرش بروزرسانی منطقه internal.falcot.com از سرور DHCP و پیکربندی دیگری برای ارسال بروزرسانی هر قسمت می‌باشد.
در مورد bind، عبارت allow-update باید به هر منطقه‌ای که سرور DHCP قصد ویرایش آن را دارد اضافه گردد (یکی برای دامنه internal.falcot.com و دیگری برای منطقه معکوس آن). این عبارت فهرستی از نشانی‌های IP مجاز برای اجرای عملیات بروزرسانی را مشخص می‌کند؛ بنابراین باید شامل نشانی‌های احتمالی سرور DHCP باشد (در صورت نیاز، هم نشانی محلی هم نشانی عمومی).
allow-update { 127.0.0.1 192.168.0.1 212.94.201.10 !any };
آگاه باشید! منطقه‌ای که قابل ویرایش باشد توسط bind تغییر خواهد کرد و گزینه جدید فایل‌های پیکربندی موجود را از بین می‌برد. از آنجا که این فرآیند خودکارسازی فایل‌هایی را ایجاد می‌کند که برای خواندن دشوارتر از جایگزین‌های دستی خود هستند، مدیرسیستم‌های فالکوت دامنه internal.falcot.com را با یک سرور واگذارشده DNS مدیریت می‌کنند؛ یعنی فایل منطقه falcot.com با قدرت کامل در کنترل آن‌ها باقی خواهد ماند.
گزیده پیکربندی سرور DHCP که در بالا مشاهده کردید هم اکنون شامل عبارت‌های مورد نیاز برای بروزرسانی منطقه DNS مورد نظر است: در بلوکی که به توضیح زیرشبکه می‌پردازد آن‌ها عبارتند از ddns-update-style interim; و ddns-domain-name "internal.falcot.com";.