Skip to content

Настройка DHCP-ретрансляции

Функция DHCP-ретрансляции (DHCP relay) позволяет коммутатору пересылать широковещательные DHCP-запросы от клиентов из локального сегмента к удаленному DHCP-серверу, расположенному в другой сети/подсети.

Ретрансляция используется, когда:

  • в клиентском VLAN нет локального DHCP-сервера;
  • один централизованный DHCP-сервер обслуживает несколько удаленных подсетей;
  • на границе сети выполняется маршрутизация, а широковещательные DHCP-пакеты не проходят через маршрутизатор.

Коммутатор, выступающий в роли DHCP-ретранслятора:

  • принимает DHCP-запросы от клиентов (DISCOVER, REQUEST и др.) на интерфейсе VLAN;
  • изменяет и дополняет служебные поля (включая giaddr);
  • пересылает запрос в виде unicast-пакета на указанный IP-адрес DHCP-сервера;
  • принимает ответы сервера и доставляет их клиентам в исходный VLAN.

Необходимые условия и предварительные требования

Перед настройкой DHCP-ретрансляции необходимо:

  • определить клиентские VLAN/подсети, в которых не запускается локальный DHCP-сервер, но требуется автоматическая выдача адресов;
  • обеспечить маршрутизацию между коммутатором (интерфейсом VLAN) и DHCP-сервером:

    • наличие IP-связности (маршруты, шлюзы по умолчанию);
    • отсутствие блокирующих ACL/фильтров для трафика DHCP (UDP 67/68);
    • удостовериться, что на интерфейсе, где будет включена ретрансляция:

    • не выполняются функции DHCP-сервера (на данном устройстве) для этой же подсети;

    • интерфейс VLAN поднят и соответствует клиентскому VLAN;
    • на DHCP-сервере настроить пул адресов и параметры (маска, шлюз, DNS и т.п.) для сети, соответствующей адресу интерфейса коммутатора.

Основная информация о применяемых технологиях

DHCP relay (IPv4)

DHCP relay - это механизм, при котором маршрутизатор/коммутатор:

  1. Принимает широковещательный DHCP-запрос в клиентской сети (например, от адреса 0.0.0.0 к 255.255.255.255).
  2. Заполняет поле giaddr (gateway IP address) адресом интерфейса, с которого был принят запрос или другим настроенным адресом.
  3. Пересылает запрос в виде unicast-пакета на указанный IP-адрес DHCP-сервера.
  4. Получает от сервера ответ (OFFER/ACK) и отправляет его обратно в клиентский VLAN, изменяя адрес назначения и, при необходимости, широковещательно доставляя ответ клиенту.

Таким образом, DHCP-сервер может обслуживать удаленные подсети, логически опираясь на значение giaddr при выборе пула адресов.

На интерфейсах VLAN коммутатора настраивается список IP-адресов DHCP-серверов, к которым следует ретранслировать запросы.

Назначение применяемых команд

Настройка DHCP-ретрансляции выполняется в режиме интерфейса VLAN.

Включение режима DHCP Relay

ip dhcp relay - включает режим DHCP-ретрансляции на VLAN-интерфейсе.

Команда применяется в режиме config-vlanif-<ID> и активирует обработку DHCP-пакетов как ретранслятор на данном VLAN.

Пример:

SW2(config-vlanif-1)# ip dhcp relay

Указание DHCP-серверов

dhcp relay server-ip A.B.C.D - добавляет DHCP-сервер, на который пересылаются DHCP-запросы клиентов данного VLAN.

Параметры:

  • A.B.C.D - IP-адрес DHCP-сервера.

Команда выполняется несколько раз для добавления нескольких серверов.

Пример:

SW2(config-vlanif-1)# dhcp relay server-ip 10.10.10.5
SW2(config-vlanif-1)# dhcp relay server-ip 10.10.10.6

Пример конфигурирования

Исходное состояние

  • Клиенты подключены к VLAN 1 и должны получать IP-адреса по DHCP.
  • DHCP-серверы находятся вне клиентского VLAN и доступны по IP:

    • 10.10.10.5 - основной DHCP-сервер;
    • 10.10.10.6 - резервный DHCP-сервер.
    • На коммутаторе создан VLAN-интерфейс vlan 1 .

dhcp_relay_vlan1_scheme.png

Задача

  • Включить DHCP-ретрансляцию на VLAN 1.
  • Настроить пересылку DHCP-запросов на два DHCP-сервера.
  • Option 82 не использовать.

Пример конфигурации (CLI)

SW2# configure
SW2(config)# interface vlan 1
SW2(config-vlanif-1)# ip dhcp relay
SW2(config-vlanif-1)# dhcp relay server-ip 10.10.10.5
SW2(config-vlanif-1)# dhcp relay server-ip 10.10.10.6
SW2(config-vlanif-1)# end
SW2# write file

Полный вывод выполненных конфигураций

Пример фрагмента конфигурации, относящийся к DHCP-ретрансляции на VLAN 1:

SW2#show running-config
!
interface vlan 1
 ip dhcp relay
 dhcp relay server-ip 10.10.10.5
 dhcp relay server-ip 10.10.10.6
!

Изучение состояния устройства

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

Просмотр конфигурации

Конфигурации в глобальном режиме

Команда show dhcp relay отображает активную конфигурацию DHCP-ретрансляции на устройстве:

SW2#show dhcp relay 
DHCP relay Configure!
 vlan1
  dhcp relay mode: enable
  dhcp relay server-ip: 10.10.10.5,10.10.10.6
  dhcp option82: disable
  dhcp option82 action: keep
SW2#

Обратите внимание:

  • dhcp relay mode: enable - ретрансляция включена на vlan1;
  • dhcp relay server-ip - список DHCP-серверов, на которые выполняется пересылка запросов;
  • dhcp option82 - состояние Option 82;
  • dhcp option82 action: keep - политика обработки Option 82 при ее наличии в исходном пакете.

Просмотр статистики DHCP Relay

Команда show dhcp relay statistic отображает счетчики обработки DHCP-пакетов, проходящих через ретранслятор:

SW2#show dhcp relay statistic 
Packets In From Clients : 124
Discover In : 58
Request In : 54
Inform In : 2
Decline In : 1
Release In : 9
Packets In From Server : 118
Offer In : 58
ACK In : 54
NAK In : 6
Packets Out To Server : 122
Packets Out To Client : 118
Unicast Out To Client : 54
Broadcast Out To Client : 64
Bad Packets In : 0
BootReply Packets Error Out : 0
BootRequest Packets Error Out : 0
BootReply Packets Drop : 0
BootRequest Packets Drop : 0

Описание ключевых счетчиков:

  • Packets In From Clients - общее количество DHCP-пакетов, полученных от клиентов на VLAN-интерфейсе с включенной ретрансляцией.
  • Discover In - количество DHCPDISCOVER, инициирующих получение нового адреса.
  • Request In - количество DHCPREQUEST, подтверждающих выбор адреса или выполняющих продление аренды.
  • Inform In - количество DHCPINFORM (клиент запрашивает опции без получения нового адреса).
  • Decline In - количество DHCPDECLINE (клиент отказался от предложенного адреса, например при конфликте).
  • Release In - количество DHCPRELEASE (клиент освобождает арендованный адрес).
  • Packets Out To Server - количество пакетов, которые коммутатор переслал на настроенные DHCP-серверы (dhcp relay server-ip ...). Рост данного счетчика подтверждает, что ретранслятор отправляет запросы в сторону серверов.
  • Packets In From Server - общее количество DHCP-ответов, полученных от DHCP-серверов.
  • Offer In - количество DHCPOFFER (предложение адреса).
  • ACK In - количество DHCPACK (подтверждение выдачи/продления аренды).
  • NAK In - количество DHCPNAK (отказ в выдаче/продлении, например при некорректной сети, истекшем lease или несоответствии состояния клиента).
  • Packets Out To Client - количество пакетов, отправленных коммутатором обратно клиентам в VLAN.
  • Unicast Out To Client - количество ответов, доставленных клиенту unicast (обычно DHCPACK после получения клиентом параметров).
  • Broadcast Out To Client - количество ответов, доставленных широковещательно (часто используется для OFFER/ACK в зависимости от флагов клиента и реализации).
  • Bad Packets In - количество некорректных входящих пакетов DHCP.
  • BootReply/BootRequest … Error Out / Drop - ошибки отправки или сброса DHCP/BOOTP-пакетов на стороне ретранслятора.

По данному примеру видно, что ретрансляция работает корректно: пакеты приходят от клиентов (Packets In From Clients), пересылаются на сервер (Packets Out To Server), принимаются ответы (Packets In From Server) и доставляются клиентам (Packets Out To Client).

Рекомендации выполнения команд/настроек

Рекомендуется:

  • указывать два DHCP-сервера (основной и резервный) для обеспечения отказоустойчивости;
  • проверять IP-доступность DHCP-серверов и отсутствие фильтрации UDP 67/68;
  • контролировать работу ретрансляции через статистику show dhcp relay statistic:

    • если растут входящие от клиентов, но не растет Packets Out To Server - проблема локальной обработки/конфигурации ретрансляции;
    • если растет Packets Out To Server, но не растет Packets In From Server - проблема доступности серверов или работы DHCP-сервера;

История возникновения команды

Команды и конфигурации, приведенные в данной главе, применимы для:

  • аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2;
  • являются актуальными начиная с версии ПО v1.0.2.

Ссылка на внешнюю документацию

  • RFC 2131 - Dynamic Host Configuration Protocol (DHCP) - базовая спецификация DHCP.
  • RFC 1542 - Clarifications and Extensions for the Bootstrap Protocol (BOOTP) - описание поведения ретранслятора и использования giaddr.
  • RFC 3046 - DHCP Relay Agent Information Option (Option 82) - спецификация Option 82 и назначение ее полей.