Установка и настройка DHCP-сервера на Ubuntu
DHCP-сервер выдаёт клиентам сетевые настройки автоматически: IP-адрес, маску, шлюз, DNS и доменный суффикс. В Ubuntu он реализуется пакетом isc-dhcp-server. Инструкция подходит и для других DEB-систем (Debian, Astra Linux).
Установка и настройка
apt update
apt install isc-dhcp-server
Открываем конфигурацию:
vi /etc/dhcp/dhcpd.conf
Комментируем строки-примеры:
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
Добавляем описание подсети:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option domain-name-servers 192.168.0.10, 192.168.0.11;
option domain-name "imaxis.local";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}
где:
subnet— сеть для группы настроек; должна совпадать с сетью одного из интерфейсов сервера;range— диапазон выдаваемых адресов;option domain-name-servers— DNS-серверы через запятую;option domain-name— доменный суффикс;option routers— шлюз по умолчанию;option broadcast-address— широковещательный адрес;default-lease-timeиmax-lease-time— срок аренды и его максимум в секундах.
Проверяем конфигурацию:
dhcpd -t -cf /etc/dhcp/dhcpd.conf
systemctl enable isc-dhcp-server
systemctl restart isc-dhcp-server
Если фаервол запрещающий, открываем UDP/67:
iptables -I INPUT -p udp --dport 67 -j ACCEPT
apt install iptables-persistent
netfilter-persistent save
Возможные проблемы
Not configured to listen on any interfaces!
Сервис не запускается, в логе:
No subnet declaration for ens18 (192.168.1.10).
...
** Ignoring requests on ens18. If this is not what
you want, please write a subnet declaration
in your dhcpd.conf file for the network segment
to which interface ens18 is attached. **
...
Not configured to listen on any interfaces
Причина: в конфиге описана подсеть, которой нет ни на одном интерфейсе сервера.
Решение: секция subnet должна описывать только подсети самого DHCP-сервера. Проверьте адреса:
ip a
и приведите dhcpd.conf в соответствие.
Тонкости и подводные камни
subnetи интерфейсы — сервер обслуживает только те сети, в которых сам имеет адрес.- Статическая адресация сервера — DHCP-сервер должен иметь фиксированный IP.
- Диапазон и статика — не включайте в
rangeадреса шлюзов, серверов и устройств со статикой. - Резервирование по MAC — фиксированный адрес клиенту задаётся в секции
host. - Второй DHCP в сети — два сервера в одной подсети конфликтуют; используйте разные диапазоны или отключите один.
dhcpd -tперед перезапуском — проверяйте синтаксис, иначе сервис не стартует.- Логи — смотрите
journalctl -u isc-dhcp-serverи/var/log/syslog. - DHCP relay — для выдачи адресов в удалённых подсетях настраивается
dhcrelay.
Шпаргалка
apt install isc-dhcp-server
vi /etc/dhcp/dhcpd.conf
# subnet 192.168.0.0 netmask 255.255.255.0 {
# range 192.168.0.100 192.168.0.200;
# option routers 192.168.0.1;
# option domain-name-servers 192.168.0.10, 192.168.0.11;
# }
dhcpd -t -cf /etc/dhcp/dhcpd.conf
systemctl enable --now isc-dhcp-server
ip a # проверить, что подсеть есть на интерфейсе
Проверено на: Ubuntu 22.04/24.04/26.04, Debian 12 + isc-dhcp-server.
Дата: Сентябрь 2026.