我有一个 ipv6 隧道,它在流量出站之前拒绝工作。如果我打开设备并 ping 入,直到我开始 ping 出的那一秒才得到响应。如果我然后离开几个小时并尝试再次ping,我将没有任何回应。
我正在为我的隧道使用 Debian Lenny 和 Hurricane Electric。我什至不确定从哪里开始调试这种行为,因为它太不寻常了。我已经使用了来自http://www.tunnelbroker.net/forums/index.php?topic=18.0的 Debian 配置和来自http://wiki.debian.org/DebianIPv6的配置以及各种调整之间,但我仍然无法让设备持续接受入站流量。没有 ip6tables,但我确实有各种 iptable 规则。有没有其他人遇到过这种问题?我可以做些什么来调试或解决这个问题?
编辑:不涉及 NAT,都是 IPv4 Cisco 基础设施。我认为我、交换机和路由器之间没有任何 IPv6。
在不了解您的网络设计的更多信息的情况下,我假设您的隧道端点位于 LAN 上的设备上,位于 Internet 路由器后面。我还假设设备通过路由器上的 NAT 访问互联网。
入站问题的可能原因是路由器上的 NAT 表。路由器不知道如何将入站 v6(协议 41)流量路由到隧道端点设备。只要您通过隧道将 v6 流量发送到出站,就会在 NAT 表中创建一个条目。此条目还允许路由器将入站流量发送回隧道端点。
在没有流量的一段时间后,路由器使条目过期并将其从其 NAT 表中刷新,因此没有入站流量能够再到达您的隧道端点。
你如何解决这个问题取决于你的路由器的能力。
解决方案 2 的示例:将以下内容放入您的 crontab
SixXS 常见问题解答中给出了真正的答案:
http://www.sixxs.net/faq/connectivity/?faq=conntracking
有关完整说明,请参阅该文章。