我最近根据http://www.chronos-tachyon.net/reference/debian-ipv6-and-hurricane-electric上的说明在我们的networking中添加了IPv6。
但是,networking中的主机会自动将默认路由configuration为路由器的链路本地地址,而不是全局地址。
http://ipvsix.me/?p=88上的文章说:
您将发现,在LAN主机上,其默认路由和网关指向充当IPv6网关/路由器的Linux机器上的eth1的链路本地地址。 这是完全正常的和预期的。
我的问题是,路由器(运行Debian的派生)不响应NDP的链接本地地址请求,因为它有一个全局地址configuration。
有什么办法可以:
/etc/radvd.conf在路由器上:
interface eth0 { AdvSendAdvert on; AdvLinkMTU 1480; MinRtrAdvInterval 60; MaxRtrAdvInterval 180; prefix 2001:xxxx:xxxx:xxxx::1/64 { AdvRouterAddr on; AdvPreferredLifetime 600; AdvValidLifetime 3600; }; route ::/0 { }; RDNSS 2001:xxxx:xxxx:xxxx::2 {}; };
原来我在/etc/radvd.conf指定了错误的接口。 纠正它解决了这个问题。
IPv6背靠背路由完全基于链路本地地址,因此,正常情况下,看到路由器考虑网关链路本地。
即使使用IPv6全局地址,设备也将使用networking发现function来执行第2层parsing,以获取链路本地地址。
检查你的防火墙设置..我最好的猜测是有些东西阻止icmp6,这打破了IPv6甚至比IPv4的等效错误更糟糕。 列出ipv6防火墙规则最简单的命令(以root身份):
ip6tables -L -n