Настройка DHCP Option 82 на базе DHCP Snooping

24.05.2021 22:06

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

При настройке DHCP Snooping порт, к которому подключен легитимный DHCP сервер, назначаются в качестве доверенного (trusted). Обычно это транзитные uplink порты коммутатора. Все прочие порты считаются недоверенными (обычно это клиентские Ethernet порты коммутатора).

При получении DHCP запросов от клиентского оборудования коммутатор отправляет их только в сторону доверенного порта. При этом коммутатор блокирует DHCP ответы от “нелегальных” DHCP серверов, подключенных к недовернным портам, препятствуя тем самым получению сетевых настроек от недоверенного DHCP сервера.

Помимо этого DHCP Snooping позволяет создавать записи о соответствии выданного IP-адреса, VLAN и Ethernet порта коммутатора. Такие записи называются DHCP Snooping Binding.

 

Рассмотрим настройку DHCP Snooping на примере коммутатора ISCOM2608G-2GE.

К Gigabit Ethernet порту G1/1/1подключается DHCP клиент. К uplink порту G1/1/9 подключен DHCP сервер, он назначается доверенным. Схема представлена на рисунке ниже.

 

Первоначально необходимо создать VLAN и настроить соответствующие порты коммутатора.

 

Raisecom(config)# create vlan 100 active

Set successfully

Raisecom(config)#

 

 

Также лучше сначала настроить транзитные uplink порты в доверенном режиме для функции DHCP Snooping

 

Raisecom(config)# interface gigaethernet 1/1/9

Raisecom(config-gigaethernet1/1/9)# ip dhcp snooping trust

Set successfully

Raisecom(config-gigaethernet1/1/9)# exit

Raisecom(config)#

 

 

 

 

Далее выполняется настройка uplink  порта (порта с подключенным легитимным DHCP сервером).

 

Raisecom(config)# interface gigaethernet 1/1/9

Raisecom(config-gigaethernet1/1/9)# switchport mode trunk

Set successfully

Raisecom(config-gigaethernet1/1/9)# switchport trunk native vlan 100

Set successfully

Raisecom(config-gigaethernet1/1/9)# exit

Raisecom(config)#

 

 

Настройка VLAN на клиентском порте в режиме VLAN Access :

 

Raisecom(config)# interface gigaethernet 1/1/1

Raisecom(config-gigaethernet1/1/1)# switchport mode access

Set successfully

Raisecom(config-gigaethernet1/1/1)# switchport access vlan 100 

Set successfully

Raisecom(config-gigaethernet1/1/1)# exit

Raisecom(config)#

 

 

 

Для активации DHCP Snooping на клиентском порте используется команда «ip dhcp snooping» :

 

Raisecom(config)# interface gigaethernet 1/1/1

Raisecom(configgigaethernet1/1/port)# ip dhcp snooping

 

 

 

При необходимости выполняется настройка максимального допустимого количества записей DHCP Snooping binding. Может быть от 1 до 512 разрешенных записей на одном порте Ethernet. Если число клиентов на порте превышает заданное значение, они не смогут получить IP-адрес.

 

Raisecom(config-gigaethernet1/1/1)# ip dhcp snooping binding max 1

Set successfully

Raisecom(config-gigaethernet1/1/1)# exit

 

 

 

После этого выполняется активация DHCP Snooping на коммутаторе.

 

Raisecom(config)# ip dhcp snooping

 

 

При необходимости, возможно настроить коммутатор так, чтобы конкретные порты не участвовали в DHCP Snooping. Для этого на таких портах отключается DHCP Snooping:

 

Raisecom(config)# interface gigaethernet 1/1/10

Raisecom(config-gigaethernet1/1/10)# no ip dhcp snooping

 

 

 

 

 

Для проверки конфигурации используется команда:

 

Raisecom(config)# show ip dhcp snooping

DHCP Snooping: Enabled

DHCP Option 82: Enabled

Port                             vlan            Enabled Status  Trusted Status  Option82 Vlanlist

-------------------------------------------------------------------------------------------------

gigaethernet1/1/1                --              enabled         no              1-4094

gigaethernet1/1/2                --              enabled         no              1-4094

gigaethernet1/1/3                --              enabled         no              1-4094

gigaethernet1/1/4                --              enabled         no              1-4094

gigaethernet1/1/5                --              enabled         no              1-4094

gigaethernet1/1/6                --              enabled         no              1-4094

gigaethernet1/1/7                --              enabled         no              1-4094

gigaethernet1/1/8                --              enabled         no              1-4094

gigaethernet1/1/9                --              enabled         yes             1-4094

gigaethernet1/1/10               --              disabled        no              1-4094

 

Для просмотра таблицы привязки используется команда:

 

Raisecom(config)# show ip dhcp snooping binding

Current Binding: 1

History Max Binding: 1

IP Address        MAC Address           Lease(sec)     Type           VLAN     Port

-------------------------------------------------------------------------------------------------

192.168.100.28    00A1.AB33.0020        595            dhcp-snooping  100      gigaethernet1/1/1

Raisecom(config)#

 

 

Параллельно с DHCP Snooping на коммутаторах часто настраивают поддержку DHCP Option 82.

Опция 82 используется для того, чтобы передать дополнительную информацию о DHCP клиенте на DHCP сервер. Например, можно передать информацию о номере порта коммутатора, к которому подключен клиент, и \ или информацию о MAC адресе клиента и др.  

 

DHCP Option 82 может применяться для идентификации абонента на сервере провайдера и \ или привязки IP-адреса к клиентскому порту коммутатора. (В этом случае необходимо настроить также DHCP сервер для выдачи IP адреса из нужного диапазона на основе информации о клиентском VLAN и \ или номере порта и \ или MAC адресе. Например, если IP-телефоны имеют только MAC адреса 00:22:33:XX:XX:XX в VLAN 111, то для таких клиентов выдается IP адрес 172.16.1.X, и для клиентов с другими MAC адресами в VLAN 888 выдается IP адрес 192.168.1.X ).

 

Поле Option 82 в DHCP пакете имеет две стандартные области:

 

  • Circuit ID - идентификатор подключенного к коммутатору клиентского устройства \ номера клиентского Ethernet порта. Он может быть использован для назначения параметров, уникальных для конкретного пользователя.
  • Remote ID - идентификатор коммутатора, который может быть использован для назначения сервером сетевых настроек.

 

Для активации добавления информации Option 82 в DHCP пакеты, передаваемые коммутатором, используется команда:

 

Raisecom(config)# ip dhcp snooping information option

Set successfully

Raisecom(config)#

 

Для настройки Circuit ID могут использоваться переменные, добавленные в пакеты с DHCP запросами от конкретного клиента :

 

Raisecom(config)# ip dhcp information option circuit-id format

  >STRING  %h-hostname %s-slot %v-svlan %c-cvlan %p-port %m-Local mac

           %r-remote mac %i=ip address %u-unit %d-port description

           %bd-bussiness description

 

Добавляем к DHCP запросу данные о коммутаторе, например hostname :

 

Raisecom(config)# ip dhcp information option circuit-id format %h

Set successfully

Raisecom(config)#

 

 

Включаем данные о порте, к которому подключен клиент, и его VLAN в Remote ID :

 

Raisecom(config)# ip dhcp information option remote-id string

  >STRING  String of user define(%h-hostname %s-slot %v-svlan %c-cvlan

           %p-port %m-Local mac %r-remote mac %i=ip address %u-unit %d-port

           description %bd-bussiness description)

Raisecom(config)# ip dhcp information option remote-id string %p_%v

Set successfully

Raisecom(config)#

 

При необходимости DHCP Option82 может настраиваться для каждого порта в отдельности.

 

Для проверки конфигурации используется команда:

 

Raisecom(config)# show ip dhcp information option

DHCP Option Config Information

  Circuit-ID:   %h

  Remote-ID Mode:  string

  Remote-ID String:  %p_%v

ipv4Global

ipv4Port

gigaethernet1/1/1:

gigaethernet1/1/2:

gigaethernet1/1/3:

gigaethernet1/1/4:

gigaethernet1/1/5:

gigaethernet1/1/6:

gigaethernet1/1/7:

gigaethernet1/1/8:

gigaethernet1/1/9:

gigaethernet1/1/10:

Raisecom(config)#

 

На DHCP сервере видим:

 

В статье была показана базовая настройка DHCP Option 82 с DHCP Snooping.