我的第一个 IPv6 ping 失败

网络工程 ip IPv6
2022-02-23 19:10:13

我有一些双栈网站。当我打开我的网站时,他们第一次使用 IPv4 连接,然后是 IPv6。如果我直接 ping IP 地址,IPv6 的第一次 ping 会失败,然后工作正常。等待 24 小时同样的问题,第一次 ping 失败。

2607:9000:0:35::fc3:9749

是否有任何缓存问题,但看起来不像 ARP 缓存问题?

3个回答

IPv6 不使用 ARP,因此没有 ARP 缓存。IPv6 使用 ND,主机维护邻居缓存和目标缓存等。

这是正常行为,您也经常在 IPv4 中看到它。有时,目标设备响应其 MAC 地址的时间过长,并且 ping 会超时。真的没有错。

IPv6 使用邻居发现 (ND)。它维护 IPv6 邻居缓存条目,其中更新 IPv6 地址和 IPv6 链路本地地址。根据您的观察,它看起来可能是您的设备需要一些时间来解决邻居问题。理想情况下,当接口出现时,路由器应该发送 NS(邻居请求)并且邻居需要使用类似于 ARP(请求和回复)的 NA(邻居广告)消息来回复其 MAC。如果您的设备需要更多时间来解决进程,请检查状态机中的邻居状态,该条目可能在一段时间内处于不完整条目。它预计会持续几毫秒,但如果需要更多时间,则预计不会。有关更多信息,请参阅(RFC 4861)

我搬到了一个新的 VPS 提供商,它有同样的问题,然后我摆弄了一些设置

/etc/sysctl.d/99-sysctl.conf

并且未注释

net.ipv6.conf.all.forwarding=1

现在它工作正常,即使在 12 小时后 ping 也能正常工作。