Linux 不发送路由数据包的 NDP

Linux 不发送路由数据包的 NDP

我在三台机器 A、B、C 上配置了 IPv6 网络(B 和 C 是运行在 A 上的 LXD 容器)。B 和 C 仅直接连接到 A。我在连接 A 到 B 和 C 的接口上分别分配了地址fdef:9062:4cf7:5::2/64fdef:9062:4cf7:5::2/64。我在 B 和 C 上分配了fdef:9062:4cf7:5::1/64地址。我在 B 和C 上fdef:9062:4cf7:3::1/64添加了路由。我在所有主机上都这样做了,但我没有运行。fdef:9062:4cf7::1/48 via fdef:9062:4cf7:5::2/64fdef:9062:4cf7::1/48 via fdef:9062:4cf7:3::2/64net.ipv6.conf.all.forwarding=1radv

现在,我可以从主机 A ping B 和 C,但只有当 B 和 C 位于 A 邻居缓存中时,才能从 C ping B(反之亦然)!就好像内核忘记为路由数据包发送 NDP,但不会为直接发送的数据包发送 NDP ping

这是正常现象吗?我很困惑,因为我原本以为 IPv6 路由的工作方式与 IPv4 路由相同。

相关内容