radvd
我正在尝试在 6RD 配置(在 Linux 上)上进行设置,其中我有一个 /64 子网,并且我尝试在两个不同的物理网络上使用它,因此我尝试为每个物理网络提供一个 /80 子网。但是,当我radvd
在这些接口上启动时,它显示以下内容:
radvd[3987]: prefix length should be 64 for int
(int
是其中一个接口的名称。)
我知道无状态自动配置不适用于大于 /64 的子网,例如 /48 子网,但据我所知,它应该适用于小于 /64 的任何子网,因此 /80 应该不是问题。现在,最终的效果是,它radvd
只是通告了错误的子网前缀,实际上“删除”了它的前 16 位。
这是什么?我是不是完全搞错了,有radvd
问题,还是我遗漏了某些配置选项?
答案1
radvd
没有错误,IPv6 子网必须是 /64,无状态自动配置才能正常工作。如果您使用其他任何设备,则必须手动配置网络上的每个设备。不提供手动配置选项的设备将根本无法工作。
除非您确实知道自己在做什么(例如在路由器之间的点对点链接上使用 /127),否则您应该始终对 LAN 使用 /64。
答案2
请注意,自动生成的 IPv6 地址类似于 2001:db8:1234:1234:xxxx:xxff:feyy:yyyy,其中 xxxxxx 和 yyyyyy 是 MAC(一位反转)。这就是为什么 radvd 9 或任何其他无状态配置工具)不能使用任何其他前缀长度。
对于其他长度,您仍然可以使用状态工具 - DHCPv6。