Введение
Автоматическое распределение 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.