我的 ISP 向感兴趣的客户提供 IPv6,但不提供任何相关的支持。
技术支持人员为我提供了一个 /64 前缀(我们称之为 2345:6789:11:22::/64)、一个网关地址(2345:6789:11:22::1)和两个 DNS 服务器地址。他们告诉我必须使用静态 IP,并建议我为家庭网络使用 2345:6789:11:22:1::(但我想没有什么可以阻止我在该子网上使用我想要的任何东西)。我一直使用 2345:6789:11:22::2/64(以及 2345:6789:11:22:1::2/64)作为插入 DSL 调制解调器的 OpenWrt 路由器的 WAN 接口。
我被告知他们已经阻止了邻居发现协议 (NDP),因为 Windows Vista 客户端会产生大量流量。果然,Wireshark(运行在直接插入 DSL 调制解调器的无防火墙 Linux 机器上)没有显示对邻居/路由器请求消息的回复。
另外,技术支持告诉我,一般来说,在运行 IPv6 时,默认网关将始终等于字首::1,但据我所知,这不是规范的一部分,而只是惯例(类似于 192.168.1.1 往往是 IPv4 中的默认网关,但也可以是 192.168.13.37)。
至于 IPv4 互联网连接,我的路由器会立即通过 DHCP 获取 IP,然后我就可以上网了。没有任何问题。
然而,IPv6 连接甚至无法连接到上游网关,如下测试所示:
- ping6 网关 2345:6789:11:22::1 (或者实际上任何非本地 IP):没有回复
- traceroute6 任何 IPv6 地址:永远不会超过我的家庭网络
据技术支持称,DSL 调制解调器根本不过滤任何流量。
从我的 OpenWrt 路由器 WAN 接口 (2345:6789:11:22::2/64) ping 我的 Linux 机器 (静态 IP: 2345:6789:11:22::3/64) 非常顺利。在我执行此操作时,我正在与技术支持人员通话,他告诉我将我的 OpenWrt 路由器插入 DSL 调制解调器,奇怪的是,他能够在他那边短暂地看到这些 ICMPv6 数据包 (从我的路由器发送到我的 Linux 机器)。他使用的是 tcpdump。这可能是什么原因造成的?他看不到来自我的 DSL 线路的其他 IPv6 流量。
此外,Wireshark(在我的 Linux 机器上运行)显示,即使直接插入 DSL 调制解调器,技术支持也无法向我的 Linux 机器或路由器发送任何 ping6 消息。
技术支持人员最终坚持说他们那边没有问题。显然,他们的几个客户都拥有功能齐全的 IPv6 互联网连接。他建议问题可能是由我的设备上不适当的 iptables 规则引起的,但我后来排除了这种可能性(因为我在 Linux Box 上运行的 Kali Linux live USB 带有完全开放的防火墙,即没有 iptables 规则)。
我怎样才能向技术支持确切地证明问题不在于我的配置(或发现问题实际上在于我的配置)?