Настройка 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 адресов.
Порядок следующий:
- После выбора своего link-local IPv6 адреса на интерфейсе компьютеры определяют наличие маршрутизатора в локальной сети используя запрос ICMPv6 Router Solicitation (Запрос маршрутизатора) на широковещательный адрес ff02::2 (все маршрутизаторы в сети).
- Роутер отвечает соответсвующим сообщением ICMPv6 Router Advertisement (объявление маршрутизации). Если в сети нет DHCPv6 сервера и маршрутизатор об этом знает (в его конфигурации установлены соответсвующие флаги), то в этом сообщении содержится адрес подсети, в терминологии IPv6 он называется префиксом и маршрут по умолчанию.
- Клиент принимает информацию и на основе префикса сети формирует 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.