我最近发现我的 ISP 支持 IPv6,所以我决定试一试,配置了路由器,尝试从路由器 ping ipv6.google.com,一切正常。我为内部网络 (5 台 mac) 配置了 RADVD,它们都很高兴地获取了 IPv6 地址。我使用http://test-ipv6.com除一台机器外,其他所有机器运行良好。
它有一个 IPv6 地址,但在 ifconfig 中显示为“重复”。没什么大不了的,我尝试手动设置地址(同时保持相同的前缀),但没有成功。对于我手动设置的每个地址,它都说该地址已被使用。
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 <link-local address> prefixlen 64 scopeid 0x5
inet6 <global address 1> prefixlen 64 duplicated autoconf
inet6 <global address 2> prefixlen 64 duplicated autoconf temporary
media: autoselect
status: active
有趣的是,当使用 tcpdump 直接观察网络流量时,我可以看到机器尝试获取 IP 地址时的邻居请求,但没有记录任何响应!
23:25:54.808324 IP6 <router link-local> > ff02::1: ICMP6, router advertisement, length 56
23:26:01.360319 IP6 <router link-local> > ff02::1: ICMP6, router advertisement, length 56
23:26:02.696644 IP6 <machine link-local> > ff02::2: ICMP6, router solicitation, length 16
23:26:02.702210 IP6 <machine link-local> > ff02::2: ICMP6, router solicitation, length 16
23:26:04.386366 IP6 <router link-local> > ff02::1: ICMP6, router advertisement, length 56
23:26:04.386676 IP6 :: > ff02::1:ff99:be5a: ICMP6, neighbor solicitation, who has <machine global address 1> length 24
23:26:04.386677 IP6 :: > ff02::1:ffa8:2700: ICMP6, neighbor solicitation, who has <machine global address 2> length 24
23:26:04.387441 IP6 :: > ff02::1:ff99:be5a: ICMP6, neighbor solicitation, who has <machine global address 1> length 24
23:26:04.387776 IP6 :: > ff02::1:ffa8:2700: ICMP6, neighbor solicitation, who has <machine global address 2> length 24
23:26:10.078898 IP6 <router link-local> > <machine link-local>: ICMP6, neighbor solicitation, who has <machine link-local>, length 32
23:26:10.078987 IP6 <machine link-local> > <router link-local>: ICMP6, neighbor advertisement, tgt is <machine link-local>, length 24
23:26:12.712866 IP6 <router link-local> > ff02::1: ICMP6, router advertisement, length 56
23:26:15.059605 IP6 <machine link-local> > <router link-local>: ICMP6, neighbor solicitation, who has <router link-local>, length 32
23:26:15.060925 IP6 <router link-local> > <machine link-local>: ICMP6, neighbor advertisement, tgt is <router link-local>, length 24
23:26:21.064025 IP6 <router link-local> > ff02::1: ICMP6, router advertisement, length 56
23:26:25.014812 IP6 <router link-local> > ff02::1: ICMP6, router advertisement, length 56
我使用的是 2009 年末的 MacBook,系统是 MacOS X 10.8.2。有人遇到过类似的问题吗?
答案1
实际上,这个问题似乎是由我的路由器上的 IPv6 实现引起的。请参阅这个帖子:
我买了这个路由器。确实可以设置一个假的 6rd 连接并配置 radvd,使其适用于有线客户端。但是,这个路由器有一个错误,导致 IPv6 完全无法通过 Wi-Fi 使用。也就是说,当无线设备广播重复地址检测数据包时,路由器会将其重新发送(作为单播 - 这是错误)到所有关联的无线站点,包括发送它的站点。由于这是一个单播数据包,原始站点会认为:哎呀!我的链路本地地址有重复!并且我的 SLAAC 配置地址是重复的!