Product SiteDocumentation Site

10.8. DHCP

DHCP (расшифровывается как Dynamic Host Configuration Protocol или протокол динамической настройки узла) является протоколом, по которому машина может получать в автоматическом режиме номер IP (и соответственно взаимоувязывать его со своими сетевыми интерфейсами), присваиваемый ей в момент загрузки. Это позволяет централизовать управление настройками сети (компьютеров, подсоединяющихся к данной сети), и быть уверенным, что все настольные машины получат похожие параметры.
Сервер DHCP предоставляет много разных сетевых параметров. Самым распространенным из них является предоставление IP-адреса машине в сети, к которой она подсоединилась, но кроме этого предоставляет и другую информацию, например кто является сервером DNS, серверами WINS, серверами NTP, и так далее.
Главным авторитетным сервером DHCP является The Internet Software Consortium (или "ISC", который также участвовал в разработке bind). Соответствующий пакет в Debian - isc-dhcp-server.

10.8.1. Настройка

The first elements that need to be edited in the DHCP server configuration files (/etc/dhcp/dhcpd.conf, and /etc/dhcp/dhcpd6.conf for IPv6) are the domain name and the DNS servers. If this server is alone on the local network (as defined by the broadcast propagation), the authoritative directive must also be enabled (or uncommented). One also needs to create a subnet section describing the local network and the configuration information to be provided. The following example fits a 192.168.0.0/24 local network with a router at 192.168.0.1 serving as the gateway. Available IP addresses are in the range 192.168.0.128 to 192.168.0.254.

Пример 10.15. Выдержка из /etc/dhcp/dhcpd.conf

#
# Пример настройки файла ISC dhcpd в Debian
#

# Параметр ddns-updates-style контролирует будет или нет сервер
# пытаться делать обновление DNS когда a lease is confirmed. Мы по 
# умолчанию используем поведение версии 2 пакета ('none', 
# поскольку DHCP v2 не имеет поддержки DDNS.)
ddns-update-style interim;

# параметры, общие для всех поддерживаемых сетей...
option domain-name "internal.falcot.com";
option domain-name-servers ns.internal.falcot.com;

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

# Если этот сервер DHCP является официальным сервером DHCP для локальной
# сети, то директива "authoritative" должна быть раскомментирована.
authoritative;

# Используется для посылки сообщений, касающихся dhcp, для записи в 
# другой журнал (вы можете использовать журнал syslog.conf для полного 
# перенаправления).
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.8.2. DHCP и DNS

Приятной особеностью является возможность присвоения каждой машиной осмысленного (что-то значащего) имени в момент её регистрации в качестве клиента DHCP в зоне DNS (а не что-то обезличенное, вроде machine-192-168-0-131.internal.falcot.com). Для использования такой возможности необходимо настроить сервер DNS, чтобы он принимал обновления для зоны DNS internal.falcot.com от сервера DHCP, который, в свою очередь, надо настроить таким образом, чтобы при каждом подключении и присвоении адреса какой-то машине, он сразу уведомлял об этом сервер DNS.
In the bind case (see Раздел 10.7.1, «DNS software»), the allow-update directive needs to be added to each of the zones that the DHCP server is to edit (the one for the internal.falcot.com domain, and the reverse zone). This directive lists the IP addresses allowed to perform these updates; it should therefore contain the possible addresses of the DHCP server (both the local address and the public address, if appropriate).
allow-update { 127.0.0.1 192.168.0.1 212.94.201.10 !any };
Остерегайтесь! Зоны, что могут быть видоизменены will, изменяются программой bind, и последняя будет перезаписывать конфигурационные файлы через регулярные интервалы (времени). Поскольку эта автоматизированная процедура создает файлы, которые менее удобочитаемые для человеческого восприятия, чем вручную написанные, администраторы Falcot вручную редактируют файл домена internal.falcot.com с делегированием сервера DNS; это значит: что зона файла falcot.com всегда остаётся под их ручным контролем.
The DHCP server configuration excerpt above already includes the directives required for DNS zone updates: they are the ddns-update-style interim; and ddns-domain-name "internal.falcot.com"; lines.