Это старая версия документа!
После загрузки подключенный к сети клиент (на котором настроено использование DHCP) отправляет DHCP-серверу пакет DHCPDISCOVER. Получив пакет запроса DHCPDISCOVER, DHCP-сервер отвечает пакетом DHCPOFFER. Клиент принимает пакет DHCPOFFER и отправляет серверу пакет DHCPREQUEST, подтверждая готовность принять сетевую конфигурацию, предоставленную в пакете. Получив от клиента пакет DHCPREQUEST, сервер отправляет пакет DHCPACK, который разрешает клиенту использование выделенного IP-адреса.
опролпрл
$ sudo apt install isc-dhcp-server
Например, если вам нужно, чтобы демон DHCPD прослушивал eth0, задайте следующее значение:
INTERFACES="eth0"
Если нужна работа DHCPD на интерфейсе eth0 и eth0.3
INTERFACES="wlan0 eth0.3"
Для этого сетевого интерфейса нужно настроить статический IP-адрес.
В файле конфигурации DHCP есть два типа данных:
параметры – указывают, как выполнять задание (например, на какое время выделять адрес), выполнять ли его вообще (например, выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту. декларации – определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций. 4. Для определения настроек DHCP-сервера откроем и отредактируем файл конфигурации:
$ sudo vi /etc/dhcp/dhcpd.conf Установите в начале файла следующие глобальные параметры, они будут действовать для всех указанных ниже деклараций (измените их в соответствии с вашими задачами). Это имя домена domain-name, имена DNS-серверов domain-name-servers, время аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative, означающий «авторитетность» сервера в сегменте сети. Данный параметр нужен на тот случай, если клиент запросит неправильный IP-адрес — в этом случае сервер ответит ему отказом и предложит получить новый адрес.
option domain-name «itproffi.lan»; option domain-name-servers ns1.itproffi.lan, ns2.itproffi.lan; default-lease-time 3600; max-lease-time 7200; authoritative; Обратите внимание, что перед некоторыми параметрами указано слово option, а перед некоторыми — нет. Это слово задает параметры, которые передаются клиенту в сетевой конфигурации.
5. Теперь нужно указать подсеть, в нашем примере мы будем использовать DHCP в локальной сети 192.168.10.0/24.
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.1; option subnet-mask 255.255.255.0; option domain-search "itproffi.lan"; option domain-name-servers 192.168.10.1; range 192.168.10.10 192.168.10.100; range 192.168.10.110 192.168.10.200;
} Здесь мы использовали следующие параметры:
routers — IP-адрес маршрутизатора по умолчанию subnet-mask — маска подсети domain-search — имя домена domain-name-servers — имена DNS-серверов range — диапазон IP-адресов, выделяемый клиентам (можно указывать несколько диапазонов, но обязательно указать хотя бы один)
Шаг 3: Настройка статических IP-адресов для машин клиентов 6. Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес:
host centos-node {
hardware ethernet 00:f0:m4:6y:89:0g; fixed-address 192.168.10.105;
}
host fedora-node {
hardware ethernet 00:4g:8h:13:8h:3a; fixed-address 192.168.10.106;
} 7. Запустим службу DHCP и установим ее автоматический запуск при загрузке:
———— SystemD ————
$ sudo systemctl start isc-dhcp-server.service $ sudo systemctl enable isc-dhcp-server.service ———— SysVinit ————
$ sudo service isc-dhcp-server.service start $ sudo service isc-dhcp-server.service enable
/etc/init.d/isc-dhcp-server restart
8. Далее нужно создать правило для службы DHCP в брандмауэре (Демон DHCPD прослушивает UDP-порт 67):
$ sudo ufw allow 67/udp $ sudo ufw reload $ sudo ufw show Шаг 4: Настройка машин клиентов 9. Теперь можно настроить клиентские компьютеры в сети для автоматического получения IP-адресов от DHCP-сервера.
Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/номер интерфейса):
$ sudo vi /etc/network/interfaces Укажите следующие опции:
auto eth0 iface eth0 inet dhcp Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:
———— SystemD ————
$ sudo systemctl restart networking ———— SysVinit ————
$ sudo service networking restart Если все настроено правильно, клиентская машина должна автоматически получать IP-адреса от DHCP-сервера.
Если понадобилось посмотреть, какие адреса были выданы, то:
cat /var/lib/dhcp/dhcpd.leases
Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:
$ man dhcpd $ man dhcpd.conf
Ссылки:
https://itproffi.ru/nastrojka-dhcp-servera-v-linux
https://wiki.debian.org/ru/NetworkConfiguration