Как настроить DHCP сервер на CentOS 7

Как настроить DHCP сервер на CentOS 7

Введение

Автоматическое распределение IP-адресов критически важно для стабильной работы корпоративных и домашних сетей. В экосистеме Linux администрирование серверов индустриальным стандартом выступает пакет isc-dhcp-server. Данная инструкция охватывает полный цикл: от установки DHCP-сервера на CentOS до валидации работы в production-среде и диагностики распространенных сбоев.

Установка и базовая конфигурация

Установите пакет через стандартный менеджер yum. После инсталляции основной файл конфигурации находится по пути /etc/dhcp/dhcpd.conf. По умолчанию он пуст, поэтому создадим рабочую структуру для подсети 192.168.1.0/24. Важно сразу указать параметры DNS и шлюза, иначе клиенты будут выходить в интернет без маршрутизации.

sudo yum install -y dhcp
sudo vi /etc/dhcp/dhcpd.conf

Настройка пула и резервирование

Определите глобальные директивы, доменное имя и диапазон выдачи адресов. Для закрепления IP за конкретным устройством используйте блок host с MAC-адресом. Это исключает необходимость настройки статических адресов вручную на каждом клиенте.

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option routers 192.168.1.1;
    option domain-name-servers 8.8.8.8, 1.1.1.1;
    option broadcast-address 192.168.1.255;
}
host printer {
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 192.168.1.50;
}

Валидируйте конфигурацию перед запуском. Ошибки в кавычках, скобках или точках с запятой приводят к мгновенному падению демона. Используйте dhcpd -t -cf /etc/dhcp/dhcpd.conf для синтаксического анализа.

Параметр Назначение Рекомендация
default-lease-time Базовый срок аренды 600-900 сек
max-lease-time Максимальный срок аренды 7200-14400 сек
fixed-address Статический IP для хоста Выносить из range
option routers Шлюз по умолчанию Совпадать с подсетью

Брандмауэр и запуск сервиса

В CentOS 7 защита сети контролируется firewalld. Разрешите трафик UDP-портов 67 и 68, перезагрузите правила и активируйте службу DHCP-сервер для автозапуска при старте ОС.

sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --reload
sudo systemctl enable dhcpd
sudo systemctl start dhcpd
sudo systemctl status dhcpd

Логи службы доступны через journalctl -u dhcpd или в /var/log/messages. При корректной настройке клиенты получают адреса без таймаутов. Регулярно мониторьте таблицу аренды и при необходимости используйте утилиты для диагностики конфликтов IP-адресов. Если служба не стартует, проверьте права доступа к конфигурационному файлу и отсутствие синтаксических ошибок.

Вопрос-ответ (FAQ)

Почему клиенты не получают адреса после настройки?

Проверьте статус службы командой systemctl status dhcpd, убедитесь, что firewalld пропускает UDP 67/68, и сверьте subnet/netmask с реальной сетью клиента.

Как сбросить аренду IP на клиенте?

На Linux выполните dhclient -r и dhclient. На Windows используйте ipconfig /release и ipconfig /renew.

Можно ли использовать DHCP для нескольких подсетей?

Да, добавьте несколько блоков subnet с соответствующими netmask и range, либо настройте DHCP-релей на маршрутизаторе.

Comments are closed.