Настройка DHCPv6 в инфраструктуре Windows Server 2008 (ru-RU)

В статье описан процесс настройки динамического назначения адресов пртокола IPv6 в среде операционных систем Microsoft Windows. Рассматривается классическая сеть из клиентских рабочих станций с операционной системой Windows Vista или Windows 7 и серверов Windows Server 2008, без выхода в интернет (не используются технологии трансляции IPv6-в-IPv4).

Способы автоконфигурирования адресов в протоколе IPv6

Таких способов существует ровно два:

 1. Автоконфигурация без сохранения состояния (Stateless Autoconfiguration).

В этой конфигурации никто не знает о состоянии выданных адресов клиентам, потому что нет выделенного сервера раздающего адреса (классического DHCP сервера). Нужно чётко себе представлять порядок запроса адреса клиентом в протоколе IPv6 после того, как вы воткнули патчкорд в сетевую карту, т.к. этот порядок отличен от подобного алгоритма в IPv4. В частности в новом протокле является необходимым для работы даже локальной сети присутсвие маршрутизатора IPv6. Он регулирует режим получения клиентом IPv6 адресов.

Порядок следующий:

  1. После выбора своего link-local IPv6 адреса на интерфейсе компьютеры определяют наличие маршрутизатора в локальной сети используя запрос ICMPv6 Router Solicitation (Запрос маршрутизатора) на широковещательный адрес ff02::2 (все маршрутизаторы в сети).
  2. Роутер отвечает соответсвующим сообщением ICMPv6 Router Advertisement (объявление маршрутизации). Если в сети нет DHCPv6 сервера и маршрутизатор об этом знает (в его конфигурации установлены соответсвующие флаги), то в этом сообщении содержится адрес подсети, в терминологии IPv6 он называется префиксом и маршрут по умолчанию.
  3. Клиент принимает информацию и на основе префикса сети формирует IPv6 адрес для своего интерфейса, при этом адрес хоста либо выбирается стандартным образом либо формируется из MAC адреса по формату EUI-64.

При этом роутер периодически рассылает сообщения ICMPv6 Router Advertisement, что позволяет изменять конфигурацию клиентов при изменении топологии или адресации.

Следует иметь в виду, что в этот момент общение происходит по lokal-link IPv6 адресам, которые присутсвуют на IPv6 устройстве независимо от какой-либо конфигурации.

2. Автоконфигурация с сохранением состояния DHCPv6 (Statefull).

В этом режиме состояние о выданных адресах хранится на выделенном DHCPv6 сервере. Такая конфигурация позволяет администратору контролировть адресное пространство, а также назначать клиентам дополнительные параметры, такие как DNS сервера, доменное имя и т.п.

В том случае, если в пункте 2 в абзаце выше роутер сообщает в Router Advertisement о том, что в сети присутвует DHCPv6 сервер или клиент вообще не получает сообщений ICMPv6 Router Advertisement (что говорит о том, что в сети нет роутеров IPv6) , то клиент должен использовать автоконфигурацию с сохранением состояния (statefull) и начинает процесс запроса адреса у DHCPv6 сервера. Замечание о том, что в сети может и не быть IPv6 роутера содержится в соответствующем RFC 2462, однако без роутера клиенты Windows 7 и Vista ведут себя не вполне корректно, что возможно исправят в будущих сервис паках.

Конфигурация стенда

Стенд собирался на виртуальных машинах VMWare Workstation 7 с использованием сетевых возможностей этой программы. Используются следующие виртуальные машины:
dc.tail.dom - контроллер домена и DNS сервер под управлением Windows Server 2008 с сетевым интерфейсом "LAN";
router.tail.dom - программный IPv6 маршрутизатор под управлением Windows Server 2008, в реальной сети может использоваться и аппаратный маршрутизатор с поддержкой протокола IPv6, но в рамках проводимого эксперимента на виртуальных машинах применяется Windows Server 2008 с одним сетевым интерфейсом "LAN" и установленной службой RRAS;
seven - клиентский компьютер под управлением Windows 7 с сетевым интерфейсом "LAN", все виртуальные машины находятся в одном сетевом сегменте.

Настройка и проверка работоспособности протокола DHCPv6

 1. Устанавливаем и настраиваем контроллер домена и DNS  сервер на компьютере под управлением Windows Server 2008 с именем dc.tail.dom и следующими настройками интерфейса «LAN»:

IPv4:
IP: 172.16.1.11
SM: 255.255.255.0
DG: 172.16.1.254
DNS: 127.0.0.1

IPv6:
IP: fc00::1:1:1:a
prefix Length: /64
DR: fc00::1:1:1:f
DNS: ::1

2. На этом же сервере поднимаю DHCP с областью 172.16.1.101 – 172.16.1.199; DG:172.16.1.254; DNS:172.16.1.11, при установке выбираю отключить режим без отслеживания состояния DHCPv6. После установки конфигурирую IPv6 область (в оснастке DHCP) с префиксом fc00::. Из предопределенных параметров выбираю «00023 Список адресов IPV6 рекурсивных серверов имен DNS» задаю адрес, соответственно fc00::1:1:1:a.

 3. На втором сервере Windows Server 2008 router.tail.dom с двумя сетевыми интерфейсами «LAN» и «WAN» поднимаем службы RRAS с NAT. В настройках RRAS сервера (в оснастке «Маршрутизация и удаленный доступ») выбираю IPv6-маршрутизатор (помимо IPv4). Далее на вкладке IPv6 проверяем, что включено объявление маршрута по умолчанию. В качестве этого устройства может выступпать также маршрутизаторы Cisco, IOS начиная с версии 12.2T поддерживает работу этого протокола.

Настройки интерфейса «LAN» на router.tail.dom:

IPv4
ip: 172.16.1.254
SM: 255.255.255.0
DG:
DNS: 172.16.1.11

IPv6
ip: fc00::1:1:1:f
prefix Length: /64
DR: fc00::1:1:1:f (далее будет ясно почему)
DNS: fc00::1:1:1:a

 После назначения машине router в качестве DR собственного адреса в таблице маршрутизации появляется маршрут для префикса нулевой длины ::/0 (читаем в справке: «Указывает, объявлен ли на данном сервере маршрут по умолчанию. Маршрут по умолчанию – маршрут для префикса нулевой длины. Используемый в качестве IPv6-маршрутизатора компьютер, на котором запущена операционная система семейства Windows Server® 2008, будет объявлять себя маршрутизатором по умолчанию только в том случае, если он настроен с маршрутом по умолчанию (::/0), публикация которого включена»). Если бы маршрутизатор имел два сетевых интерфеса, на одном из которых был бы маршрутизатор по умолчанию, то публикация маршрута к этому маршрутизатору (маршрут нулевой длины) включилась бы автоматически.

 Далее На router.tail.dom ввожу последовательно следующие команды:

1). Включаем публикацию маршрута по умолчанию:
netsh interface ipv6 set route ::/0 «LAN» publish=yes
2). Устанавливаем значения флагов M и O в 1:
netsh interface ipv6 set interface «LAN» managedaddress=enabled
netsh interface ipv6 set interface «LAN» otherstateful=enabled
3). Включаем объявление маршрутизатора:
netsh interface ipv6 set interface «LAN» advertise=enabled

 4. На клиентской машине seven установлена Windows 7. Все настройки интерфейс «LAN» должен получить динамически.

После перезагрузки машины seven интерфейс «LAN» получает следующие настройки:

 IPv4
ip: 172.16.1.101
SM: 255.255.255.0
DG: 172.16.1.254
DNS: 172.16.1.11

IPv6:
IP: fc00::1:1:1:101 (создана резервация в оснастке DHCP)
prefix Length: /64
DG: ::
DNS: fc00::1:1:1:a

 Для проверки работоспособности протокола IPv6 на клиентской машине следует отключить IPv4. В нашем случае компьютер seven был введён в домен tail.dom полностью с использованием протокла IPv6.