Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

3.1. Общие сведения о DHCPv6

DHCPv6 [RFC3315] - версия протокола DHCP для работы с IPv6. Этот протокол назначает как IPv6 адреса, так и другие параметры настройки сети, такие, как адрес DNS или доменное имя. DHCPv6 может назначать IPv6 адреса через relay (ретранслятор). DHCPv6 сервер также может обеспечить сервис DHCPv6 без состояния отслеживания (SLAAC), при котором клиенту могут быть назначены параметры конфигурации, такие как адрес DNS-сервера и доменное имя без назначения IPv6-адреса.

В протоколе DHCPv6 предусмотрены три объекта: клиент, relay (ретранслятор) и сервер. Протокол DHCPv6 основан на протоколе UDP. Клиент DHCPv6 отправляет сообщения запроса конфигурации DHCP-серверу или DHCP-relay на порт UDP 547, в ответ сервер или relay DHCPv6 отправляют сообщения на порт UDP 546. Клиент DHCPv6 отправляет сообщения solicit и request DHCP-серверу или relay на multicast-адрес - ff02::1:2.


Рисунок 41.1 - процесс согласования DHCPv6


Когда DHCPv6 клиент пытается запросить IPv6 адрес и другую конфигурацию, сначала клиент должен найти DHCPv6-сервер, а только после этого запросить конфигурацию.

  1. В момент обнаружения сервера, DHCP клиент пытается найти DHCPv6 сервер, рассылая SOLICIT сообщения, содержащее собственный идентификатор DUID, на мультикаст-адрес FF02::1:2;

  2. Каждый DHCPv6-сервер, получивший SOLICIT, ответит клиенту сообщением ADVERTISE (предложение), которое содержит идентификатор DUID сервера и его приоритет;

  3. Возможно, что клиент получить несколько сообщений ADVERTISE. В этом случае клиент должен выбрать один сервер и ответить ему сообщение REQUEST, чтобы запросить предложенный им адрес;

  4. Выбранный DHCPv6-сервер подтверждает клиенту IPv6 адрес и другие параметры в сообщении REPLY.


Вышеуказанные четыре этапа завершают процесс динамического назначения параметров. Однако, если DHCPv6 сервер и DHCPv6 клиент не находятся в одной сети, сервер не сможет получить multicast-пакеты от клиента и ответить ему. Для пересылки таких пакетов используется DHCPv6-relay, функции которого реализованы на коммутаторе. Когда DHCPv6-relay получает сообщение от DHCPv6 клиента, он инкапсулирует его в пакет Relay-forward и доставляет следующему DHCPv6-relay или серверу.

Для делегирования IPv6 префиксов DHCPv6 сервер настраивается на маршрутизаторе провайдера (PE), а DHCPv6-клиент настраивается на маршрутизаторе клиента (CPE). Маршрутизатор клиента шлет маршрутизатору провайдера запрос на выделение префикса адресов и получает предварительно настроенный префикс. Затем CPE маршрутизатор делит выделенный префикс на /64 подсети. Эти префиксы будут анонсированы сообщениями объявления маршрутизатора (RA) хостам.

3.2. Настройка DHCPv6-сервера

  1. Включить\выключить сервис DHCPv6;

  2. Настроить адресный пул DHCPv6:

    1. Создать\удалить адресный пул;

    2. Настроить параметры адресного пула;

  3. Включить функцию DHCPv6 сервера на порту;


  1. Включить\выключить сервис DHCPv6;

Команда

Описание

service dhcpv6

no service dhcpv6

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

Включить сервисы DHCPv6 (server, relay)

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


2. Настроить адресный пул DHCPv6:

a. Создать\удалить адресный пул

Команда

Описание

ipv6 dhcp pool <poolname>

no ipv6 dhcp pool <poolname>

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

Создать адресный пул DHCPv6

Удалить адресный пул DHCPv6


b. Настроить параметры адресного пула;

Команда

Описание

network-address <ipv6-pool-start-address> {<ipv6-pool-end-address> | <prefix-length>} [eui-64]


no network-address

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

Задать диапазон адресов, назначаемых пулом от <ipv6-pool-start-address>до <ipv6-pool-end-address>с длиной префикса <prefix-length>. Если длина префикса 64 бита, адрес может быть выделен по стандарту EUI-64 [eui-64]

Удалить диапазон адресов, назначаемых пулом

dns-server <ipv6-address>

no dns-server <ipv6-address>

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

Задать адрес DNS-сервера

Удалить адрес DNS-сервера

domain-name <domain-name>

no domain-name <domain-name>

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

Задать доменное имя

Удалить доменное имя

excluded-address <ipv6-address>

no excluded-address <ipv6-address>

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

Исключить адрес из пула.

Удалить исключение.

lifetime {<valid-time> | infinity} {<preferred-time> | infinity}

no lifetime

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

Задать время аренды адреса <valid-time> и <preferred-time>в секундах, infinity - устанавливает неограниченное время.

Восстановить значения по умолчанию: preffered-time 2592000 секунд (30 дней), valid-time 604800 секунд (7 дней)


3. Включить функцию DHCPv6 сервера на порту;

Команда

Описание

ipv6 dhcp server <poolname> [preference <value>] [rapid-commit] [allow-hint]


no ipv6 dhcp server <poolname>

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

Включить функцию DHCPv6 сервера на интерфейсе и привязать используемый адресный пул <poolname>.

[preference <value>] - задать приоритет <value>для данного DHCP-серверa, [rapid-commit]- быстрый ответ на solicit, [allow-hint] - разрешить делегировать префикс, предлагаемый клиентом.

Выключить функцию DHCPv6 сервера на интерфейсе

3.3. Настройка DHCPv6-relay

  1. Включение/выключение сервиса DHCPv6;

  2. Настроить DHCPv6-relay на интерфейсе.


  1. Включение/выключение сервиса DHCPv6;

Команда

Описание

service dhcpv6

no service dhcpv6

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

Включить сервисы DHCPv6 (server, relay)

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


2. Настроить DHCPv6-relay на интерфейсе.

Команда

Описание

ipv6 dhcp relay destination {[<ipv6-address>] [interface { <interface-name> | vlan <1-4096>}]}

no ipv6 dhcp relay destination {[<ipv6-address>] [interface { <interface-name> | vlan <1-4096>}]}

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

Настроить адрес назначения для DHCPv6-relay

Удалить адрес назначения для DHCPv6-relay

3.4. Настройка сервера делегирования префиксов DHCPv6

  1. Включить/выключить DHCPv6 сервис;

  2. Настроить пул делегирования префиксов;

  3. Настроить адресный пул DHCPv6:

    1. Создать/удалить адресный пул DHCPv6;

    2. Настроить пул делегирования префиксов, используемый адресным пулом;

    3. Настроить статическую привязку префиксов;

    4. Настроить другие параметры адресного пула DHCPv6;

  4. Включить функцию сервера делегирования префиксов DHCPv6 на интерфейсе.


  1. Включить/выключить DHCPv6 сервис;

Команда

Описание

service dhcpv6

no service dhcpv6

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

Включить сервисы DHCPv6 (server, relay)

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


2. Настроить пул делегирования префиксов;

Команда

Описание

ipv6 local pool <poolname> <prefix|prefix-length> <assigned-length>

no ipv6 local pool <poolname>

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

Создать адресный пул <poolname> для делегирования префиксов <prefix|prefix-length>


Удалить адресный пул <poolname>


3. Настроить адресный пул DHCPv6:

a. Создать/удалить адресный пул DHCPv6.

Команда

Описание

ipv6 dhcp pool <poolname>

no ipv6 dhcp pool <poolname>

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

Создать адресный пул DHCPv6

Удалить адресный пул DHCPv6


b. Настроить пул делегирования префиксов, используемый адресным пулом;

Команда

Описание

prefix-delegation pool <poolname> [lifetime <valid-time> <preferred-time>]

no prefix-delegation pool <poolname>

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

Задать делегируемый пул префиксов <poolname> для адресного пула DHCPv6 и назначить используемый префикс клиенту, в полях <preferred-time> <valid-time> задать предпочтительное и действительное время аренды префикса.

Удалить делегируемый пул префиксов <poolname>


c. Настроить статическую привязку префиксов;

Команда

Описание

prefix-delegation <ipv6-prefix/prefix-length> <client-DUID> [iaid <iaid>] [lifetime <valid-time> <preferred-time>]

no prefix-delegation <ipv6-prefix/prefix-length> <client-DUID> [iaid <iaid>]

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

Настроить префикс <ipv6-prefix/prefix-length> для статической привязки к клиенту <client-DUID>

удалить <ipv6-prefix/prefix-length> из статической привязки к клиенту <client-DUID>


d. Настроить другие параметры адресного пула DHCPv6;

Команда

Описание

dns-server <ipv6-address>

no dns-server <ipv6-address>

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

Задать адрес DNS-сервера

Удалить адрес DNS-сервера

domain-name <domain-name>

no domain-name <domain-name>

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

Задать доменное имя

Удалить доменное имя


4. Включить функцию сервера делегирования префиксов DHCPv6 на порту

Команда

Описание

ipv6 dhcp server <poolname> [preference <value>] [rapid-commit] [allow-hint]


no ipv6 dhcp server <poolname>

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

Включить функцию DHCPv6 сервера на интерфейсе и привязать используемый адресный пул <poolname>.

[preference <value>]- задать приоритет <value> для данного DHCP-серверa, [rapid-commit]- быстрый ответ на solicit, [allow-hint] - разрешить делегировать префикс, предлагаемый клиентом.

Выключить функцию DHCPv6 сервера на интерфейсе

3.5. Настройка клиента для делегирования префиксов DHCPv6

  1. Включить/выключить DHCPv6 сервис;

  2. Включить функцию сервера делегирования префиксов DHCPv6 на интерфейсе.


  1. Включить/выключить DHCPv6 сервис;

Команда

Описание

service dhcpv6

no service dhcpv6

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

Включить сервисы DHCPv6 (server, relay)

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


2. Включить функцию сервера делегирования префиксов DHCPv6 на интерфейсе.

Команда

Описание

ipv6 dhcp client pd <prefix-name> [rapid-commit]

no ipv6 dhcp client pd

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

Включить функцию DHCPv6 делегирования префиксов на интерфейсе клиента

Выключить функцию DHCPv6 делегирования префиксов на интерфейсе клиента

3.6. Пример конфигурации DHCPv6

При развертывании сетей IPv6 коммутатор SNR может быть настроен как сервер DHCPv6 для управления распределением адресов IPv6. Поддерживается режим с отслеживанием состояния, так и без отслеживания.

Топология:

Рисунок 41.2 - пример настройки DHCPv6


Как показано на рисунке 41.2, на уровне доступа используются коммутаторы Switch1 и Switch2 для подключения пользователей в кампусе. На первом уровне агрегации коммутатор Switch3 настроен как DHCPv6-relay. На втором уровне агрегации коммутатор Switch4 настроен как DHCPv6 сервер и соединен с сетью вышестоящего оператора. На компьютерах пользователей установлена ОС, поддерживающая IPv6.

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

Code Block
languagecoldfusion
Switch4>enable
Switch4#config
Switch4(config)#service dhcpv6
Switch4(config)#ipv6 dhcp pool EastDormPool
Switch4(dhcpv6-EastDormPool-config)#network-address 2001:da8:100:1::1 2001:da8:100:1::100
Switch4(dhcpv6-EastDormPool-config)#excluded-address 2001:da8:100:1::1
Switch4(dhcpv6-EastDormPool-config)#dns-server 2001:da8::20
Switch4(dhcpv6-EastDormPool-config)#dns-server 2001:da8::21
Switch4(dhcpv6-EastDormPool-config)#domain-name dhcpv6.com
Switch4(dhcpv6-EastDormPool-config)#lifetime 1000 600
Switch4(dhcpv6-EastDormPool-config)#exit
Switch4(config)#interface vlan 1
Switch4(Config-if-Vlan1)#ipv6 address 2001:da8:1:1::1/64
Switch4(Config-if-Vlan1)#exit
Switch4(config)#interface vlan 10
Switch4(Config-if-Vlan10)#ipv6 address 2001:da8:10:1::1/64
Switch4(Config-if-Vlan10)#ipv6 dhcp server EastDormPool preference 80
Switch4(Config-if-Vlan10)#exit
Switch4(config)#

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

Code Block
languagecoldfusion
Switch3>enable
Switch3#config
Switch3(config)#service dhcpv6
Switch3(config)#interface vlan 1
Switch3(Config-if-Vlan1)#ipv6 address 2001:da8:1:1::2/64
Switch3(Config-if-Vlan1)#exit
Switch3(config)#interface vlan 10
Switch3(Config-if-Vlan10)#ipv6 address 2001:da8:10:1::2/64
Switch3(Config-if-Vlan10)#exit
Switch3(config)#interface vlan 100
Switch3(Config-if-Vlan100)#ipv6 address 2001:da8:100:1::1/64
Switch3(Config-if-Vlan100)#no ipv6 nd suppress-ra
Switch3(Config-if-Vlan100)#ipv6 nd managed-config-flag
Switch3(Config-if-Vlan100)#ipv6 nd other-config-flag
Switch3(Config-if-Vlan100)#exit
Switch3(config)#

Настройка Switch1 и Switch2 одинакова:

Code Block
languagecoldfusion
Switch1(config)#service dhcpv6
Switch1(config)#interface vlan 1
Switch1(Config-if-Vlan1)#ipv6 address 2001:da8:100:1::2/64
Switch1(Config-if-Vlan1)#ipv6 dhcp relay destination 2001:da8:10:1::1

3.7. Решение проблем при конфигурации DHCPv6

Если DHCPv6-клиент не может получить IP адрес и другие сетевые параметры, после проверки кабеля и клиентского оборудования следует выполнить следующее:

  • Проверьте, запущен ли DHCPv6-сервер;

  • Если DHCPv6-клиент и DHCPv6-сервер находятся не в одной сети и не имеют прямой L2-связности, проверьте, настроена ли на коммутаторе, отвечающем за пересылку пакетов, функция DHCPv6-relay;

  • Проверьте, имеет ли DHCP-сервер адресный пул в том же сегменте, что и адрес interface vlan коммутатора, перенаправляющего DHCP-пакеты;