КабельщикПеренос интрасети на IPv6 с помощью ISATAP

Джозеф Дэвис (Joseph Davies)

Данная статья основана на предварительной версии Windows Server 2008. Любые приведенные в ней сведения могут быть изменены.

Одно из распространенных заблуждений относительно протокола Интернета 6-й версии (IPv6) заключается в том, что для IPv6 необходимо развертывать его встроенную адресацию и маршрутизацию, что требует детального анализа схем адресации IPv6, обновлений маршрутизатора и конфигурации, а также графика развертывания. Хотя это рано или поздно необходимо будет проделать для собственного подключения

IPv6, ничто не мешает развернуть туннелированное подключение IPv6, используя протокол ISATAP. При туннелировании подключения IPv6, узлы, поддерживающие ISATAP могут сообщаться, используя трафик IPv6, инкапсулированный с заголовком IPv4 (поле протокола IPv4 установлено на 41). Трафик ISATAP может пересекать интрасети, поддерживающие только IPv4, позволяя немедленно начать тестирование приложений, поддерживающих IPv6, не дожидаясь собственной инфраструктуры IPv6.

ISATAP – это технология назначения адресов автоматического туннелирования, определенная в RFC 4214 и предоставляющая одноадресное подключение IPv6 между узлами IPv6/IPv4, через поддерживающую только IPv4 интрасеть. Узлы ISATAP используют интерфейс логического туннелирования, которому назначаются адреса ISATAP, имеющие форму UnicastPrefix:0:5EFE:w.x.y.z (где w.x.y.z – это частный адрес IPv4, назначенный узлу ISATAP) или UnicastPrefix:200:5EFE:w.x.y.z (где w.x. y.z – публичный адрес IPv4, назначенный узлу ISATAP). UnicastPrefix – это любой 64-битный префикс адреса для одноадресного подключения, включающая уникальные локальные префиксы, глобальные префиксы и префиксы локальной связи. Примеры адресов ISATAP: 2001:DB8::98CA:200:131.107.28.9 и 2001:DB8::98CA:0:10.91.211.17.

Перенос интрасети на IPv6 с помощью ISATAP

Развертывание ISATAP состоит из одной или нескольких логических подсетей ISATAP, являющихся поддерживающими только IPv4 подсетями, которым назначен 64-битный префикс подсети IPv6. В логической подсети ISATAP имеются узлы ISATAP и маршрутизаторы ISATAP. Узел ISATAP использует интерфейс маршрутизирования ISATAP для инкапсуляции трафика IPv6. Этот трафик может быть направлен напрямую на другие узлы ISATAP в той же логической подсети ISATAP. Для достижения точек назначения в других подсетях ISATAP или собственных подсетях IPv6, трафик отсылается маршрутизатору ISATAP. Марштрутизатор ISATAP – это маршрутизатор IPv6, объявляющий префиксы подсети узлам ISATAP и пересылающий трафик IPv6 между узлами ISATAP и узлами на других подсетях IPv6. Рис. 1 показывает компоненты ISATAP на упрощенной интрасети.

Рис. 1 Части интрасети только с IPv4 и поддерживающие IPv6

Рис. 1** Части интрасети только с IPv4 и поддерживающие IPv6 **(Щелкните изображение, чтобы увеличить его)

ISATAP позволяет развертывать собственные возможности адресации и маршрутизации IPv6 на интрасети в три фазы.

Фаза 1. Интрасеть только с IPv4 В этой фазе вся интрасеть может быть единой, логической подсетью ISATAP. Рис. 2 показывает пример интрасети только с IPv4 и с маршрутизатором ISATAP, объявляющим глобальный или уникальный локальный префикс адреса только узлам ISATAP.

Рис. 2 Интрасеть только с IPv4

Рис. 2** Интрасеть только с IPv4 **(Щелкните изображение, чтобы увеличить его)

Фаза 2. Части интрасети только с IPv4 и поддерживающие IPv6 В этой фазе интрасеть имеет часть только с IPv4 (логическая подсеть ISATAP) и часть, поддерживающую IPv6. Часть интрасети, поддерживающая IPv6, поддерживает IPv4 и была обновлена для поддержки собственной адресации и маршрутизации IPv6. Эту конфигурацию можно было увидеть на рис. 1.

Фаза 3. Интрасеть, поддерживающая IPv6 В этой финальной фазе, вся интрасеть поддерживает как IPv4, так и собственную адресацию и маршрутизацию IPv6. Отметьте, что ISATAP больше не требуется. Рис. 3 показывает пример.

Рис. 3 Интрасеть, поддерживающая IPv6

Рис. 3** Интрасеть, поддерживающая IPv6 **(Щелкните изображение, чтобы увеличить его)

С помощью ISATAP, подключение по IPv6 между узлами и приложениями возможно в ходе первых двух фаз перехода с интрасети только с IPv4 на поддержку IPv6.

Windows Server 2008 и Windows Vista

Протокол IPv6 для Windows Server® 2008 и Windows Vista® поддерживает ISATAP, как в виде узла ISATAP, так и маршрутизатора ISATAP. Для каждого интерфейса LAN, установленного на компьютере, имеющем особый суффикс DNS, имеется отдельный интерфейс туннелирования ISATAP. Например, если на компьютере работает Windows Vista с двумя интерфейсами LAN, причем оба они присоединены к одной интрасети и имеют тот же суффикс DNS, то для них существует только один интерфейс туннелирования ISATAP. Если эти два интерфейса LAN присоединены к двум различным сетям с различными суффиксами DNS, интерфейсов ISATAP тоже будет два. Для компьютеров, использующих Windows Server 2008 или Windows Vista с пакетом обновления 1 (SP1), интерфейсы туннелирования ISATAP помещаются в отключенное от носителя состояние, если имя "ISATAP" не может быть разрешено.

По умолчанию протокол IPv6 для Windows Vista без установленных пакетов обновления автоматически настраивает локальные адреса связи ISATAP (FE80::5EFE: w.x.y.z или FE80::200:5EFE:w.x.y.z) на интерфейсах туннелирования ISATAP для адресов IPv4, назначенных соответствующим интерфейсам LAN.

Протокол IPv6 для Windows Vista SP1 и Windows Server 2008 настраивает локальные адреса связи ISATAP на интерфейсах туннелирования ISATAP, только если имя "ISATAP" может быть разрешено.

Для получения сообщения объявления маршрутизатора от маршрутизатора ISATAP, узел ISATAP должен отослать маршрутизатору ISATAP сообщение запроса маршрутизатора. На подсети Ethernet собственный узел IPv6 отсылает многоадресное сообщение запроса маршрутизатора, а машрутизаторы в подсети отвечают сообщением объявления маршрутизатора. Поскольку ISATAP не использует многоадресный трафик IPv4 и не требует поддерживающей многоадресность инфраструктуры IPv4, узел ISATAP должен одноадресно отправить сообщение запроса маршрутизатора маршрутизатору ISATAP.

Для одноадресной отправки сообщения запроса маршрутизатора маршрутизатору ISATAP, узел ISATAP должен сперва определить этот адрес IPv4 интерфейса маршрутизатора ISATAP в логической подсети ISATAP. Для протокола IPv6 для Windows Server 2008 и Windows Vista, узел ISATAP получает единый адрес IPv4 маршрутизатора ISATAP, посредством успешного разрешения имени узла "ISATAP" в адрес IPv4, или с помощью команды установки маршрутизатора isatap интерфейса netsh.

Перенос интрасети. Фаза 1.

Чтобы развернуть ISATAP в интрасети для фазы один перехода на IPv6, необходимо выполнить следующие действия.

Определить префикс подсети ISATAP Необходимо определить 64-битный префикс подсети, который будет назначен логической подсети ISATAP, соответствующей интрасети. 48-битный префикс можно получить от поставщика услуг Интернета или реестра Интернета, также можно вывести собственный 48-битный уникальный локальный префикс (см. RFC 4193 в сети на tools.ietf.org/html/rfc4193).

Из 48-битного префикса, выберите 16-битный идентификатор подсети для логической подсети ISATAP. Комбинация 48-битного префикса и 16-битного идентификатора подсети и является 64-битным префиксом подсети ISATAP. Например, 48-битный уникальный локальный префиус FD8A:219C:052A::/48 и идентификатор подсети 1 образуют 64-битный префикс подсети FD8A:219C:052A:1::/64.

Обозначить компьютер маршрутизатора ISATAP Определите, какой компьютер будет маршрутизатором ISATAP. Хотя многие коммерческие машрутизаторы поддерживают функции маршрутизатора ISATAP, предоставленная здесь информация относится только к компьютерам, использующим Windows Server 2008.

Компьютеру маршрутизатора ISATAP не нужно несколько интерфейсов LAN, как не нужно и подключение к поддерживающей IPv6 части сети для фазы 1; однако компьютер должен быть выбран таким образом, чтобы позднее его можно было дополнить интерфейсом LAN, подключенным к поддерживающей IPv6 части интрасети.

Настроить компьютер маршрутизатора ISATAP На компьютере маршрутизатора ISATAP, отдание следующей команды помещает интерфейс туннелирования ISATAP на компьютере маршрутизатора ISATAP в состояние подключения к носителю:

netsh interface isatap set router IPv4Address 

IPv4Address – это адрес IPv4, назначенный интерфейсу LAN компьютеру маршрутизатора ISATAP, который присоединен к логической подсети ISATAP.

Далее, определите имя индекса интерфейса туннелирования ISATAP, соответствующее имени интерфейса LAN компьютера маршрутизатора ISATAP, присоединенного к логической подсети ISATAP, из выходных данных следующей команды:

netsh interface ipv6 show interfaces

Далее используйте эту команду, чтобы разрешить объявления на интерфейсе ISATAP:

netsh interface ipv6 set interface ISATAPInterfaceNameOrIndex advertise=enabled

ISATAPInterfaceNameOrIndex – имя индекса интерфейса туннелирования ISATAP.

Далее используйте следующую команду для настройки компьютера маршрутизатора ISATAP на объявление префикса подсети ISATAP узлам ISATAP:

netsh interface ipv6 add route ISATAPSubnetPrefix ISATAPInterfaceNameOrIndex publish=yes

ISATAPSubnetPrefix – установленный префикс подсети ISATAP

Настроить DNS В DNS, добавьте запись адреса (A) для имени ISATAP в соответствующие домены, чтобы узлы ISATAP на интрасети могли полностью разрешать имя "ISATAP". Например, если узлы инрасети используют суффикс DNS contoso.com, то необходимо добавить запись A к домену contoso.com для имени isatap.contoso.com с адресом IPv4, который назначается интерфейсу LAN маршрутизатора ISATAP на сети только с IPv4.

Если сервер DNS работает только на Windows Server 2008, используйте редактор реестра (regedit.exe) на сервере DNS, чтобы удалить запись ISATAP из значения реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters\GlobalQueryBlockList.

Протестировать узлы ISATAP С узла ISATAP в интрасети, используйте средство Ipconfig, чтобы просмотреть назначенные адреса. Узлы ISATAP должны иметь адрес в форме ISATAPSubnetPrefix:: 5EFE:w.x.y.z или ISATAPSubnetPrefix:: 200:5EFE:w.x.y.z. Для примера, если префикс подсети ISATAP – это FD8A:219C: 052A:1::/64 и узел ISATAP имеет адрес IPv4 10.1.31.97, то интерфейсу туннелирования узла ISATAR будет назначен адрес FD8A: 219C:052A:1::5FE:10.1.31.97.

Если у узла ISATAP нет адреса ISATAP на основе префикса подсети ISATAP, проверьте, может ли узел разрешить имя "ISATAP". Если нет, проверьте, созданы ли записи A в соответствующих доменах и для серверов DNS, использующих Windows Server 2008, проверьте, изменено ли значение реестра GlobalQueryBlockList и удалена ли из него запись ISATAP. Если имя может быть разрешено, проверьте, верно ли настроен компьютер маршрутизатора ISATAP. Если это так, убедитесь, что маршрутизаторы в интрасети допускают пересылку трафика 41 протокола IPv4.

Когда узлы ISATAP могут успешно настраивать себя с помощью адресов, основанных на префиксе подсети ISATAP, они регистрируют эти адреса ISATAP как записи AAAA в DNS и начинают использовать их для подключений на основе IPv6.

Перенос интрасети. Фаза 2.

В фазе 2 перехода на IPv6 необходимо изменить конфигурацию маршрутизатора ISATAP, чтобы он выполнял перенаправление между частями интрасети только с IPv4 и частями, поддерживающими IPv6.

На компьютере маршрутизатора ISATAP используйте следующую команду:

netsh interface ipv6 show interfaces

Из ее выходных данных, определите имя индекса интерфейса LAN, присоединенного к поддерживающей IPv6 части интрасети и интерфейса туннелирования ISATAP.

Используйте эту команду, чтобы позволить перенаправление на интерфейсе ISATAP:

netsh interface ipv6 set interface ISATAPInterfaceNameOrIndex forwarding=enabled

Используйте эту команду, чтобы разрешить перенаправление на интерфейсе LAN:

netsh interface ipv6 set interface LANInterfaceNameOrIndex forwarding=enabled

LANInterfaceNameOrIndex - имя индекса интерфейса туннелирования LAN.

Используйте следующую команду, чтобы добавить маршрут по умолчанию к маршрутизатору ISATAP:

netsh interface ipv6 add route ::/0 LANInterfaceNameOrIndex NextHopAddress publish=yes

NextHopAddress – адрес IPv6 соседнего собственного маршрутизатора IPv6 на поддерживающей IPv6 части интрасети.

Чтобы сделать логическую подсеть ISATAP доступной для поддерживающей IPv6 части интрасети, важно настроить собственные маршрутизаторы IPv6 на маршрут для префикса подсети ISATAP, указывающего на компьютер маршрутизатора ISATAP.

Чтобы выборочно отключить ISATAP для компьютеров на поддерживающей IPv6 части интрасети, измените записи A для имени ISATAP в DNS так, чтобы компьютеры на поддерживающей IPv6 части интрасети не могли разрешить имя ISATAP.

Другим вариантом является создание и установка значения реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters\DisabledComponents на 0x4 (тип DWORD).

Перенос интрасети. Фаза 3.

Для фазы 3, когда вся интрасеть поддерживает IPv6, необходимо удалить развертывание ISATAP через DNS и перенастроить компьютер маршрутизатора ISATAP. Для DNS, удалите все записи A из имени ISATAP. Это не даст узлам определять адрес IPv4 маршрутизатора ISATAP.

Для компьютера маршрутизатора ISATAP выполните следующую команду:

netsh interface isatap set router default 

Эта команда возвращает компонент ISATAP к его состоянию по умолчанию.

Определите имя или индекс интерфейса туннелирования ISATAP из выходных данных этой команды:

netsh interface ipv6 show interfaces

Используйте эту команду, чтобы запретить перенаправление и объявление на интерфейсе ISATAP:

netsh interface ipv6 set interface ISATAPInterfaceNameOrIndex forwarding=disabled advertise=disabled

Используйте эту команду, чтобы удалить маршрут префикса подсети ISATAP с компьютера маршрутизатора ISATAP:

netsh interface ipv6 delete route ISATAPSubnetPrefix ISATAPInterfaceNameOrIndex

ISATAPSubnetPrefix – установленный префикс подсети ISATAP.

Дополнительную информацию о развертывании ISATAP, включая сведения об избыточных маршрутизаторах ISATAP и вопросах брандмауэра, можно найти в статье "Intra-Site Automatic Tunnel Addressing Protocol Deployment Guide" («Руководство по развертыванию протокола ISATAP») на go.microsoft.com/fwlink/?LinkId=106926.

Джозеф Дэвис (Joseph Davies) работает разработчиком технической документации в корпорации Майкрософт. С 1992 года занимается преподаванием и пишет о сетях Windows. Он автор восьми книг, опубликованных издательством Microsoft Press, и ведет ежемесячную рубрику «Кабельщик» в журнале TechNet. Более подробно о «Кабельшике» рассказывается на microsoft.com/technet/community/columns/cableguy/about.mspx.

© 2008 Корпорация Майкрософт и компания CMP Media, LLC. Все права защищены; полное или частичное воспроизведение без разрешения запрещено.