DHCP Relay: что это, как работает и зачем нужен в сети

DHCP Relay: что это, как работает и зачем нужен в сети
0
9

DHCP Relay помогает устройствам получить IP-адрес от сервера, который находится в другой сети. Такая схема встречается в офисах, дата-центрах и компаниях, где сотрудники, гости и серверы разделены по разным VLAN. Ниже покажем путь запроса, настройку на Cisco и причины, из-за которых relay может не сработать.

Что такое DHCP Relay простыми словами

Когда ноутбук или смартфон подключается к сети, он просит выдать ему IP-адрес. Обычно на запрос отвечает DHCP-сервер. Проблема появляется, если устройство и сервер находятся в разных подсетях: первый запрос остаётся внутри локальной сети и через маршрутизатор сам не проходит.

DHCP Relay принимает этот запрос на шлюзе и отправляет его прямо DHCP-серверу. Сервер выбирает адрес, а relay возвращает ответ устройству. Получается посредник между клиентом и сервером, которые не могут обменяться первым сообщением напрямую.

Сам DHCP-сервер по-прежнему отвечает за IP-адрес, маску, шлюз и DNS. Relay только передаёт сообщения. Работу сервера мы подробнее объясняли в статье о DHCP.

Когда нужен DHCP Relay

Представим офис digital-команды. Компьютеры сотрудников подключены к одной сети, гостевой Wi-Fi работает в другой, а серверы вынесены в отдельный сегмент. Такое разделение помогает управлять доступом и не смешивать все устройства в одной подсети.

В нашем примере сеть устроена так:

  • VLAN 10 — компьютеры сотрудников, подсеть 192.168.10.0/24;
  • VLAN 20 — гостевой Wi-Fi, подсеть 192.168.20.0/24;
  • VLAN 100 — серверы, DHCP-сервер имеет адрес 192.168.100.10.

Запрос из гостевой VLAN 20 не попадёт к серверу в VLAN 100 без дополнительной настройки. На шлюзе гостевой сети включают DHCP Relay и указывают адрес 192.168.100.10. Для VLAN 10 добавляют такую же настройку на её шлюзе.

В обычной домашней сети relay чаще всего не требуется. Домашний роутер сам работает как DHCP-сервер и выдаёт адреса всем устройствам в своей локальной сети. Ретранслятор нужен, когда сервер отделён от клиентов маршрутизатором или L3-коммутатором.

Как работает DHCP Relay

Путь запроса можно разобрать на четырёх шагах:

  1. Устройство подключается к VLAN и отправляет запрос на IP-адрес. Это сообщение называется DHCPDISCOVER.
  2. Relay принимает запрос на шлюзе и пересылает его DHCP-серверу.
  3. Сервер понимает, из какой подсети пришёл запрос, и выбирает адрес из подходящего диапазона.
  4. Ответ возвращается через relay, после чего устройство получает IP-адрес и остальные сетевые настройки.

Чтобы сервер различал VLAN, relay добавляет к запросу адрес их шлюза. Например, адрес 192.168.20.1 сообщает серверу, что клиент находится в гостевой сети. В техническом описании это поле называется giaddr, но для базовой настройки достаточно понимать его назначение.

DHCPv4 использует UDP-порты 67 и 68. Если firewall блокирует эти пакеты, запрос может дойти до relay и остановиться по пути к серверу. При диагностике проверяют команду ретрансляции, сетевой маршрут и правила firewall.

Как DHCP Relay передаёт запрос на IP-адрес между VLAN и DHCP-сервером
Relay принимает запрос в клиентской VLAN, передаёт его DHCP-серверу и возвращает устройству сетевые настройки.

Как DHCP Relay работает с несколькими VLAN

Для каждой клиентской VLAN relay включают на её шлюзе. На DHCP-сервере создают отдельный диапазон адресов, или пул, для каждой подсети. VLAN 10 должен получать адреса из сети 192.168.10.0/24, а VLAN 20 — из 192.168.20.0/24.

Если настройку добавили только для VLAN 10, сотрудники получат адреса, а гостевые устройства останутся без сети. Похожая ситуация возникнет, если relay настроен правильно, но на сервере нет пула для VLAN 20. Запрос дойдёт до сервера, однако выдать подходящий адрес он не сможет.

Подробнее устройство таких сегментов разобрано в статье о VLAN.

DHCP Relay работает вместе с другими сетевыми настройками: VLAN, шлюзами, маршрутами и DHCP-пулами. Чтобы найти сбой, администратор проверяет всю цепочку от устройства до сервера.

★ Где этому научиться

Курс «Сетевой инженер» в Академии IT DMS

✓Настройка коммутаторов и маршрутизаторов с нуля
✓Безопасные сети предприятий, VPN для филиалов и удалённых сотрудников
✓Поиск неисправностей и отказоустойчивость сетей

Сертификат, диплом о переподготовке или удостоверение о повышении квалификации.

Перейти к курсу →ПромокодAFFTIMES

−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.

Настройка DHCP Relay на Cisco

В Cisco IOS и IOS XE для ретрансляции DHCP используется команда ip helper-address. Её добавляют на интерфейс VLAN, к которому подключены клиенты. После команды указывают IP-адрес DHCP-сервера.

Для нашей схемы конфигурация выглядит так:

interface Vlan10

 description EMPLOYEES

 ip address 192.168.10.1 255.255.255.0

 ip helper-address 192.168.100.10

interface Vlan20

 description GUESTS

 ip address 192.168.20.1 255.255.255.0

 ip helper-address 192.168.100.10

Интерфейс Vlan10 служит шлюзом для сотрудников, а Vlan20 — для гостей. Оба пересылают DHCP-запросы на сервер 192.168.100.10.

Проверить настройку можно командой:

show ip interface Vlan10

В выводе должна быть строка Helper address is 192.168.100.10. Если на устройстве задана глобальная команда no service dhcp, ретрансляция работать не будет.

Настройка ip helper-address и проверка DHCP Relay в Cisco IOS
Команда ip helper-address задаёт адрес DHCP-сервера, а show ip interface показывает сохранённый helper address.

Перед добавлением ip helper-address администратор проверяет адреса VLAN, маршрут до сервера и DHCP-пулы. После настройки он смотрит, проходят ли запросы и не блокирует ли их firewall. Это базовая практическая задача для человека, который осваивает Cisco и сетевое администрирование.

В Cisco relay включают командой ip helper-address на нужном интерфейсе VLAN. Перед её добавлением администратор проверяет адреса VLAN, маршрут до сервера и DHCP-пулы. После настройки он смотрит, проходят ли запросы и не блокирует ли их firewall.

★ Где этому научиться

Курс «Cisco FirePower NGFW» в Академии IT DMS

✓Настройка FTD и FMC в лабораторной среде
✓Политики доступа, IPS и защита от вредоносного ПО
✓URL-фильтрация, VPN и отказоустойчивость

Электронный сертификат после итогового теста.

Перейти к курсу →ПромокодAFFTIMES

−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.

Настройка DHCP Relay на MikroTik, Keenetic и Linux

В MikroTik RouterOS для каждой клиентской VLAN создают отдельный объект DHCP Relay. В нём указывают интерфейс VLAN, адрес сервера и адрес шлюза этой сети.

Для VLAN 10 команда может выглядеть так:

/ip/dhcp-relay/add name=relay-vlan10 interface=vlan10 dhcp-server=192.168.100.10 local-address=192.168.10.1 disabled=no

Параметр disabled=no сразу включает созданный relay. Проверить, получает ли он запросы и ответы, можно командой /ip/dhcp-relay/monitor relay-vlan10.

В Keenetic нужно указать интерфейс со стороны клиентов, адрес DHCP-сервера и интерфейс в сторону сервера, затем включить службу dhcp-relay. Названия интерфейсов зависят от конфигурации роутера и версии KeeneticOS.

На Linux роль ретранслятора выполняет отдельная служба, например dhcrelay. Принцип остаётся тем же: служба слушает клиентский интерфейс и пересылает запросы на заданный сервер.

Зачем нужна DHCP Option 82

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

В небольшой сети с несколькими VLAN Option 82 обычно не требуется. Она чаще встречается у провайдеров и в крупных корпоративных сетях, где важно различать клиентов вплоть до порта коммутатора.

Почему DHCP Relay не работает

По симптому можно понять, с какой стороны начать проверку.

Что происходитЧто проверить
Адреса не получает одна VLANRelay на шлюзе этой VLAN и отдельный пул на DHCP-сервере
Адреса не получают все удалённые VLANIP-адрес сервера, маршрут до него и правила firewall
Windows показывает адрес 169.254.x.xУстройство не получило ответ DHCP
Запросы доходят до сервера, но ответа нетНаличие пула и свободных адресов для нужной подсети
На Cisco указан helper, но запросы не идутНет ли в конфигурации команды no service dhcp

Проверку начинают с клиентской VLAN и постепенно двигаются к серверу. Сначала смотрят, активен ли интерфейс шлюза и правильно ли указан ip helper-address. Затем проверяют маршрут в обе стороны, DHCP-пул и UDP-порты 67 и 68.

После исправления настроек на Windows можно запросить адрес заново командой ipconfig /renew. Текущие параметры подключения показывает ipconfig /all. На Cisco пригодятся show ip interface Vlan10 и show running-config interface Vlan10.

Вывод ipconfig all с параметрами DHCP в Windows 11
В выводе ipconfig /all видны полученный IPv4-адрес, шлюз, DHCP-сервер и срок аренды.

FAQ

DHCP Relay и DHCP-сервер выполняют одну задачу?

DHCP-сервер выбирает и выдаёт сетевые параметры. DHCP Relay передаёт сообщения между сервером и клиентами, находящимися в других подсетях.

Нужно ли настраивать DHCP Relay для каждой VLAN?

Да, если устройства VLAN должны обращаться к удалённому DHCP-серверу. На сервере также нужен отдельный пул адресов для этой подсети.

Что такое DHCP Relay Agent?

DHCP Relay Agent — английское название ретранслятора DHCP. Эту функцию может выполнять маршрутизатор, L3-коммутатор или сервер.

Какие порты использует DHCP Relay?

DHCPv4 использует UDP-порты 67 и 68. Их нужно разрешить между relay и DHCP-сервером.

Валерия Шлегель
Валерия Шлегель
Автор
(Проголосовать за статью)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

X