Page tree
Skip to end of metadata
Go to start of metadata


4.1. Общие сведения об опции 82

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

Сообщение DHCP может включать множество полей различных опций, опция 82 - одна из них. Она должна располагаться после других опций, но до опции 255.

Рисунок 42.1 - формат опции 82


Заголовок опции 82 может содержать несколько суб-опций. RFC3046 описывает 2 суб-опции Circuit-ID и Remote-ID.

4.2. Настройка добавления опции 82

  1. Включить добавление опции 82 DHCP relay;

  2. Включить добавление опции 82 DHCP snooping;

  3. Настроить атрибуты опции 82 DHCP relay на интерфейсе;

  4. Включить опцию 82 для DHCP сервера;

  5. Настроить формат опции 82 для DHCP Relay;

  6. Настроить разделитель;

  7. Настроить метод создания опции 82;

  8. Команды для диагностики опции 82;



  1. Включить добавление опции 82 DHCP relay:

Команда

Описание

ip dhcp relay information option

no ip dhcp relay information option

!  В режиме глобальной конфигурации

Включить опцию 82 для добавления DHCP relay

Выключить добавление опции 82 DHCP relay;


2. Включить добавление опции 82 DHCP snooping;

Команда

Описание

ip dhcp snooping information enable

no ip dhcp snooping information enable

!  В режиме глобальной конфигурации

Включить опцию 82 для добавления DHCP snooping

Выключить добавление опции 82 DHCP snooping;


3. Настроить атрибуты опции 82;

Команда

Описание

ip dhcp relay information policy {drop | keep | replace}


no ip dhcp relay information policy

!  В режиме конфигурирования интерфейса VLAN

Настроить режим политики при получении DHCP запроса, который уже содержит опцию 82: drop - запрос будет отброшен; keep - запрос будет передан без обработки; replace - поле опции 82 будет добавлено заново, после чего запросу будет передан серверу.

Восстановить значение по-умолчанию (replace)


ip dhcp snooping information option allow-untrusted [replace]

no ip dhcp snooping information option allow-untrusted

!  В режиме глобальной конфигурации

Разрешить передачу DHCP-запросов c добавленной опцией 82, полученные с недоверенных портов, replace - поле опции 82 будет добавлено заново, после чего запросу будет передан серверу.

Отбрасывать DHCP-запросы c добавленной опцией 82, полученные с недоверенных портов (по-умолчанию)

ip dhcp {snooping | relay} information option subscriber-id { standard | <circuit-id>}




no ip dhcp {snooping | relay} information option subscriber-id

!  В режиме конфигурирования интерфейса

Задать контекст <circuit-id> не длиннее 64 символов, передаваемый в качестве суб-опции Circuit-ID, добавляемой в DHCP-запросы, полученные с интерфейса. Возможно указать следующие ключи:

%h: hostname; %v: vlan-id; %M: local MAC в верхнем регистре; %m: local MAC, в нижнем регистре; %R: client MAC,в верхнем регистре; %r: client MAC , в нижнем регистре; %s: slotID; %p: portID; %i: client ip address

standard - стандартное имя VLAN и интерфейса (порта), например ”Vlan2+Ethernet1/0/12”.

Вернуть значение по-умолчанию (standard)

ip dhcp {snooping | relay} information option subscriber-id format {hex | acsii}

!  В режиме конфигурирования интерфейса

Задать формат опции 82, суб-опции Circuit-ID, добавляемой агентом DHCP-relay


4. Включить опцию 82 для DHCP сервера;

Команда

Описание

ip dhcp server relay information enable

no ip dhcp server relay information enable

!  В режиме глобальной конфигурации

Идентифицировать сервером коммутатора опцию 82.

Игнорировать сервером коммутатора опцию 82.


5. Настроить формат опции 82 для DHCP Relay;

Команда

Описание

ip dhcp {snooping | relay} information option subscriber-id format {hex | acsii | vs-hp}

!  В режиме глобальной конфигурации

Задать формат опции 82, суб-опции Circuit-ID

ip dhcp {snooping | relay} information option remote-id format {default | vs-hp}

!  В режиме глобальной конфигурации

Задать формат опции 82, суб-опции Remote-ID


6. Настроить разделитель;

Команда

Описание

ip dhcp {snooping | relay} information option delimiter [colon | dot | slash | space]

no ip dhcp {snooping | relay} information option delimiter

!  В режиме глобальной конфигурации

Задать разделитель каждого параметра суб-опций опции 82.

Восстановить значение по-умолчанию (slash)


7. Настроить метод создания опции 82;

Команда

Описание

ip dhcp {snooping|relay} information option self-defined remote-id {hostname | mac | string WORD}

no ip dhcp {snooping | relay} information option self-defined remote-id

!  В режиме глобальной конфигурации

Задать метод создания суб-опции Remote-ID опции 82


Восстановить значение по-умолчанию (mac)

ip dhcp {snooping | relay} information option self-defined remote-id format [ascii | hex]

!  В режиме глобальной конфигурации

Задать формат заданной пользователем суб-опции Remote-ID опции 82

ip dhcp {snooping | relay} information option self-defined subscriber-id {vlan | port | id (switch-id (mac | hostname)| remote-mac)| string WORD }

no ip dhcp {snooping | relay} information option self-defined subscriber-id

!  В режиме глобальной конфигурации

Задать метод создания суб-опции Circuit-ID опции 82


Восстановить значение по-умолчанию (vlan port)

ip dhcp {snooping | relay} information option self-defined subscriber-id format [ascii | hex]

!  В режиме глобальной конфигурации

Задать формат заданной пользователем суб-опции Circuit-ID опции 82


8. Команды для диагностики опции 82;

Команда

Описание

show ip dhcp relay information option

!  В привилегированном режиме

Отобразить информацию состоянии опции 82

debug ip dhcp {snooping | relay} packet

!  В привилегированном режиме

Отобразить информацию о пакетах, обработанных агентом DHCP relay или DHCP snooping.

4.3.Пример конфигурации опции 82

4.3.1. Пример конфигурации опции 82 для DHCP relay


Рисунок 42.2 - конфигурации опции 82 для DHCP relay


В приведенном на рисунке 42.2 примере коммутаторы уровня 2 Switch1 и Switch2 подключены к коммутатору 3-го уровня Switch3, который будет передавать сообщения от DHCP-клиента DHCP-серверу и обратно как агент DHCP relay. Если DHCP опция 82 отключена, DHCP-сервер не может распознать, к сети какого коммутатора, Switch1 или Switch2, подключен DHCP-клиент. В этом случае ПК, подключенные Switch1 и Switch2, получат адреса из общего пула DHCP-сервера. Если же DHCP опция 82 включена, Switch3 будет добавлять информацию о портах и VLAN в запрос от DHCP-клиента. Таким образом, DHCP-сервер сможет выделить адрес из двух разных подсетей, чтобы упростить управление.

Конфигурация коммутатора Switch3(MAC address is f8:f0:82:75:33:01):

Switch3(Config)#service dhcp
Switch3(Config)#ip dhcp relay information option
Switch3(Config)#ip forward-protocol udp bootps
Switch3(Config)#interface vlan 3
Switch3(Config-if-vlan3)#ip address 192.168.10.222 255.255.255.0
Switch3(Config-if-vlan2)#ip address 192.168.102.2 255.255.255.0
Switch3(Config-if-vlan2)#ip helper 192.168.10.88

Пример конфигурации ISC DHCP Server для Linux:


ddns-update-style interim

ignore client-updates;

class "Switch3Vlan2Class1" {

match if option agent.circuit-id = "Vlan2+Ethernet1/0/2" and option agent.remote-id=f8:f0:82:75:33:01;

}

class "Switch3Vlan2Class2" {

match if option agent.circuit-id = "Vlan2+Ethernet1/0/3" and option agent.remote-id=f8:f0:82:75:33:01;

}

subnet 192.168.102.0 netmask 255.255.255.0 {

option routers 192.168.102.2;

option subnet-mask 255.255.255.0;

option domain-name "example.com.cn";

option domain-name-servers 192.168.10.3;

authoritative;

pool {

range 192.168.102.21 192.168.102.50;

default-lease-time 86400; #24 Hours

max-lease-time 172800; #48 Hours

allow members of "Switch3Vlan2Class1";

}

pool {

range 192.168.102.51 192.168.102.80;

default-lease-time 43200; #12 Hours

max-lease-time 86400; #24 Hours

allow members of "Switch3Vlan2Class2";

}

}



После описанных выше настроек DHCP-сервер будет выделять адреса из диапазона 192.168.102.21 ~ 192.168.102.50 для устройств, подключенных к коммутатоу Switch2, и из диапазона 192.168.102.51192.168.102.80 для устройств, подключенных к коммутатоу Switch1.

4.3.2. Пример конфигурации опции 82 для DHCP snooping

Рисунок 42.3 - настройка опции 82 для DHCP snooping


Как показано на рисунке 42.3, коммутатор уровня 2 Switch1 c включенным DHCP-snooping передает DHCP-запросы серверу и ответы от DHCP-сервера клиенту. После того, как на коммутаторе будет включена функция добавления опции 82 для DHCP snooping, Switch1 будет добавлять информацию о коммутаторе, интерфейсе и VLAN клиента в сообщения запроса.

Конфигурация коммутатора Switch1(MAC address is f8:f0:82:75:33:01):

Switch1(config)#ip dhcp snooping enable
Switch1(config)#ip dhcp snooping binding enable
Switch1(config)#ip dhcp snooping information enable
Switch1(Config-If-Ethernet1/0/12)#ip dhcp snooping trust

Пример конфигурации ISC DHCP Server для Linux:


ddns-update-style interim;

ignore client-updates;

class "Switch1Vlan1Class1" {

match if option agent.circuit-id = "Vlan1+Ethernet1/0/3" and option agent.remote-id=f8:f0:82:75:33:01;

}

subnet 192.168.102.0 netmask 255.255.255.0 {

option routers 192.168.102.2;

option subnet-mask 255.255.255.0;

option domain-name "example.com.cn";

option domain-name-servers 192.168.10.3;

authoritative;

pool {

range 192.168.102.51 192.168.102.80;

default-lease-time 43200; #12 Hours

max-lease-time 86400; #24 Hours

allow members of "Switch1Vlan1Class1";

}

}


После описанных выше настроек DHCP-сервер будет выделять адреса из диапазона 192.168.102.51192.168.102.80 для устройств, подключенных к коммутатоу Switch1.

4.4. Решение проблем с конфигурацией опции 82

  • Убедитесь, что DHCP-relay и/или DHCP-snooping настроен правильно;

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

  • При поиске неисправностей подробная информация о процессе работы функции опции 82 DHCP-relay и DHCP-сервера может быть получена с помощью команд «debug ip dhcp relay packet» и «debug ip dhcp server packet».

  • No labels