DHCP Relay Agent применяется для предоставления DHCP-серверу дополнительных данных о полученном DHCP-запросе. К таким данным можно отнести информацию об устройстве, на котором запущен DHCP Relay Agent, а также информацию oб ONT, с которого получен DHCP-запрос. Модификация DHCP-пакетов производится путем перехвата и последующей обработки на CPU устройства.
Идентификация ONT на DHCP-сервере производится путем анализа содержимого DHCP option 82.
Опция 82 DHCP (DHCP option 82) — опция протокола DHCP, использующаяся для того чтобы проинформировать DHCP-сервер о том, от какого DHCP-ретранслятора и через какой его порт был получен запрос.
Опция 82 состоит из двух подопций:
- Agent Circuit ID — содержит информацию о том, с какого порта пришел запрос на DHCP-ретранслятор.
- Agent Remote ID — идентификатор самого DHCP-ретранслятора.
Более подробную информацию о опции 82 можно прочитать в рекомендации RFC-3046
DHCP Relay Agent позволяет как прозрачно передать эту опцию с ONT, так и сформировать или перезаписать ее по заданному формату. Использование DHCP option 82 особенно актуально, когда в сети нет выделенных VLAN для каждого пользователя.
DHCP Relay Agent поддерживает настраиваемый формат как подопции Circuit ID, так и Remote ID.
1. Настройка профиля DHCP Relay Agent
Перейдите в режим редактирования нужного профиля dhcp-ra:
Без форматирования |
---|
LTP-8X(config)# profile dhcp-ra dhcp-ra-01 |
...
Включите обработку DHCP трафика:
Без форматирования |
---|
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# |
...
enable |
При необходимости включите вставку/перезапись DHCP option 82:
Без форматирования |
---|
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# overwrite-option82 |
При необходимости
...
задайте формат DHCP option 82 командами overwrite- option82 circuit-id и overwrite-option82 remote-id:
Без форматирования |
---|
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# overwrite-option82 circuit-id " |
...
%HOSTNAME%%MAC%%OPT82_CID%" |
...
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# overwrite-option82 remote-id "%OPT82_RID%" |
Список Список лексем, которые можно использоватьдоступных для использования:
%HOSTNAME% - LTP hostname;
%MNGIP% - IP address of management interface;
%GPON-PORT% - interface gpon-port ID;
%ONTID% - admin assigned ID of ONT device;
%PONSERIAL% - serial number of ONT device;
%GEMID% - GEM port ID;
%VLAN0% - outer VLAN ID;
%VLAN1% - inner VLAN ID;
%MAC% - MAC address of user device;
%OPT60% - string extracted from DHCP option60 in incomming packet.
%OPT82_CID% - DHCP option82 Circuit ID string extracted from incomming packet.
%OPT82_RID% - DHCP option82 Remote ID string extracted from incomming packet
%DESCR% - first 20 symbols of description from ONT configuration.
Лексема | Описание |
---|---|
%HOSTNAME% | Сетевое имя терминала |
%MNGIP% | IP-адрес терминала |
%GPON-PORT% | Номер канала OLT, с которого пришёл DHCP request |
%ONTID% | Идентификатор ONT, отправившего DHCP request |
%PONSERIAL% | Серийный номер ONT, отправившего DHCP request |
%GEMID% | Номер GEM-порта, в котором пришёл DHCP request |
%VLAN0% | Внешний VID |
%VLAN1% | Внутренний VID |
%MAC% | MAC-адрес ONT, с которого пришёл запрос |
%OLTMAC% | MAC-адрес OLT |
%OPT60% | DHCP option 60, пришедшая от ONT |
%OPT82_CID% | Circuit ID, пришедшая от ONT |
%OPT82_RID% | Remote ID, пришедшая от ONT |
%DESCR% | Первые 20 символов описания ONT |
При необходимости задействуйте защиту от DoS атак командой dos-block.
Укажите порог интенсивности DHCP-запросов в секунду, после которого следует блокировка командой dos-block packet-limit.
Без форматирования |
---|
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# dos-block |
...
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# dos-block packet-limit 200 |
...
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# dos-block block-time 300 |
Настройте При необходимости настройте список доверенных (trusted) DHCP-серверов командами trusted primary и trusted secondary.
Задайте таймаут ответа DHCP-серверов командой trusted timeout. Активируйте механизм фильтрации командой trusted. Примените изменения командой commit.
Без форматирования |
---|
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# trusted primary 10.0.0.1 |
...
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# trusted secondary 10.0.0.2 |
...
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# trusted timeout 100 |
...
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# trusted |
...
LTP-8X(config-dhcp-ra)("dhcp-ra-01")# do |
...
commit |
Далее сформированный профиль необходимо назначить на OLT-чипы.
Без форматирования |
---|
LTP-8X# configure terminal
LTP-8X(config)# gpon olt profile dhcp-ra dhcp-ra-01
LTP-8X(config)# do commit
LTP-8X(config)# do save |
Есть возможность назначения профиля dhcp-ra на отдельный vlan. В этом случае все правила профиля будут работать только для указанного vlan.
Без форматирования |
---|
LTP-8X# configure terminal
LTP-8X(config)# gpon olt profile dhcpra dhcp-ra-01 vid 100
LTP-8X(config)# do commit
LTP-8X(config)# do save |
Предупреждение |
---|
Назначение профиля dhcp-ra на OLT-чип и дальнейшее применение конфигурации (commit) вызовет реконфигурацию OLT чипов и всех подключенных ONU, что приведет к перерыву в предоставлении услуг на несколько минут. |
Для просмотра конфигурации GPON OLT, просмотра назначенных профилей, в том числе профиля dhcp-ra, используйте команду:
Блок кода |
---|
LTP-8X# show gpon olt configuration |
2. Настройка broadcast-unicast relay
В целях уменьшения широковещательного трафика и во избежание ответов от нежелательных DHCP-серверов возможно формирование unicast-обмена через DHCP Relay Agent.
...
В данном примере настраивается перенаправление dhcp-запросов ONT из сервисного vlan (2000) в management vlan (1209).
Перейдите в режим конфигурирования switch, затем в раздел редактирования сервисного VLAN:
Без форматирования |
---|
LTP-8X(switch)(config |
...
)# vlan 2000 |
Создайте L3-интерфейс, задав IP-адрес для VLAN, которая используется для cross-connect type management (актуально только для single-tag сервиса). Здесь можно прописать ip адрес из той подсети, которую планируете использовать для распределения адресов между ONT. Данная подсеть с нужным диапазоном ip адресов должна быть настроена на вышестоящем dhcp сервере.
Без форматирования |
---|
LTP-8X(switch)(config-vlan)# |
...
ip address 10.10.10.1/32 |
Включите relay в vlan 2000:
Без форматирования |
---|
LTP-8X(switch)(config-vlan)# |
...
ip dhcp relaying
LTP-8X(switch)(config-vlan)# exit |
Перейдите в режим редактирования 1209.
Без форматирования |
---|
LTP-8X(switch)(config)# vlan 1209 |
Создайте L3-интерфейс, задав IP-адрес для VLAN, которая используется для коммутации с сетью, в которой расположен DHCP-сервер.
Без форматирования |
---|
LTP-8X(switch)(config-vlan)# ip |
...
address 192.168.209. |
...
240/24
LTP-8X(switch)(config-vlan)# exit |
Укажите адрес DHCP-сервера.
Без форматирования |
---|
LTP-8X(switch)(config)# ip dhcp relay 192.168.209.5 |
Если адрес DHCP-сервера находится за маршрутизатором, доступным за указанным L3-интерфейсом, настройте статический маршрут:
Без форматирования |
---|
LTP-8X(switch)(config)# ip dhcp relay 192.168.56.1 |
...
LTP-8X(switch)(config)# commit |
...
LTP-8X(switch)(config)# exit |
...
LTP-8X# configure terminal |
...
LTP-8X(config)# ip route prefix 192.168.56.0 mask 24 gateway 192.168.209.5 |
...
LTP-8X(config)# do commit |