我最近按照http://www.chronos-tachyon.net/reference/debian-ipv6-and-hurricane-electric上的说明将 IPv6 添加到我们的网络。
但是,网络上的主机会自动将默认路由配置为路由器的链路本地地址,而不是全局地址。
http://ipvsix.me/?p=88上的文章说:
您会发现在 LAN 主机上,它们的默认路由和网关指向充当 IPv6 网关/路由器的 Linux 机器上的 eth1 的 Link-Local 地址。这是完全正常和意料之中的。
我的问题是路由器(运行 Debian 的派生版本)不响应 NDP 对其链接本地地址的请求,因为它配置了全局地址。
有没有办法:
- 让主机自动使用路由器的全局地址作为默认主机,或者
- 让路由器回复 NDP 对其链路本地地址的请求。
/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 {};
};
IPv6 背靠背路由完全基于链路本地地址,因此路由器考虑网关链路本地是很正常的。
即使您使用 IPv6 全局地址,设备也会使用网络发现进行第 2 层解析以获取链路本地地址。
原来我在
/etc/radvd.conf
. 更正它解决了这个问题。检查你的防火墙设置.. 我最好的猜测是有什么东西阻止了 icmp6,它破坏了 IPv6,甚至比 IPv4 的等效错误更糟糕。列出 ipv6 防火墙规则的最简单命令(作为 root):