Что получим в итоге
- Сервер автоматически выдаёт IP-адреса в выбранном диапазоне.
- Клиенты получают шлюз, DNS и домен по DHCP.
- Настройка подходит для учебной или небольшой внутренней сети.
1. Установка DHCP-службы
Для современных Debian используется пакет isc-dhcp-server:
sudo apt update
sudo apt install isc-dhcp-server
На старых системах пакет мог называться dhcp3-server.
2. Указать сетевой интерфейс
Ограничьте DHCP только интерфейсом локальной сети (пример: enp0s8):
sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="enp0s8"
Если на сервере два интерфейса (WAN/LAN), DHCP обычно слушает только LAN-интерфейс.
3. Настроить пул адресов
Базовый пример /etc/dhcp/dhcpd.conf для сети 192.168.1.0/24:
authoritative;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1, 8.8.8.8;
option domain-name "local.lan";
}
Подставьте свои значения: сеть, диапазон, шлюз и DNS.
4. Проверить IP самого сервера
Убедитесь, что адрес LAN-интерфейса сервера статический и совпадает с ролью шлюза (если вы его раздаёте как option routers).
ip -4 addr show enp0s8
5. Запуск и проверка службы
sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server
sudo journalctl -u isc-dhcp-server -n 50 --no-pager
На клиентской машине обновите аренду IP и проверьте, что адрес выдан из вашего диапазона.
Частые проблемы
- Служба не стартует: ошибка в
dhcpd.confили неверный интерфейс. - Клиенты не получают адрес: DHCP слушает не тот NIC или блокируется firewall.
- Некорректный шлюз/DNS: проверьте
option routersиoption domain-name-servers.
Материал адаптирован по мотивам заметки на Habr: «Настройка DHCP сервера в Debian Linux».