DHCP Option 82 - это опция протокола DHCP, которая используется для информирования DHCP-сервера о том, от какого DHCP-ретранслятора и через какой его порт был получен запрос. Данная опция применяется для привязки IP-адреса к определенному порту коммутатора.
На коммутаторах SNR DHCP Option 82 может использоваться как с функционалом DHCP Snooping (ip dhcp snooping information option), так и с DHCP Relay (ip dhcp relay information option).
Info |
---|
|
Одновременно включать DHCP Snooping Information Option и DHCP Relay Information Option нельзя! |
Option 82 состоит из двух suboptions:
- Agent Circuit ID - содержит информацию о том, с какого порта пришел запрос на коммутатор;
- Agent Remote ID - идентификатор самого коммутатора.
DHCP Snooping Option 82
Рассмотрим настройку Option 82 для DHCP Snooping на коммутаторах SNR.
Agent Circuit ID
Standard
Сначала рассмотрим значение Agent Circuit ID. По умолчанию, на коммутаторах SNR Agent Circuit ID содержит информацию о VLAN + Interface name в формате ASCII:
Изменить значение по умолчанию можно в глобальном конфигурационном режиме с помощью команды:
Code Block |
---|
|
ip dhcp snooping information option subscriber-id format {ascii | hex | vs-hp | vs-huawei | vs-cisco} |
Info |
---|
|
Subscriber ID = Circuit ID |
Рассмотрим результат применения остальных значений. HEX:
где:
- 00 - номер сабопции;
- 06 - длина сабопции в байтах;
- 0d05 - VLAN ID;
- 01 - номер слота (значение всегда одно и то же);
- 00 - номер модуля (значение всегда одно и то же);
- 0002 - номер порта.
VS-HP:
где:
VS-Huawei:
Как мы видим, значение Ethernet1/0/2:3333.0 SNR-S2995G-24TX это имя порта + ':' + VLAN.0 + Hostname.
VS-Cisco:
где:
- 00 - номер сабопции;
- 04 - длина сабопции в байтах;
- 014d - VLAN ID;
- 0003 - номер порта
Self-defined
Кроме вышеперечисленных стандартных значений, Agent Circuit ID можно настроить более гибко с помощью параметра Self-defined. Agent Circuit ID настраивается через Self-defined также в глобальном режиме:
Code Block |
---|
|
ip dhcp snooping information option self-defined subscriber-id {id | port | vlan | string} |
где:
- port - имя порта, включая Ethernet;
- id remote-mac - MAC-адрес клиента в нижнем регистре;
- id switch-id maс - VLAN MAC-адрес коммутатора в нижнем регистре;
- switch-id - hostname, настраиваемое пользовательское значение в ASCII, по умолчанию - модель;
- vlan - VLAN ID, включая 'Vlan';
- string - настраиваемое пользовательское значение в ASCII.
Пример:
Code Block |
---|
|
port - Ethernet1/0/2
id remote-mac - 1c-75-08-f4-2d-3b
id switch-id maс - f8-f0-82-79-06-9f
switch-id - SNR-S2995G-24TX
vlan - Vlan3333
string - test |
Многие из этих значений можно комбинировать между собой, например:
Code Block |
---|
|
ip dhcp snooping information option self-defined subscriber-id port vlan id remote-mac |
По умолчанию формат Self-defined значений - ASCII, изменить формат можно с помощью команды:
Code Block |
---|
|
ip dhcp snooping information option self-defined subscriber-id format {ASCII | HEX} |
В случае изменения кодировки на HEX, значения 'port' и 'VLAN' будут закодированы следующим образом:
- vlan - VLAN ID;
- port - '01' - номер слота (значение всегда одно и то же) + '00' - номер модуля (значение всегда одно и то же) + номер порта.
Например, порт Ethernet1/0/2 будет закодирован как '01000002'
Info |
---|
|
Настраиваемые пользователем значения String/Hostname в Self-defined могут быть заданы только в ASCII-формате! |
Пользовательское значение String можно настроить также в режиме конфигурирования отдельного порта. Например, можно задать номер порта, а не его имя:
Code Block |
---|
|
ip dhcp snooping information option subscriber-id 1/0/2 |
Self-defined Agent Circuit ID на SNR S2962, S2965, S2982G и S2985G
Серии коммутаторов SNR S2962, S2965, S2982G и S2985G также поддерживают стандарные Self-defined варианты в режиме конфигурирования порта:
Code Block |
---|
|
ip dhcp snooping information option subscriber-id {%h | %v | %M | %m | %R | %r | %s | %p | %i} |
где:
- %h - hostname;
- %v - VLAN ID;
- %M - VLAN MAC-адрес коммутатора в верхнем регистре;
- %m - VLAN MAC-адрес коммутатора в нижнем регистре;
- %R - MAC-адрес клиента в верхнем регистре;
- %r - MAC-адрес клиента в нижнем регистре;
- %s - номер слота;
- %p - номер порта;
- %i - IP-адрес клиента.
Пример:
Code Block |
---|
|
%h - SNR-S2995G-24TX
%v - 3333
%M - F8-F0-82-79-06-9F
%m - f8-f0-82-79-06-9f
%R - 1C-75-08-F4-2D-3B
%r - 1c-75-08-f4-2d-3b
%s - значение всегда одно и то же - 1
%p - 5
%i - при DHCP Discover всегда 0.0.0.0 |
Данные параметры можно комбинировать между собой.
Code Block |
---|
|
ip dhcp snooping information option subscriber-id "%v%p" |
Info |
---|
|
Значение subscriber-id в данном контексте необходимо указывать в кавычках, например "%v%r". |
По умолчанию формат значений ASCII, изменить формат можно с помощью команды:
Code Block |
---|
|
ip dhcp snooping information option subscriber-id format {ASCII | HEX} |
Приоритет значений Agent Circuit ID
В случае, если Information Option Subscriber ID настроена и в режиме порта и глобально, приоритет отдается настройке в режиме порта. Если глобально настроена и Information Option Self-defined Subscriber ID и стандартная Information Option Subscriber ID, Self-defined будет приоритетнее. То есть порядок приоритета следующий:
- Information Option Subscriber ID в режиме конфигурирования порта;
- Information Option Self-defined Subscriber ID в глобальном режиме;
- Information Option Subscriber ID в глобальном режиме.
Agent Remote ID
Standard
Рассмотрим значение Agent Remote ID. По умолчанию, на коммутаторах SNR Agent Remote ID это VLAN MAC-адрес коммутатора:
Изменить значение по умолчанию можно в глобальном конфигурационном режиме с помощью команды:
Code Block |
---|
|
ip dhcp snooping information option remote-id format {'WORD' | vs-cisco | vs-huawei} |
Рассмотрим результат применения остальных значений. При выборе VS-Cisco перед VLAN MAC-адресом коммутатора добавляется два байта с номером сабопции и ее длиной:
где:
- 00 - номер сабопции;
- 06 - длина сабопции в байтах;
При выборе VS-Cisco значение будет записано в HEX-формате.
VS-Huawei:
При выборе VS-Huawei значение будет записано в HEX-формате, с разделителем между частями MAC-адреса.
Также можно задать собственное значение Remote ID:
Self-defined
Кроме вышеперечисленных стандартных значений, Agent Remote ID можно настроить более гибко с помощью параметра Self-defined. Agent Remote ID настраивается через Self-defined также в глобальном режиме:
Code Block |
---|
|
ip dhcp snooping information option self-defined remote-id {hostname | mac | string} |
где:
- mac - VLAN MAC-адрес коммутатора в нижнем регистре;
- hostname - настраиваемое пользовательское значение в ASCII, по умолчанию - модель;
- string - настраиваемое пользовательское значение в ASCII.
Пример:
Code Block |
---|
|
maс - f8-f0-82-79-06-9f
hostname - SNR-S2995G-24TX
string - test |
Данные значения можно комбинировать между собой, например:
Code Block |
---|
|
ip dhcp snooping information option self-defined remote-id port hostname mac string |
По умолчанию формат Self-defined значений ASCII, изменить формат можно с помощью команды:
Code Block |
---|
|
ip dhcp snooping information option self-defined subscriber-id format {ASCII | HEX} |
Info |
---|
|
Настраиваемые пользователем значения String/Hostname в Self-defined могут быть заданы только в ASCII-формате! |
Self-defined Agent Remote ID на SNR S2962, S2965, S2982G и S2985G
Серии коммутаторов SNR S2962, S2965, S2982G и S2985G также поддерживают стандарные Self-defined варианты в глобальном конфигурационном режиме:
Code Block |
---|
|
ip dhcp snooping information option self-defined remote-id {%h | %v | %M | %m | %R | %r | %s | %p | %i} |
где:
- %h - hostname;
- %v - VLAN ID;
- %M - VLAN MAC-адрес коммутатора в верхнем регистре;
- %m - VLAN MAC-адрес коммутатора в нижнем регистре;
- %R - MAC-адрес клиента в верхнем регистре;
- %r - MAC-адрес клиента в нижнем регистре;
- %s - номер слота;
- %p - номер порта;
- %i - IP-адрес клиента.
Пример:
Code Block |
---|
|
%h - SNR-S2985G-24TС
%v - 3333
%M - F8-F0-82-79-06-9F
%m - f8-f0-82-79-06-9f
%R - 1C-75-08-F4-2D-3B
%r - 1c-75-08-f4-2d-3b
%s - значение всегда одно и то же - 1
%p - 5
%i - при DHCP Discover всегда 0.0.0.0 |
Info |
---|
|
Значение remote-id в данном контексте необходимо указывать в кавычках, например "%v%r". |
Данные параметры можно комбинировать между собой. В случае, если необходимо добавить смещение, например 2 байта, можно добавить символ "-" (в совокупности со стандартным разделителем "/" смещение будет равно двум байтам):
Code Block |
---|
|
ip dhcp snooping information option self-defined remote-id "-%p" |
Приоритет значений Agent Remote ID
В случае если глобально настроена и Information Option Self-defined Remote ID и стандартная Information Option Remote ID, Self-defined будет приоритетнее. То есть порядок приоритета следующий:
- Information Option Self-defined Remote ID;
- Information Option Remote ID.
По умолчанию DHCP Snooping на коммутаторах SNR отбрасывает DHCP-сообщения Discover и Request с недоверенных портов, если они пришли с уже назначенной Option 82. Чаще всего это бывает на портах в сторону нижестоящих коммутаторов, на которых уже работает DHCP Snooping, поэтому мы рекомендуем эти порты переводить в Trust-режим. Если же по какой-либо причине сделать это не представляется возможным, необходимо воспользоваться командой в глобальном режиме, разрешающей прохождение DHCP-сообщений Discover и Request с уже назначенной Option 82.
Code Block |
---|
|
ip dhcp snooping information option allow-untrusted |
Если вы хотите заменять пришедшую снизу опцию 82 на реквизиты вышестоящего коммутатора, то настройка будет такой:
Code Block |
---|
|
ip dhcp snooping information option allow-untrusted replace |
В случае, если с доверенного порта приходит DHCP-сообщение Offer или Ack с Option 82, по умолчанию коммутатор её удалит при отправке в клиентский порт. Оставить опцию можно с помощью команды в глобальном режиме:
Code Block |
---|
|
ip dhcp snooping information option reply keep |
DHCP Relay Option 82
Рассмотрим настройку Option 82 для DHCP Relay на коммутаторах SNR.
Agent Circuit ID
Standard
Сначала рассмотрим значение Agent Circuit ID. По умолчанию, на коммутаторах SNR Agent Circuit ID содержит информацию о VLAN + Interface name в формате ASCII:
Изменить значение по умолчанию можно в глобальном конфигурационном режиме с помощью команды:
Code Block |
---|
|
ip dhcp relay information option subscriber-id format {ascii | hex | vs-hp | vs-cisco} |
Info |
---|
|
Subscriber ID = Circuit ID |
Рассмотрим результат применения остальных значений. HEX:
где:
- 00 - номер сабопции;
- 06 - длина сабопции в байтах;
- 0d05 - VLAN ID;
- 01 - номер слота (значение всегда одно и то же);
- 00 - номер модуля (значение всегда одно и то же);
- 0002 - номер порта.
VS-HP:
где:
VS-Cisco:
где:
- 00 - номер сабопции;
- 04 - длина сабопции в байтах;
- 014d - VLAN ID;
- 0003 - номер порта
Серии коммутаторов SNR S2962, S2965, S2982G и S2985G также поддерживают стандартные Agent Circuit ID варианты в режиме конфигурирования SVI-интерфейса с помощью команды:
Code Block |
---|
|
ip dhcp relay information option subscriber-id {%h | %v | %M | %m | %R | %r | %s | %p | %i} |
где:
- %h - hostname;
- %v - VLAN ID;
- %M - VLAN MAC-адрес коммутатора в верхнем регистре;
- %m - VLAN MAC-адрес коммутатора в нижнем регистре;
- %R - MAC-адрес клиента в верхнем регистре;
- %r - MAC-адрес клиента в нижнем регистре;
- %s - номер слота;
- %p - номер порта;
- %i - IP-адрес клиента.
Пример:
Code Block |
---|
|
%h - SNR-S2985G-24TС
%v - 3333
%M - F8-F0-82-79-06-9F
%m - f8-f0-82-79-06-9f
%R - 1C-75-08-F4-2D-3B
%r - 1c-75-08-f4-2d-3b
%s - значение всегда одно и то же - 1
%p - 5
%i - при DHCP Discover всегда 0.0.0.0 |
Self-defined
Кроме вышеперечисленных стандартных значений, Agent Circuit ID можно настроить более гибко с помощью параметра Self-defined. Agent Circuit ID настраивается через Self-defined также в глобальном режиме:
Code Block |
---|
|
ip dhcp relay information option self-defined subscriber-id {id | port | vlan | string} |
где:
- port - имя порта, включая Ethernet;
- id remote-mac - MAC-адрес клиента в нижнем регистре;
- id switch-id maс - VLAN MAC-адрес коммутатора в нижнем регистре;
- switch-id - hostname, настраиваемое пользовательское значение в ASCII, по умолчанию - модель;
- vlan - VLAN ID, включая 'Vlan';
- string - настраиваемое пользовательское значение в ASCII.
Пример:
Code Block |
---|
|
port - Ethernet1/0/2
id remote-mac - 1c-75-08-f4-2d-3b
id switch-id maс - f8-f0-82-79-06-9f
switch-id - SNR-S2995G-24TX
vlan - Vlan3333
string - test |
Многие из этих значений можно комбинировать между собой, например:
Code Block |
---|
|
ip dhcp relay option self-defined subscriber-id port vlan id remote-mac |
По умолчанию формат Self-defined значений - ASCII, изменить формат можно с помощью команды:
Code Block |
---|
|
ip dhcp relay information option self-defined subscriber-id format {ASCII | HEX} |
В случае изменения кодировки на HEX, значения 'port' и 'VLAN' будут закодированы следующим образом:
- vlan - VLAN ID;
- port - '01' - номер слота (значение всегда одно и то же) + '00' - номер модуля (значение всегда одно и то же) + номер порта.
Например, порт Ethernet1/0/2 будет закодирован как '01000002'
Info |
---|
|
Настраиваемые пользователем значения String/Hostname в Self-defined могут быть заданы только в ASCII-формате! |
Приоритет значений Agent Circuit ID
В случае, если глобально настроена и Information Option Self-defined Subscriber ID и стандартная Information Option Subscriber ID, Self-defined будет приоритетнее. То есть порядок приоритета следующий:
- Information Option Self-defined Subscriber ID;
- Information Option Subscriber ID.
Agent Remote ID
Standard
Рассмотрим значение Agent Remote ID. По умолчанию, на коммутаторах SNR Agent Remote ID это VLAN MAC-адрес коммутатора:
Изменить значение по умолчанию можно в глобальном конфигурационном режиме с помощью команды:
Code Block |
---|
|
ip dhcp relay information option remote-id format {default | vs-hp} |
При выборе VS-HP в качестве Remote ID используется IP-адрес интерфейса коммутатора, в котором прописан Helper-address (в данном случае 10.10.10.10):
Self-defined
Кроме вышеперечисленных стандартных значений, Agent Remote ID можно настроить более гибко с помощью параметра Self-defined. Agent Remote ID настраивается через Self-defined также в глобальном режиме:
Code Block |
---|
|
ip dhcp relay information option self-defined remote-id {hostname | mac | string} |
где:
- mac - VLAN MAC-адрес коммутатора в нижнем регистре;
- hostname - настраиваемое пользовательское значение в ASCII, по умолчанию - модель;
- string - настраиваемое пользовательское значение в ASCII.
Пример:
Code Block |
---|
|
maс - f8-f0-82-79-06-9f
hostname - SNR-S2995G-24TX
string - test |
Данные значения можно комбинировать между собой, например:
Code Block |
---|
|
ip dhcp snooping information option self-defined remote-id port hostname mac string |
По умолчанию формат Self-defined значений ASCII, изменить формат можно с помощью команды:
Code Block |
---|
|
ip dhcp snooping information option self-defined subscriber-id format {ASCII | HEX} |
Info |
---|
|
Настраиваемые пользователем значения String/Hostname в Self-defined могут быть заданы только в ASCII-формате! |
Приоритет значений Agent Remote ID
В случае если глобально настроена и Information Option Self-defined Remote ID и стандартная Information Option Remote ID, Self-defined будет приоритетнее. То есть порядок приоритета следующий:
- Information Option Self-defined Remote ID;
- Information Option Remote ID.
Разделитель (Delimiter) IP DHCP Option 82
При перечислении нескольких значений в разделе Self-defined, они будут разделены между с помощью косой черты (слеша) "/":
Изменить символ, либо убрать его совсем можно с помощью команды:
Code Block |
---|
|
ip dhcp {snooping | relay} information option delimiter <> |
Возможны следующие варианты:
- colon(':');
- dot('.');
- none;
- slash('/');
- space(' ').
Info |
---|
|
Возможность задать 'none' присутствует только на сериях SNR S2962, S2965, S2982G и S2985G. |