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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »


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