Установка и базовая настройка DHCP сервера на Linux Ubuntu

Используемые термины: DHCP , Ubuntu .

Инструкция, в большей степени, протестирована на Ubuntu, но также будет работать для других дистрибутивов DEB — Debian и Astra Linux. Для настройки DHCP в системах на базе RPM, читайте инструкцию Установка и настройка DHCP сервера на Linux CentOS .

Установка и настройка

Сервер DHCP в Ubuntu может быть реализован с помощью пакета isc-dhcp-server. Его можно установить из стандартных репозиториев системы.

Выполняем обновления кэша пакетов и установку:

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 «remontka.local»;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}

* где

  • subnet — сеть, для которой будет работать данная группа настроек. Обратите внимание, что она должна соответствовать используемой на одном из сетевых интерфейсов сервера.
  • range — диапазон, из которого будут браться IP-адреса.
  • 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

По умолчанию, брандмауэр в Ubuntu не запрещает входящие соединения. Но если в вашей конфигурации основное правило запрещающее, то добавляем UDP-порт 67:

iptables -I INPUT -p udp —dport 67 -j ACCEPT

Для сохранения настройки можно использовать iptables-persistent:

apt install iptables-persistent

netfilter-persistent save

Сервер готов к работе.

Возможные проблемы

Not configured to listen on any interfaces!

Сервис dhcp не запускается, а в логе можно увидеть ошибки, на подобие:

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

После чего необходимо проверить настройки в конфигурационном файле сервера dhcp.

Читайте также

Другие инструкции, связанные с DHCP:

1. Резервирование IP-адреса на сервере DHCP в Linux .

2. Установка и настройка DHCP сервера на Linux CentOS 7 .

3. Как настроить автоматическое получение IP-адреса в Windows .

EnglishRussianUkrainian