Данный конфиг приведен в качестве примера для выдачи адресов в сети с одной подсетью. Если у вас более одной подсети, то создаете несколько разделов "subnet" и всю верхнюю часть конфига указываете для каждого раздела индивидуально.
Установка сервера
Устанавливаем сервер. В консоли выполняем:
apt install isc-dhcp-server
Настройка сервера
Указываем сетевой интерфейс, на котором наш DHCP сервер будет слушать:
nano /etc/default/isc-dhcp-server
Здесь нам в строке INTERFACESv4="ens18" нужно указать имя локального инерфейса, в нашем случае это "ens18".
Далее редактируем конфигурационный файл:
nano /etc/dhcp/dhcpd.conf
Очищаем содержимое, копируем и вставляем следующие строки или правим следующие настройки:
option domain-name "RiSYS.local";
option domain-name-servers 192.168.0.1;
default-lease-time 3600;
max-lease-time 7200;
ddns-update-style none;
authoritative;log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.50 192.168.0.254;
option routers 192.168.0.1;
}
Где:
option domain-name - имя сети
option domain-name-servers - адрес DNS сервера, можно указать несколько через запятую
default-lease-time - время аренды адреса в секундах. 3600 секунд = 1 час
max-lease-time - максимальное время аренды
ddns-update-style none; - не обновлять динамический dns
authoritative; - указывается, если данный DHCP сервер будет единственным в сети
log-facility local7; - разрешаем писать лог сервера в syslog
subnet 192.168.0.0 netmask 255.255.255.0 - настройки подсети, адрес и маска
range 192.168.0.50 192.168.0.254; - начальный и конечный адрес для выдачи сервером
option routers 192.168.0.1; - адрес роутера
Настройка резервирования адресов
Если требуется создать резервирование для хоста, то в разделе subnet перед закрывающей фигурной скобкой добавляем:
host PC-01 { hardware ethernet ff:ff:ff:ff:ff:ff; fixed-address 192.168.0.5;}
Где:
PC-01 - имя хоста
ff:ff:ff:ff:ff:ff - MAC-адрес хоста
192.168.0.5 - назначаемый ip адрес
Применение изменений
Выполняем команду для принятия изменений:
systemctl restart isc-dhcp-server.service
В некоторых отдельных случаях, если DHCP сервер не запускается, может потребоваться перезагрузка операционной системы.