Windows IPV6 - 无法 Ping 本地网络外部

Windows IPV6 - 无法 Ping 本地网络外部

我正在我们的网络上设置和测试 IPv6,但遇到了与我们的 Windows 客户端相关的问题。

我有一个 Cisco Catalyst 3850 交换机,用于 ipv6 单播路由,并在其上设置了两个网络。Catalyst 交换机还具有一个通向互联网的有效 ipv6 路由,并且我能够从交换机 CLI(从任一网络上的交换机 ipv6 网关地址)成功连接公共 ipv6 服务器地址,没有任何问题。

交换机上的网关地址/网络是:VLAN 20:2607:f460:21c0:a020::1/64 VLAN 200:2607:f460:21c0:a200::1/64

我可以从另一个配置的网络对其中一个网络进行 ping 操作,没有任何问题:

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 公共路由之外,交换机上没有设置任何 ACL 或特殊路由。

Windows 客户端位于 VLAN 20 上,具有静态地址:2607:f460:21c0:a020::2/64,其中 2607:f460:21c0:a020::1 设置为默认网关。

如果我 ping 网关,它就起作用了......

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.

如果我尝试 ping 本地 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.

事实上,跟踪在第一跳就失败并出现无法访问的情况,这对我来说意味着 Windows 似乎并没有尝试联系默认路由,而是在链接上搜索主机……

这对我来说没有意义,因为我有一个网关设置,并且它的度量比链接路由更低。

===========================================================================
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

有人能帮助我吗?

答案1

嗯,这是我刚刚发现的……

当我删除 ::/0 On-Link 路由时,它开始工作。除了假设窗口必须优先考虑 On-Link 路由(即使其度量高于手动配置的路由)之外,我不确定为什么会出现这种情况。

然后我问,“那条路线为什么会在那里?”...我做了一些挖掘,Windows 默认在 ipv6 接口上启用无状态自动配置(SLAAC)。可以通过针对相关接口发出以下命令来禁用此功能...

netsh inter ipv6 设置接口“X”routerdiscovery=disabled

当 SLAAC 被禁用时,::/0 On-Link 路由将被删除,一切都开始正常工作。

为什么SLAAC 配置了默认的链接路由,我不知道...如果有人可以向我解释的话我会得到加分...这是我的怀疑,我不会费心去测试 - 为了获得正确的默认路由,需要在我的路由器(我的交换机)上启用 SLAAC,这样它们才会将路由通告给我的 Windows 客户端。

我远离 SLAAC 因为我想使用我自己的寻址方案,所以我只会在静态分配的 Windows 服务器上禁用它。

我是希望对于我的 dhcp 客户端,我可以配置一个选项来告诉他们不要使用 SLAAC...

答案2

::/0 路由仅出现在我的几台服务器上。我可以删除该路由,它就不会再出现。然后 SLAAC 就会开始工作。

由于我们实际上不使用 Android 设备,因此我最终还是在托管网络上禁用了 SLAAC。我喜欢通过 DHCPv6 管理所有内容,而我在使用 SLAAC 寻址的 Windows 客户端上进行 DDNS 注册时遇到了麻烦。

相关内容