Введение
В корпоративных сетях выделение IP-адресов часто централизовано. Когда DHCP-сервер находится в отдельном сегменте, а клиенты разнесены по VLAN, широковещательные запросы блокируются маршрутизаторами. Решение — настройка DHCP-ретранслятора на промежуточном узле. Статья охватывает практическую реализацию на базе Ubuntu Linux с учетом особенностей маршрутизации сети.
Принцип работы агента
Клиент отправляет DHCPDISCOVER на 255.255.255.255. Агент перехватывает кадр, добавляет опцию 82 и пересылает сообщение на UDP-порт 67 сервера. Ответ возвращается на порт 68 агента, который транслирует его клиенту. Это исключает необходимость разворачивания серверной службы в каждом сегменте.
Установка и конфигурация
Для Ubuntu используется пакет isc-dhcp-relay. Инсталляция выполняется через apt. Основной файл настроек: /etc/default/isc-dhcp-relay. Здесь задаются интерфейсы прослушивания и адрес сервера.
| Параметр | Описание | Значение |
|---|---|---|
| INTERFACES | Интерфейсы для прослушивания | «eth0 eth1» |
| SERVERS | IP-адреса серверов | «192.168.10.1» |
| PAYLOAD_LENGTH | Лимит размера UDP-пакета | 575 |
# /etc/default/isc-dhcp-relay
INTERFACES="eth0 eth1"
SERVERS="192.168.10.1"
OPTIONS=""
PAYLOAD_LENGTH=575
После редактирования файла активируйте службу. Для отказоустойчивости укажите несколько серверов через пробел. При использовании VLAN-интерфейсов пропишите их теги напрямую.
sudo systemctl enable isc-dhcp-relay
sudo systemctl restart isc-dhcp-relay
sudo systemctl status isc-dhcp-relay
Отладка и анализ
Статус работы DHCP-ретранслятора проверяйте через journalctl. Для анализа обмена используйте Wireshark с фильтром udp port 67 or udp port 68. Если пакеты не проходят, проверьте ACL, правила FORWARD в iptables и параметр net.ipv4.ip_forward=1 на маршрутизаторе. Корректная маршрутизация сети критична для доставки ответов.
Вопрос-ответ (FAQ)
Как включить опцию 82?
Добавьте RELAY_OPTIONS=»-o» в /etc/default/isc-dhcp-relay и перезапустите службу. Агент начнет вставлять информацию о ретрансляции в заголовок пакета.
Почему клиенты не получают адреса?
Проверьте доступность UDP-портов 67/68 на фаерволе и маршрутизацию между сегментами. Убедитесь, что сервер имеет свободные адреса в пуле для целевой подсети и принимает запросы от ретранслятора.
Подходит ли Kea для ретрансляции?
Kea DHCP поддерживает модуль relay, однако на Ubuntu Linux классический isc-dhcp-relay остается предпочтительным решением благодаря стабильности и низкому потреблению ресурсов.
Comments are closed.