У меня есть Windows Server, работающий в локальной сети, который действует как маршрутизатор и VPN-сервер. У него есть адрес IPv4 с включенным NAT для предоставления доступа к Интернету для устройств в сети. У него также есть публичный адрес IPv6 2001:470:ffff::1
с подсетью, 2001:470:ffff::/48
назначенной интернет-провайдером. Когда у меня включен DHCPv6, устройствам в сети назначается адрес IPv6, как 2001:470:ffff::1234
и они могут взаимодействовать друг с другом по IPv6. Однако они не могут получить доступ к Интернету IPv6 из-за отсутствия шлюза по умолчанию. На клиентах Windows, если я добавлю маршрут route add ::/0 2001:470:ffff::1
, у них будет доступ к Интернету IPv6 и они смогут связаться из Интернета.
Если я отключу DHCPv6, клиентам не будет назначен адрес IPv6.
Проблема, по-видимому, в том, что RRAS не рассылает пакеты объявлений маршрутизатора.
RRAS настроен следующим образом.
Как правильно настроить RRAS в качестве маршрутизатора IPv6?
решение1
Оказывается, Windows вполне способна выступать в роли маршрутизатора IPv6 и рассылать пакеты Router Advertisement. Однако ее нельзя настроить в пользовательском интерфейсе RRAS.
Требуются две команды netsh.
netsh interface ipv6 set route 2001:470:ffff::/64 "Ethernet" publish=yes
netsh interface ipv6 set interface "Ethernet" advertise=enabled
Первая команда публикует 2001:470:ffff::/64 в качестве префикса для SLAAC.
Вторая команда публикует интерфейс «Ethernet» и его локальный адрес в качестве шлюза по умолчанию в пакетах Router Advertisement. «Ethernet» — это сетевой интерфейс для порта LAN.