Настройка ISC DHCP Server

~ $ ./deploy_dhcp.sh

Пошаговое руководство: Настройка ISC DHCP Server (4.4.3-P1 и выше)

В этой статье мы разберем процесс установки и правильной конфигурации классического DHCP-сервера, а также решим частую проблему с порядком запуска служб.

01

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

Для начала необходимо установить сам сервер из официальных репозиториев. Мы будем использовать пакет dhcp-server:

 bash
apt-get update && apt-get install -y dhcp-server

Copy

02

Синхронизация служб (Ожидание сети)

Важный нюанс: По умолчанию DHCP-сервер может попытаться привязаться к сетевым интерфейсам до того, как системная утилита (например, NetworkManager) успеет их инициализировать. Из-за этого DHCP-сервер выдаст ошибку и упадет при запуске системы.

Чтобы заставить службу DHCP дожидаться полного поднятия сети, включим системное событие ожидания network-online:

 bash
systemctl enable --now NetworkManager-wait-online

Copy

Далее создадим «переопределение» (override) для системного юнита dhcpd. Команда ниже откроет редактор:

 bash
EDITOR=vim systemctl edit dhcpd

Copy

Вставьте следующие строки в файл (обязательно между комментариями «Anything between here and the comment below» и «Lines below this comment will be discarded»):

 override.conf
[Unit]
Wants=network-online.target
After=network-online.target

Copy

Сохраните изменения (в vim: ESC, затем :wq и Enter).

03

Расчет маски подсети

Прежде чем писать конфигурацию, нужно правильно указать маску подсети. Длина префикса (например, /28) определяет количество единичных битов в маске. В последнем октете каждый из 8 битов представляет степень двойки: 128, 64, 32, 16, 8, 4, 2, 1.

  • Префикс /24 (все биты нули): маска 255.255.255.0
  • Префикс /25 (1 бит): 128 = маска 255.255.255.128
  • Префикс /26 (2 бита): 128 + 64 = маска 255.255.255.192
  • Префикс /27 (3 бита): 192 + 32 = маска 255.255.255.224
  • Префикс /28 (4 бита): 224 + 16 = маска 255.255.255.240

В нашей конфигурации ниже мы будем использовать в качестве примера сеть с маской 255.255.255.240.

04

Настройка файла dhcpd.conf

Откроем главный файл конфигурации DHCP-сервера:

 bash
vim /etc/dhcp/dhcpd.conf

Copy

Разберем детально, из чего состоит блок настройки зоны (subnet). Подставьте ваши данные вместо шаблонных переменных:

Объявление зоны адресов: Укажите базовый адрес вашей сети и рассчитанную на предыдущем шаге маску:

dhcpd.conf

subnet ваш_адрес_сети netmask ваша_маска_подсети {

Copy

Диапазон выдачи (пул): Какие именно адреса сервер будет отдавать клиентам (от начального до конечного):

dhcpd.conf

    range начальный_ip конечный_ip;

Copy

Шлюз по умолчанию: Адрес роутера (шлюза), через который клиенты будут выходить в интернет или другие сети:

dhcpd.conf

    option routers IP_вашего_шлюза;

Copy

Локальный домен: Имя домена, которое будет передано клиентам для локальной маршрутизации имен:

dhcpd.conf

    option domain-name "ваш_локальный_домен";

Copy

DNS-серверы: Адрес DNS-сервера (или нескольких через запятую) для разрешения доменных имен клиентами:

dhcpd.conf

    option domain-name-servers IP_адрес_DNS_сервера;

Copy

Время аренды: Базовое и максимальное время (в секундах), на которое выдается IP-адрес устройству:

dhcpd.conf

    default-lease-time 600;
    max-lease-time 3600;
}

Copy

05

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

Включите автоматический запуск DHCP-сервера вместе с ОС и запустите его прямо сейчас:

 bash
systemctl enable --now dhcpd

Copy

Чтобы убедиться, что сервер корректно раздает адреса, перейдите на клиентскую машину (находящуюся в том же сегменте сети), перезагрузите её или переподнимите сетевой интерфейс, а затем проверьте выданные параметры:

 bash (на клиенте)
reboot
# после загрузки:
ip -c a

Copy

В выводе команды вы должны увидеть IP-адрес из настроенного пула (от начального до конечного IP).

Nord Admin System Guides © 2026. Powered by Open Source.