我办公室有一台TP-LINK的wifi路由器(TPlink TL-WDR7660),wifi路由器的WLAN设置是WLAN口的ipv4地址由上级路由器自动分配,ipv4的LAN有192.168.87.0/24子网,ipv6则设置为“桥接”或者“直通”模式(文档见此处:如何在 TP-Link Wi-Fi 路由器上设置 IPv6 互联网连接),所以所有的ipv6地址和设置都是由上层路由器分配的。
现在,如果我使用 Windows 10 PC 连接 wifi 路由器,我会看到 PC 正确获得了 ipv4 和 ipv6 地址,并且我可以在 Windows 10 PC 中正确访问或 ping 某些 ipv6 站点。
而我还有另一台电脑,它运行的是 Ubuntu 22.04。当我尝试将这台 Ubuntu 连接到 wifi 路由器时,我看到它正确地获得了 ipv6 地址。但是当我尝试 ping 某个 ipv6 站点时,它什么也没有返回,所以我无法使用 Ubuntu 访问 ipv6 网站。
以下是ifconfig
来自 Ubuntu 的命令结果:
wlxcdddddddddd: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.87.104 netmask 255.255.255.0 broadcast 192.168.87.255
inet6 2001:ddd:dddd:d::d:dddd prefixlen 128 scopeid 0x0<global>
inet6 fe80::9b9f:7ce6:bd5c:d445 prefixlen 64 scopeid 0x20<link>
ether c8:dd:dd:dd:dd:dd txqueuelen 1000 (Ethernet)
RX packets 2019255 bytes 787493044 (787.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2967086 bytes 1884873281 (1.8 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
注意,出于安全原因,我已将 inet6 地址的十六进制值更改为某些类似“dddddd”的字符。
ping
结果如下
ping6 he.net
PING he.net(he.net (2001:470:0:503::2)) 56 data bytes
^C
--- he.net ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9216ms
您会看到,命令没有返回任何内容ping
。
当我运行该ip -6 r
命令时,我得到了这样的结果:
::1 dev lo proto kernel metric 256 pref medium
2001:ddd:dddd:d::d:dddd dev wlxcdddddddd proto kernel metric 600 pref medium
fe80::/64 dev wlxcdddddddd proto kernel metric 1024 pref medium
default via fe80::42ee:ddff:fe60:1d9d dev wlxcdddddddd proto ra metric 20600 pref medium
当我尝试固定一些广播地址时,它确实返回一些值,如下所示:
ping6 -I wlxcddddddddddd ff02::1
ping6: Warning: source address might be selected on device other than: wlxcddddddddddd
PING ff02::1(ff02::1) from :: wlxcddddddddddd: 56 data bytes
64 bytes from fe80::9b9f:7ce6:bd5c:d445%wlxcddddddddddd: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxcddddddddddd: icmp_seq=1 ttl=64 time=541 ms
64 bytes from fe80::9b9f:7ce6:bd5c:d445%wlxcddddddddddd: icmp_seq=2 ttl=64 time=0.023 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxcddddddddddd: icmp_seq=2 ttl=64 time=4.34 ms
64 bytes from fe80::9b9f:7ce6:bd5c:d445%wlxcddddddddddd: icmp_seq=3 ttl=64 time=0.023 ms
ping6 -I wlxcddddddddddd ff02::2
ping6: Warning: source address might be selected on device other than: wlxcddddddddddd
PING ff02::2(ff02::2) from :: wlxcddddddddddd: 56 data bytes
64 bytes from fe80::82ea:7ff:febd:ee50%wlxcddddddddddd: icmp_seq=1 ttl=64 time=13.0 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxcddddddddddd: icmp_seq=2 ttl=64 time=12.0 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxcddddddddddd: icmp_seq=3 ttl=64 time=8.16 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxcddddddddddd: icmp_seq=4 ttl=64 time=5.05 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxcddddddddddd: icmp_seq=5 ttl=64 time=2.98 ms
我的 Ubuntu 中的防火墙已被禁用。
我也尝试通过此处提到的方法禁用“ra”选项:IPv6 通过 PPPoe? 但这并不能解决我的问题。
有任何想法吗?
我不确定为什么 Windows 10 在 ipv6 网络下可以正常工作,但 Ubuntu 22 却失败了。
谢谢。