Ping6回复转到不同的界面

网络工程 路由 网络 IPv6
2022-02-20 10:11:59

服务器 A 有两个接口 (i1i2),它们的 IP 相同,例如 fd11:1111:1111:1111::1/48。

服务器 B 具有相同的两个接口和相同的 IP,例如 fd11:1111:1111:1111::2/48。

当服务器 B ping 服务器 A 时,echo request数据包来自i1并且echo reply数据包被发送i2(所有这些都在 wireshark 中看到),所以ping6服务器 B 永远看不到回复。

如何“强制”内核将回复发送到传入接口?甚至可能吗?还是个好主意?

ping6如果不是,那么能够监听所有接口的回复是否有意义?还是我缺少更大的东西?

FWIW 这种情况(仅)在我使用 Bird2 和 OSPF 进行路由时发生,因为我认为您需要一些东西来设置路由,但如果 A 更喜欢i1而 B更喜欢,i2那么这无济于事。

(是的,这来自一个 XY 问题,我已经尝试在没有这个的情况下修复 X,但我仍然想知道在这种情况下应该做什么)

编辑:我在这个话题上找不到任何东西,这就是为什么我认为我可能在这里遗漏了一些东西

1个回答

您的设备是否实际配置了RFC4193 唯一本地 IPv6 单播地址或其他非链路本地单播地址?如果是这样,我不觉得你描述的行为太令人惊讶。

路由器如何响应 traceroute(即使对于 IPv4)也存在差异,类似于您观察到的意外 echo-r​​eply 源接口行为。我不确定它是否符合标准,但这可能是我们必须接受的现实。