24.5. Включение статических хостов в DHCP

Проблема

Вам необходимо назначить статические IP-адреса для серверов или других устройств в сети. Ручное редактирование файла /etc/hosts на каждом компьютере в сети неудобно, особенно если у вас большое количество устройств. Вопрос заключается в том, можно ли автоматизировать назначение статических IP-адресов, добавив их в конфигурацию DHCP-сервера.

Решение

Да, DHCP-сервер позволяет назначать статические IP-адреса устройствам на основе их уникальных MAC-адресов, что удобно для управления большими сетями. Для этого сначала необходимо узнать MAC-адрес устройства. В Linux его можно увидеть с помощью команды ifconfig:

$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:03:6D:00:83:CF
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
...

Вас интересует значение HWaddr — это и есть MAC-адрес устройства.

В Windows MAC-адрес можно узнать через команду ipconfig /all в командной строке.

После того как вы узнали MAC-адрес, добавьте запись в файл dhcpd.conf на сервере DHCP, чтобы назначить устройству статический IP-адрес. Пример записи для устройства с именем mail:

host mail {
    hardware ethernet 00:03:6D:00:83:CF;
    fixed-address 192.168.1.100;
}

Обратите внимание, что многострочные директивы должны быть заключены в фигурные скобки.

Для назначения серверов DNS можно использовать директиву option domain-name-servers в dhcpd.conf, и эта настройка применяется для всей сети:

option domain-name-servers 192.168.1.10, 192.168.1.11;

Повторите этот процесс для всех устройств, которым необходимо назначить статические IP-адреса. Это значительно упростит управление сетью, так как все настройки централизованы на DHCP-сервере.

Комментарий

Для критически важных серверов можно добавить записи и в файл /etc/hosts на каждом компьютере для повышения отказоустойчивости. Таким образом, если DHCP-сервер временно недоступен, устройства смогут связаться с важными серверами по локальной записи в /etc/hosts.

Каждое устройство в сети имеет уникальный 48-битный MAC-адрес (Media Access Control), который используется для идентификации на уровне сетевого интерфейса. Первые 24 бита этого адреса назначаются организацией IEEE (Institute of Electrical and Electronics Engineers), а оставшиеся 24 бита — это уникальный идентификатор, задаваемый производителем устройства.

Современные советы по управлению статическими хостами в DHCP

См. также

dhcp-options(5), dhcpd.conf(5), dhcpd(8)