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


6.1 Общая информация о опциях 37 и 38 DHCPv6

DHCPv6 (протокол динамический конфигурации хоста для IPv6) предназначен для адресной схемы IPv6 и используется для назначения префиксов IPv6, IPv6 адресов и других конфигурационных параметров.

Если DHCPv6 клиент хочет запросить параметры конфигурации у DHCPv6-сервера, который находится в другом сегменте сети, ему необходимо использовать DHCPv6-relay. Сообщение DHCPv6, полученное агентом DHCPv6-Relay, инкапсулируется в “relay-forward” пакет, который затем направляется серверу. DHCPv6-сервер отвечает агенту DHCPv6-relay сообщением “relay-reply”, из которого DHCPv6-relay восстанавливает DHCPv6-сообщение и пересылает клиенту.

При использовании DHCPv-relay возникает ряд проблем, например: как избежать нелегального присвоения адресов или как назначить конкретный IPv6-адрес конкретному пользователю. Эти задачи решаются добавлением к сообщениям DHCPv6 опций 37 и 38, описанных в RFC4649 и RFC4580.

Функционал опций 37 и 38 DHCPv6 подобен функционалу опции 82 DHCP для IPv4. DHCPv6 relay добавляет к заголовку опции 37 и 38 к запросам клиента и убирает их из ответных от сервера пакетов. Таким образом, применение опций 37 и 38 прозрачно для DHCPv6-клиента.

По содержанию опций 37 и 38 DHCPv6-сервер может аутентифицировать клиента и relay, назначать и управлять адресами. Так как RFC4649 и RFC4580 и не определяют, как должны быть использованы опции, пользователь может использовать их по своему усмотрению.

6.2. Конфигурирование опций 37 и 38 DHCPv6

  1. Настройка базовых функций опций DHCPv6 snooping;

  2. Настройка базовых функций опций DHCPv6 relay;

  3. Настройка базовых функций опций DHCPv6 server.


  1. Настройка базовых функций опций DHCPv6 snooping:

Команда

Описание

ipv6 dhcp snooping remote-id option

no ipv6 dhcp snooping remote-id option

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

Включить поддержку опции 37 в DHCPv6-snooping

Выключить поддержку опции 37 в DHCPv6-snooping

ipv6 dhcp snooping subscriber-id option

no ipv6 dhcp snooping subscriber-id option

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

Включить поддержку опции 38 в DHCPv6-snooping

Выключить поддержку опции 38 в DHCPv6-snooping

ipv6 dhcp snooping remote-id policy {drop | keep | replace}

no ipv6 dhcp snooping remote-id policy

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

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

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

ipv6 dhcp snooping subscriber-id policy {drop | keep | replace}

no ipv6 dhcp snooping subscriber-id policy

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

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

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


2. Настройка базовых функций опций DHCPv6 relay:

Команда

Описание

ipv6 dhcp relay remote-id option

no ipv6 dhcp relay remote-id option

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

Включить поддержку опции 37 в DHCPv6-relay

Выключить поддержку опции 37 в DHCPv6-relay

ipv6 dhcp relay subscriber-id option

no ipv6 dhcp relay subscriber-id option

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

Включить поддержку опции 38 в DHCPv6-relay

Выключить поддержку опции 38 в DHCPv6-relay

ipv6 dhcp relay subscriber-id select pv delimiter WORD (delimiter WORD |)

no ipv6 dhcp relay subscriber-id select delimiter

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

Выбрать разделитель между наименованием порта и vlan для опции 38. Доступны символы #|.|,|;|:|/|+|пробел.

Восстановить значения по-умолчанию - без разделителя.


ipv6 dhcp relay remote-id <remote-id>

no ipv6 dhcp relay remote-id

!  В режиме конфигурации Interface Vlan

Задать содержание опции 37 строкой <remote-id>, не более 128 символов

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

ipv6 dhcp relay subscriber-id <subscriber-id>

no ipv6 dhcp relay subscriber-id

!  В режиме конфигурации Interface Vlan

Задать содержание опции 38 строкой <subscrider-id>, не более 128 символов

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


3. Настройка базовых функций опций DHCPv6 server:

Команда

Описание

ipv6 dhcp server remote-id option

no ipv6 dhcp server remote-id option

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

Включить поддержку опции 37 для DHCPv6-сервера

Выключить поддержку опции 37 для DHCPv6-сервера

ipv6 dhcp server subscriber-id option

no ipv6 dhcp server subscriber-id option

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

Включить поддержку опции 38 для DHCPv6-сервера

Выключить поддержку опции 38 для DHCPv6-сервера

ipv6 dhcp use class

no ipv6 dhcp use class

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

Включить поддержку классов для DHCPv6 адресов

Выключить поддержку классов для DHCPv6 адресов (команда не удаляет настройки классов)

ipv6 dhcp class <class-name>

no ipv6 dhcp class <class-name>

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

Создать dhcpv6 класс <class-name> и войти в режим его конфигурирования

Удалить dhcpv6 класс <class-name>

ipv6 dhcp server select relay-forward

no ipv6 dhcp server select relay-forward

!  В режиме конфигурации Interface Vlan

Выбрать для чтения опции 37 и 38 из верхнего уровня, при наличии нескольких опций

Вернуть значения по-умолчанию - читать опцию из оригинального пакета клиента

{remote-id [*] <remote-id> [*] | subscriber-id [*] <subscriber-id> [*]}

no {remote-id [*] <remote-id> [*] | subscriber-id [*] <subscriber-id> [*]}

!  В режиме конфигурирования IPv6 DHCP класса

Настроить опции 37 и 38, соответствующие данному классу

class <class-name>

no class <class-name>

!  В режиме конфигурирования адресного пула DHCPv6

Задать соответствие класса <class-name> текущему адресному пулу DHCPv6

Удалить соответствие класса <class-name> текущему адресному пулу DHCPv6

address range <start-ip> <end-ip>

no address range <start-ip> <end-ip>

!  В режиме конфигурирования адресного пула DHCPv6

Задать диапазон адресов для текущего адресного пула

Удалить диапазон адресов для текущего адресного пула

6.3. Примеры настройки опций 37 и 38 DHCPv6

6.3.1. Пример настройки опций 37 и 38 для DHCPv6 snooping и сервера


Рисунок 44.1 - Пример настройки опций 37 и 38 для DHCPv6 snooping и сервера


Как показано на рисунке 44.1, ПК1, ПК2 и ПК3 подключены к недоверенным портам 1/0/2, 1/0/3 и 1/0/4, и с помощью DHCPv6 получают IP-адреса 2010:2, 2010:3 и 2010:4 соответственно. DHCPv6-сервер подключен к доверенному порту 1/0/1. Настроены следующие политики выделения адресов (классы): CLASS1 соответствует опции 38, CLASS2 соответствует опции 37, а CLASS3 - опциям 37 и 38. В пуле адресов TestPool1 классам CLASS1, CLASS2 и CLASS3 будут назначены адреса 2001:da8:100:1::2 - 2001:da8:100:1::30, 2001:da8:100:1::31 - 2001:da8:100:1::60 и 2001:da8:100:1::61 - 2001:da8:100:1::100 соответственно. На коммутаторе Switch А включена функция DHCPv6-snooping и настроены опции 37 и 38.

Конфигурация коммутатора Switch A:

SwitchA(config)#ipv6 dhcp snooping remote-id option
SwitchA(config)#ipv6 dhcp snooping subscriber-id option
SwitchA(config)#int e 1/0/1
SwitchA(config-if-ethernet1/0/1)#ipv6 dhcp snooping trust
SwitchA(config-if-ethernet1/0/1)#exit
SwitchA(config)#interface vlan 1
SwitchA(config-if-vlan1)#ipv6 address 2001:da8:100:1::1
SwitchA(config-if-vlan1)#exit
SwitchA(config)#interface ethernet 1/0/1-4
SwitchA(config-if-port-range)#switchport access vlan 1
SwitchA(config-if-port-range)#exit
SwitchA(config)#


Конфигурация коммутатора Switch B:

SwitchB(config)#service dhcpv6
SwitchB(config)#ipv6 dhcp server remote-id option
SwitchB(config)#ipv6 dhcp server subscriber-id option
SwitchB(config)#ipv6 dhcp pool TestPool1
SwitchB(dhcpv6-eastdormpool-config)#network-address 2001:da8:100:1::2 2001:da8:100:1::1000
SwitchB(dhcpv6-eastdormpool-config)#dns-server 2001::1
SwitchB(dhcpv6-eastdormpool-config)#domain-name dhcpv6.com
SwitchB(dhcpv6-eastdormpool-config)# excluded-address 2001:da8:100:1::2
SwitchB(dhcpv6-eastdormpool-config)#exit
SwitchB(config)#
SwitchB(config)#ipv6 dhcp class CLASS1
SwitchB(dhcpv6-class-class1-config)#remote-id 00-03-0f-00-00-01 subscriber-id vlan1+Ethernet1/0/1
SwitchB(dhcpv6-class-class1-config)#exit
SwitchB(config)#ipv6 dhcp class CLASS2
SwitchB(dhcpv6-class-class2-config)#remote-id 00-03-0f-00-00-01 subscriber-id vlan1+Ethernet1/0/2
SwitchB(dhcpv6-class-class2-config)#exit
SwitchB(config)#ipv6 dhcp class CLASS3
SwitchB(dhcpv6-class-class3-config)#remote-id 00-03-0f-00-00-01 subscriber-id vlan1+Ethernet1/0/3
SwitchB(dhcpv6-class-class3-config)#exit
SwitchB(config)#ipv6 dhcp pool TestPool1
SwitchB(dhcpv6-eastdormpool-config)#class CLASS1
SwitchB(dhcpv6-pool-eastdormpool-class-class1-config)#address range 2001:da8:100:1::3 2001:da8:100:1::30
SwitchB(dhcpv6-pool-eastdormpool-class-class1-config)#exit
SwitchB(dhcpv6-eastdormpool-config)#class CLASS2
SwitchB(dhcpv6-pool-eastdormpool-class-class2-config)#address range 2001:da8:100:1::31 2001:da8:100:1::60
SwitchB(dhcpv6-eastdormpool-config)#class CLASS3
SwitchB(dhcpv6-pool-eastdormpool-class-class3-config)#address range 2001:da8:100:1::61 2001:da8:100:1::100
SwitchB(dhcpv6-pool-eastdormpool-class-class3-config)#exit
SwitchB(dhcpv6-eastdormpool-config)#exit
SwitchB(config)#interface vlan 1
SwitchB(config-if-vlan1)#ipv6 address 2001:da8:100:1::2/64
SwitchB(config-if-vlan1)#ipv6 dhcp server TestPool1
SwitchB(config-if-vlan1)#exit
SwitchB(config)#

6.3.2. Пример настройки опций 37 и 38 для DHCPv6 relay

Рисунок 44.2 - Пример настройки опций 37 и 38 для DHCPv6 relay


Для подключения пользователей сети кампуса на уровне доступа используются коммутаторы уровня 2 Switch 1 и Switch 2. На первом уровне агрегации коммутатор Switch 3 используется как агент DHCPv6-relay. На втором уровне агрегации коммутатор Switch 4 используется как DHCPv6-сервер и соединен с остальной сетью.

Конфигурация Switch2:

Switch2(config)#service dhcpv6
Switch2(config)#ipv6 dhcp relay remote-id option
Switch2(config)#ipv6 dhcp relay subscriber-id option
Switch2(config)#vlan 10
Switch2(config-vlan10)#int vlan 10
Switch2(config-if-vlan10)#ipv6 address 2001:da8:1:::2/64
Switch2(config-if-vlan10)#ipv6 dhcp relay destination 2001:da8:10:1::1
Switch2(config-if-vlan10)#exit

6.4. Решение проблем при настройке опций 37 и 38 DHCPv6

  • Сообщения запроса DHCPv6 от клиента рассылаются как мультикаст-пакеты и могут быть получены устройством в пределах VLAN-клиента. Если DHCPv6-сервер и DHCPv6-клиент находятся в разных VLAN, необходимо использовать DHCPv6-relay.

  • Если пакет с опциями 37,38 не был получен, проверьте выбранную политику DHCPv6 при получении пакета с опцией: политика может выполнять как пропуск, так и перезапись опции или сброс пакета.

  • По-умолчанию DHCPv6-сервер считывает опции 37 и 38 из пакета клиента. Также может быть настроено считывание опций из пакета от DHCPv6-relay.

  • No labels