Назад | Перейти на главную страницу

Проблема IPv6 в Hyper-V

Я тестирую настройку IPv6 с использованием Hyper-V на 2008 R2.

Я установил одну виртуальную машину в качестве контроллера домена с 2008 R2 Standard Edition, AD, DNS и DHCP. У меня есть одна виртуальная машина как Windows 7 RTM x64, как член домена.

Подключение по IPv4 работает нормально, здесь нет проблем. С другой стороны, IPv6 ведет себя странно. DHCPv6 работает без проблем, клиенту назначается IPv6-адрес, а также доставляется адрес DNS-сервера. Но как только я пингую с помощью Ping -6, я получаю "PING: передача не удалась. Общий отказ". Если я пингую с контроллера домена на рабочую станцию, я получаю сообщение" Превышено время ожидания запроса ".

Поскольку это тестовая сеть, я отключил брандмауэры, но это не меняет ситуации. Я использую fd48: 5884: e6ae: e8e9 :: / 64 в качестве префикса, fd48: 5884: e6ae: e8e9 :: 1 - это DNS-сервер, рабочая станция имеет динамический адрес, назначенный DHCPv6.

Сброс IP-стека на рабочей станции («netsh int ip reset» и «netsh int ipv6 reset») тоже не помогает.

Редактировать: Похоже, что маршрут не добавлен на клиенте. Проверка локальных адресов ссылок работает от сервера к клиенту и наоборот. Тоже кажется у меня какая-то реклама роутера с netsh. Я изучу это и опубликую продолжение.

Изменить 2: Кажется, что реклама маршрутизатора необходима для публикации маршрута в сети. Кроме того, для включения DHCPv6 необходимо активировать флаги «Managed» и «Otherstateful».

Теперь у меня работает IPv6, единственная проблема, с которой я сталкиваюсь, заключается в том, что каким-то образом клиент получает 4 адреса IPv6. 2 обычных адреса, один временный и один локальный для ссылки. Два обычных адреса, вероятно, означают, что один из двух выполняется с помощью автоконфигурации.

Это обычная идея при использовании DHCPv6 или я что-то упускаю?

Заранее спасибо.

«Правильный» способ выделить IPv6-адрес - это autoconf с объявлениями маршрутизатора. Я бы не рекомендовал заставить DHCPv6 работать для распределения адресов.

Вам по-прежнему нужен DHCPv6 - он нужен для выделения адресов DNS-серверов, но IP-адрес и маршрут по умолчанию должны исходить от RADV.

Все в IPv6 имеет локальный для ссылки и глобальный (ну, ULA в данном случае, но сводится к одному и тому же) адрес, поэтому не беспокойтесь об этом. Наличие двух глобальных IPv6 предполагает, что он получает один через autoconf, а другой через DHCPv6 - попробуйте настроить DHCP для работы с вашим RADV, а не переопределять его.

Заставляем виртуальные сети «работать» в Hyper-V. (Примечание: те же принципы применимы и к IPV4)

Я предполагаю, что сеть является общедоступной, и вы не можете просто отключить брандмауэр для этого типа сети.

Перед началом: убедитесь, что у вас одинаковая длина префикса подсети IPV6 на всех машинах, и убедитесь, что все связанные адаптеры настроены на одну и ту же виртуальную сеть.

Сделайте вашу виртуальную сеть частной.

  1. Перейти к центру управления сетями и общим доступом
  2. На рисунке дважды щелкните виртуальную сеть
  3. Нажмите на баннер вверху открывшейся страницы («Обмен файлами по сети и ....»
  4. В появившемся списке выберите Включить обнаружение сети и общий доступ к файлам.
  5. Во всплывающем окне выберите «Нет, сделать сеть, к которой я подключаюсь, частной ....»

В домашней лаборатории я установил сервер Windows RRAS, который выполняет маршрутизацию ipv6. Включена маршрутизация в RRAS, то же самое касается установки префикса, а установка его для рекламы не работает. Вам все равно нужно выполнить эти команды ниже. Пойдет более подробно. Я пропустил большинство команд, за исключением двух ниже, поскольку RRAS уже был настроен для маршрутизации для IPv6. https://rakhesh.com/windows/enpting-ipv6-router-advertisements-on-windows/

netsh interface ipv6 set interface "Ethernet" routerdiscovery = enabled Advertise = включен

netsh interface ipv6 set interface "Ethernet" forwarding = enabled

netsh interface ipv6 set route 2001: db8: 1 :: / 64 "Local Area Connection" publish = yes (это сеть, которую вы хотите анонсировать)

Что меня расстраивает, так это в том, что установлен префикс RRAS, установлена ​​реклама, и он включен для маршрутизации. Однако мне все еще нужно было запускать эти команды, чтобы клиенты DHCPv6 могли пинговать IP-адреса, такие как static 2001: db8: 1 :: 2, виртуальной машины DC.

У меня было интересное наблюдение: клиент со статическим IPv6 на tracert не попадает ни в один шлюз по умолчанию при пинге IPv6 в локальной сети. Однако клиенты DHCPv6 проходят через маршрутизатор IPv6 как переход. Это настолько странно, что вы можете подумать, что они могут просто пинговать, не делая прыжка. В конечном итоге проблема заключалась в том, что локальная сеть fe80 link рекламировалась как маршрут для других клиентов. После того, как я запустил третий упомянутый мною cmd (publish = yes), ping не переходил к месту назначения.