Product SiteDocumentation Site

10.7. ‏DHCP

DHCP (اختصاراً للعبارة Dynamic Host Configuration Protocol) هو بروتوكول يسمح للأجهزة بالحصول على إعدادات الشبكة الخاصة بها عند الإقلاع. هذا يسمح بإدارة إعدادات الشبكة مركزياً، ويضمن أن جميع الأجهزة المكتبية ستحصل على إعدادات متشابهة.
يقدم مخدم DHCP العديد من المتغيرات الشبكية. أكثرها شيوعاً عنوان IP والشبكة التي ينتمي لها الجهاز، لكنه يستطيع أيضًا تقديم معلومات أخرى، مثل مخدمات DNS، ومخدمات WINS، ومخدمات NTP، وغيرها.
المطور الأساسي لمخدم DHCP هو Internet Software Consortium (الذي يطور bind أيضًا). حزمة دبيان التي تحوي مخدم DHCP هي isc-dhcp-server.

10.7.1. الإعداد

أولى العناصر التي يجب تحريرها في ملف إعداد مخدم DHCP ‏(/etc/dhcp/dhcpd.conf) هي اسم النطاق ومخدمات DNS. إذا كان هذا المخدم وحيداً على الشبكة المحلية (وفقاً لتعريف انتشار البث – broadcast propagation)، يجب أيضًا تفعيل (أو إزالة التعليق عن) التعليمة التوجيهية authoritative. كما يجب إنشاء قسم subnet يصف الشبكة المحلية ومعلومات الإعداد المقدمة. المثال التالي يتناسب مع الشبكة المحلية 192.168.0.0/24 فيها موجه عنوانه 192.168.0.1 يخدم كبوابة للشبكة. تقع عناوين 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، وإعداد مخدم 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 منتدب (delegated)؛ هذا يعني أن ملفات المنطقة falcot.com تبقى بالكامل تحت التحكم اليدوي.
تتضمن المقتطفات من إعدادات مخدم DHCP أعلاه التعليمات التوجيهية المطلوبة لتحديث مناطق DNS: وهي السطور ddns-update-style interim; و ddns-domain-name "internal.falcot.com"; في القسم الذي يوصّف الشبكة الفرعية.