Ubuntu 22.04 在同一个 Wi-Fi 路由器下收到 IPv6 地址,但无法访问 IPv6 网站,而 Windows 10 则表现正常

Ubuntu 22.04 在同一个 Wi-Fi 路由器下收到 IPv6 地址,但无法访问 IPv6 网站,而 Windows 10 则表现正常

在我的办公室网络中,我有一个 TP-LINK wifi 路由器。所有 ipv4 网络运行良好。在 wifi 路由器的 ipv6 设置中,它被设置为“桥接”或“直通”模式(请参阅此处的文档:如何在 TP-Link Wi-Fi 路由器上设置 IPv6 互联网连接)。

在Windows 10下,ipv6工作正常,我获得了正确的ipv6地址(我获得了两个ipv6地址,一个以2001:xxxxxxx开头,我认为是全局ipv6地址,另一个以fe80开头,是本地链接地址。它可以正确访问ipv6网站。

在 Ubuntu 22.04 下,我看到它也有两个与 Windows 10 类似的 ipv6 地址,但我无法访问任何 ipv6 网站,也无法 ping 任何 ipv6 网站。

我刚刚测试了 Android 设备,不幸的是,它有与 Ubuntu 22.04 相同的问题。

我相信ipv6地址是由上级网关服务器分配的,所以在ubuntu下,我得到了这样的“ifconfig”结果:

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”的字符。

这是我的路线结果:

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

看起来fe80::42ee:ddff:fe60:1d9d是上级网关服务器,并且2001:ddd:dddd:d::d:dddd是分配的 ipv6 地址。

有人知道如何解决这个问题吗?

谢谢。

顺便说一句:我在 Ask Ubuntu 网站上有类似的问题(请参阅:网络 - 在同一个 wifi 路由器下,ubuntu 22.04 获得了 ipv6 地址,但无法访问 ipv6 网站,而 windows 10 可以正常工作,为什么? - 询问 Ubuntu),但我在那里没有得到答案,所以我在这个网站上问了一个类似的问题,我希望我能在这里得到一些帮助,谢谢。

编辑:添加我的回答u1686_grawity的评论:

  1. 所有系统(包括工作系统和非工作系统)是否都具有相同的默认网关?您的 Ubuntu 有 fe80::42ee:ddff:fe60:1d9d;这与 Windows 的相同吗?

是的,在 Windows 10 下,当我运行命令时ipconfig /all,我看到 ipv6 网关服务器是fe80::42ee:ddff:fe60:1d9d,所以它们是相同的。

  1. Android 是否有任何“2xxx:”IPv6 地址?(Wi-Fi 网络设置应该列出它们。)

我目前不在办公室,所以无法测试 Android 设备,我稍后会更新此信息。

编辑2:我刚刚测试了一个iphone设备,它可以获取2xxx全局ipv6地址,但无法访问ipv6站点。

  1. 您使用 USB Wi-Fi 适配器吗?

是的。我已经测试了有线连接到 wifi 路由器(wifi 路由器有 4 个有线 LAN 端口),结果是一样的,我在 ubuntu 下也无法访问 ipv6 网站。

  1. fe80::42ee:ddff:fe60:1d9d%wlxcddd能从 Ubuntu 成功 ping 通吗?

不,我不能。我可以看到 wifi 路由器的本地 ipv6 链接地址,即fe80::82ea:7ff:febd:ee50,我可以标记 wifi 路由器的 ipv6 地址,但无法标记网关服务器地址,请参阅下面的“编辑 3”部分。

  1. 您能否从 Ubuntu 通过 IP 地址(而非域名) ping 站点,例如 ping 2001:4860:4860::8888 或 ping 2606:4700:4700::1111?

不,我不能。看起来 ping 包无法通过我的 Ubuntu 中的 wifi 路由器。我无法 ping 我从 Ubuntu 下的 wifi 网络属性对话框中看到的 ipv6 dns 服务器。但在 Windows 10 下,我可以成功 pin 通许多 ipv6 站点。

编辑3:这是我尝试 ping 本地 wifi 路由器的结果。

ping6 -I wlxc83a35c042a2 fe80::82ea:7ff:febd:ee50
ping6: Warning: source address might be selected on device other than: wlxc83a35c042a2
PING fe80::82ea:7ff:febd:ee50(fe80::82ea:7ff:febd:ee50) from :: wlxc83a35c042a2: 56 data bytes
64 bytes from fe80::82ea:7ff:febd:ee50%wlxc83a35c042a2: icmp_seq=1 ttl=64 time=7.94 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxc83a35c042a2: icmp_seq=2 ttl=64 time=1.81 ms
64 bytes from fe80::82ea:7ff:febd:ee50%wlxc83a35c042a2: icmp_seq=3 ttl=64 time=1.44 ms

但是我尝试固定网关服务器,结果失败了,如下所示:

ping6 -I wlxc83a35c042a2 fe80::42ee:ddff:fe60:1d9d
ping6: Warning: source address might be selected on device other than: wlxc83a35c042a2
PING fe80::42ee:ddff:fe60:1d9d(fe80::42ee:ddff:fe60:1d9d) from :: wlxc83a35c042a2: 56 data bytes
^C
--- fe80::42ee:ddff:fe60:1d9d ping statistics ---
13 packets transmitted, 0 received, 100% packet loss, time 12291ms

相关内容