使用 IPv6 通过互联网访问家庭网络中的 Rasperry Pi 失败。在寻找问题原因时,我注意到ifconfig
Pi 上显示的 IPv6 与路由器 (FritzBox) 不同。这怎么可能?
设置
- 主页A使用具有公共 IPv6 地址的互联网连接。FritzBox 7590 用作路由器。
- 在 HomeA 的家庭网络中,Synology Diskstation 和 Raspberry Pi 正在运行。
- FritzBox 配置为允许从互联网访问 Diskstation 和 Pi。Disksation 和 Pi 具有完全相同的权限/设置。
ifconfig
在此磁盘站显示完全一样FritzBox 显示的该设备的 IPv6 地址。ifconfig
在此PI节目不同的比 FritzBox 显示的 Pi 的 IPv6 地址更高。ping6
连接到 Diskstation 的 IPv6 没有问题。无论是从本地网络还是从互联网上的远程设备。访问此 Diskstation 上的其他服务(HTTP、OpenVPN 等)也没有问题。- 所有使用 IPv6 访问 Raspberry Pi 的尝试均失败。
配置
// ifconfig on the Pi (with obfuscate addresses)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.201.5 netmask 255.255.255.0 broadcast 192.168.201.255
inet6 2a00:aaaa:bbbb:cccc:dddd:eeee:ffff:79e4 prefixlen 64 scopeid 0x0<global>
inet6 fe80::aabb:ccdd:eee:fff prefixlen 64 scopeid 0x20<link>
ether bb:cc:dd:ee:ff:aa txqueuelen 1000 (Ethernet)
RX packets 424105 bytes 107106102 (102.1 MiB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 145621 bytes 80021709 (76.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
虽然这显示2a00:aaaa:bbbb:cccc:dddd:eeee:ffff:79e4
(混淆)为 IPv6 地址,但 FritzBox 显示的是完全不同的 IPv6 地址对于 Pi(前缀相同,但结尾不同):2a00:aaaa:bbbb:cccc:1111:2222:3333:c2a9
ping6
在 FritzBox 中显示的 IPv6 上运行失败,但对 Pi 中显示的 IPv6 执行 ping 操作却成功:
// Ping to Pi from computer in HomeA network
$ ping6 2a00:aaaa:bbbb:cccc:1111:2222:3333:c2a9 // FritzBox IP - FAILS
$ ping6 2a00:aaaa:bbbb:cccc:dddd:eeee:ffff:79e4 // ifconfig IP on Pi - OK
// Ping to Pi from a remote computer
$ ping6 2a00:aaaa:bbbb:cccc:1111:2222:3333:c2a9 // FritzBox IP - FAILS
$ ping6 2a00:aaaa:bbbb:cccc:dddd:eeee:ffff:79e4 // ifconfig IP on Pi - FAILS
// Ping to Diskstation from local OR remote computer
$ ping6 2a00:disk:stat:ioni:pv6... // same on Pi and on FritzBox - OK
// Using IPv6 on the Pi itself
$ ping6 google.com // OK
虽然访问 Diskstation 没有问题(本地和远程),但只能在本地网络中使用Pi 上显示的ping6
IPv6 地址。ifconfig
我仔细检查了 FritzBox 中的配置。Pi 具有与 Disksation 完全相同的权限/设置。Pi 本身的配置似乎有问题。
ifconfig
Pi 可能出了什么问题?路由器中的 IPv6 地址怎么可能不同?