Я настраиваю и тестирую IPv6 в нашей сети и столкнулся с проблемой с нашими клиентами Windows.
У меня есть настройка коммутатора Cisco Catalyst 3850 для одноадресной маршрутизации ipv6, и на нем установлены две сети. Коммутатор-катализатор также имеет рабочий маршрут ipv6 к Интернету, и мне удалось без проблем связаться с общедоступными адресами серверов ipv6 через интерфейс командной строки коммутатора (с адреса шлюза ipv6 коммутатора в любой сети).
Адреса / сети шлюза на коммутаторе: VLAN 20: 2607: f460: 21c0: a020 :: 1/64 VLAN 200: 2607: f460: 21c0: a200 :: 1/64
Я могу без проблем пропинговать одну из настроенных сетей от другой:
ping 2607:f460:21c0:a200::1 source 2607:f460:21c0:a020::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2607:F460:21C0:A200::1, timeout is 2 seconds:
Packet sent with a source address of 2607:F460:21C0:A020::1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
На коммутаторе нет списков управления доступом или специальных маршрутов, кроме общедоступного маршрута по умолчанию :: / 0 в Интернет.
Клиент Windows находится в VLAN 20 и имеет статический адрес: 2607: f460: 21c0: a020 :: 2/64 с 2607: f460: 21c0: a020 :: 1, установленным в качестве шлюза по умолчанию.
Если я пингую шлюз, он работает ...
C:\Windows\system32>ping 2607:f460:21c0:a020::1
Pinging 2607:f460:21c0:a020::1 with 32 bytes of data:
Reply from 2607:f460:21c0:a020::1: time=2ms
Reply from 2607:f460:21c0:a020::1: time=2ms
Reply from 2607:f460:21c0:a020::1: time=2ms
C:\Windows\system32>tracert -6 2607:f460:21c0:a020::1
Tracing route to 2607:f460:21c0:a020::1 over a maximum of 30 hops
1 2 ms 2 ms 2 ms 2607:f460:21c0:a020::1
Trace complete.
Если я попытаюсь выполнить эхо-запрос за пределами локальной сети On-Link, произойдет сбой с ошибкой недоступности:
C:\Windows\system32>ping 2607:f460:21c0:a200::1
Pinging 2607:f460:21c0:a200::1 with 32 bytes of data:
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Ping statistics for 2607:f460:21c0:a200::1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Tracing route to 2607:f460:21c0:a200::1 over a maximum of 30 hops
1 Destination host unreachable.
Trace complete.
Тот факт, что трассировка не выполняется на первом переходе с недоступностью, подразумевает для меня, что окна, похоже, не пытаются связаться с маршрутом по умолчанию, а скорее ищут хост по ссылке ...
Для меня это не имеет смысла, потому что у меня установлен шлюз, и он имеет более низкую метрику, чем маршрут по ссылке.
===========================================================================
Interface List
7...00 50 56 94 e7 38 ......vmxnet3 Ethernet Adapter
1...........................Software Loopback Interface 1
===========================================================================
IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
7 271 ::/0 On-link
7 271 ::/0 fe80::521c:bfff:fe73:1656
7 16 ::/0 2607:f460:21c0:a020::1
1 331 ::1/128 On-link
7 271 2607:f460:21c0:a020::/64 On-link
7 271 2607:f460:21c0:a020:947a:1291:c6e3:b93d/128
On-link
7 271 fd67:df27:a77::/48 On-link
7 271 fd67:df27:a77:7777::/96 On-link
7 271 fe80::/64 On-link
7 271 fe80::947a:1291:c6e3:b93d/128
On-link
1 331 ff00::/8 On-link
7 271 ff00::/8 On-link
===========================================================================
Persistent Routes:
None
Кто-нибудь может мне с этим помочь?
Маршрут :: / 0 встречался только на нескольких моих серверах .. Я мог удалить маршрут, и он не возвращался .. Тогда SLAAC начал бы работать.
Я все равно отключил SLAAC в моих управляемых сетях, поскольку мы на самом деле не используем устройства Android. Мне нравится, когда все управляется DHCPv6, и у меня возникли проблемы с регистрацией DDNS, работающей с моими клиентами Windows с использованием адресации SLAAC.
Что ж, вот что я только что обнаружил ...
Когда я удаляю маршрут :: / 0 On-Link, он начинает работать. Я не уверен, почему это могло быть так, кроме предположения, что окна должны отдавать приоритет маршрутам по ссылке, даже если их метрика выше, чем маршрут, настроенный вручную.
Затем я спросил: «Зачем вообще этот маршрут?» ... Я немного покопался, и Windows по умолчанию включает автоконфигурацию без сохранения состояния (SLAAC) на интерфейсах ipv6. Это можно отключить, выполнив следующую команду для интерфейса в вопрос...
netsh inter ipv6 установить интерфейс "X" routerdiscovery = disabled
Когда SLAAC отключается, маршрут :: / 0 On-Link удаляется, и все начинает работать.
Зачем SLAAC настраивает этот маршрут по умолчанию, я не знаю .. Бонусные баллы, если кто-то может мне это объяснить ... Вот мое подозрение, которое я не собираюсь тестировать - чтобы получить правильный маршрут по умолчанию, SLAAC должен быть включен на моих маршрутизаторах (моих коммутаторах), чтобы они объявляли маршруты моим клиентам Windows.
Я избегаю SLAAC, потому что хочу использовать свою собственную схему адресации, поэтому я просто отключу ее на своих статически назначенных серверах Windows.
я надеясь для моих dhcp-клиентов я могу настроить опцию, чтобы они не использовали SLAAC ...