Начиная с Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8) рекомендованной службой DHCP является служба kea. Служба isc-dhcp-server будет исключена в последующих очередных обновлениях.

Помимо служб DHCP isc-dhcp-server и kea в состав Astra Linux входит упрощенная служба DHCP dnsmasq. Пример установки и настройки этой службы приведен в статье Терминальный сервер LTSP (ltsp-server-standalone) на базе Astra Linux.

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12


Установка пакета

В состав дистрибутива ОС Astra Linux входит пакет DHCP-сервера isc-dhcp-server и графический инструмент для его быстрой настройки fly-admin-dhcp. Установка графического инструмента fly-admin-dhcp может быть выполнена из графического менеджера пакетов (см. Графический менеджер пакетов synaptic), или из командной строки:

sudo apt install fly-admin-dhcp

При установке fly-admin-dhcp автоматически будет установлен также и isc-dhcp-server. После установки инструмент может быть запущен из системного меню ("Пуск" > "Панель управления" > "Сеть" > "DHCP сервер),  или из командной строки.

Настройка

Конфигурация сервиса DHCP хранится в файлах /etc/default/isc-dhcp-server и /etc/dhcp/dhcpd.conf. В файле  /etc/default/isc-dhcp-server в параметрах INTERFACES нужно указать протоколы и сетевые интерфейсы, с которыми будет работать сервис. При необходимости указать несколько сетевых интерфейсов, их можно перечислить через пробел. Пример настроек (для протокола IPv4 используется интерфейс eth0, работа по протоколу IPv6 запрещена):

INTERFACESv4="eth0"
#INTERFACESv6=" "

Список имеющихся интерфейсов можно проверить командой

ip a
В файле /etc/dhcp/dhcpd.conf указывается топология сети, и параметры выдаваемой через DHCP информации.  В самом этом файле имеется много примеров задания параметров.

Для того, чтобы сервис запустился, указанному в файле /etc/default/isc-dhcp-server сетевому интерфейсу должен быть присвоен IP-адрес.
С учетом того, что DHCP сервис только настраивается, автоматически получить адрес не получится, то есть адрес нужно назначить вручную до запуска сервиса.
Неудачный запуск с ошибкой при запуске "Not configured to listen on any interfaces!" говорит о том, что у сетевого интерфейса нет IP-адреса.


При запуске сервера с отключенным IPv6 может выдаваться сообщение об ошибке запуска, связанное с тем, что  не может запуститься часть сервиса, отвечающая за работу с IPv6.
При этом часть, работающая с IPv4, запускается и работает нормально.

Проверка работоспособности сервиса

Для проверки работоспособности сервиса можно установить и использовать команду nmap:

sudo apt install nmap
sudo nmap --script broadcast-dhcp-discover localhost
Также можно в процессе работы проверить список выданных сервером адресов:
cat /var/lib/dhcp/dhcpd.lease

Указание параметров домена

Особо следует отметить важные для обеспечения работы в составе домена возможности задания в параметрах выдаваемой информации имени домена и адреса DNS-сервера: 

option domain-name "somedomain.example.com";
option domain-name-servers 10.0.2.254;

Указание параметров сетевой загрузки

Для указания какой файл и откуда загрузить при старте хоста используются параметры

  • filename - имя файла для загрузки
  • next-server  - адрес сервера, с которого загрузить файл (в виде IP-адреса или в виде имени сервера)

Например:

subnet 10.0.2.0 netmask 255.255.255.0 {
    range 10.0.2.10 10.0.2.100;
    max-lease-time 86400;
    option routers 10.0.2.1;
    filename "pxelinux.0";
    next-server 10.0.2.254;
}

Указание параметров резервирования IP по MAC-адресу

host hostname1 {hardware ethernet 52:54:00:36:8f:d1; fixed-address 10.0.2.10;}
host hostname2 {hardware ethernet 52:54:00:a0:b1:c2; fixed-address 10.0.2.11;}

или 

host hostname1 {hardware ethernet 52:54:00:36:8f:d1; fixed-address hostname1.example.com;}
host hostname2 {hardware ethernet 52:54:00:a0:b1:c2; fixed-address hostname2.example.com;}

Быстрая настройка

Быстрая настройка основных параметров DHCP для сети IPv4 может быть осуществлена через графический инструмент fly-admin-dhcp.

Работа сервиса DHCP существенно влияет на работоспособность сети в целом, и случайное появление в сети неправильно настроенного сервера, некорректно отвечающего на запросы клиентов, может привести к существенным нарушения работы всей сети. 
Для предотвращения случайных включений в настройках сервиса предусмотрена специальная защита:  в конфигурационном файле /etc/dhcp/dhcpd.conf предусмотрен параметр authoritative. По умолчанию этот параметр оформлен как комментарий, и не действует. Для того, чтобы сервер действительно начал работать (отвечать на запросы), этот параметр нужно раскомментировать.

После завершения всех настроек следует перезапустить сервис:

sudo systemctl restart isc-dhcp-server

Динамическое обновление DNS FreeIPA

Настройку DHCP для динамического обновления доменного DNS-сервиса FreeIPA см. в статье Динамическое обновление DNS клиентских машин FreeIPA