我在连接到 IPv4 互联网的 NAT 路由器后面有一台 Vista64 机器。
我的机器上启用了 Teredo,并且我有一个带有 2001:0: 前缀的 IPv6 地址。我可以ping
在 IPv6 Internet 中使用多个服务器(如force.ipv6only.se
或ipv6.google.com
),并tracert
显示我的 IPv6 流量是通过 teredo 中继路由的。但是,我无法从 IPv6 Internet 中的机器连接或 ping 我的机器。在这个方向上的Atracert
在 teredo 继电器处停止。
连接到 NAT 后启用 Teredo 的服务器需要哪些步骤?
很可能是防火墙问题。如果允许文件和打印机共享,则启用 Ping。默认情况下,Vista 的防火墙只允许本地子网上的文件和打印机共享。因此,来自 IPv6 Internet 上其他地方的机器位于不同的子网中,将无法访问文件和打印机共享服务,包括 Ping。
我最近没有花太多时间在 Vista 的防火墙上(这些天我主要是 Linux 用户),所以我不能给你确切的步骤来解锁这个,但是尝试暂时关闭防火墙,看看它是否有区别.
检查具有本机 IPv6 的机器是否不在阻止
icmpv6
.我遇到了类似的问题,6to4 网络中的机器无法连接到另一个网络中使用 teredo 的机器。明确允许
icmpv6
6to4 网关中的 IPv6 防火墙(而不仅仅是使用 ip6table's-m state --state ESTABLISHED,RELATED
)足以解决问题。发生这种情况是因为 teredo 将 IPv6 ping 发送到“本机”(在本例中为 6to4)主机,iptables 不会识别为“RELATED
”,并且如果该 ping 数据包被丢弃或拒绝,它将无法工作。一般来说,阻塞 ICMP 只会让人头疼,但我(事实证明是错误的)相信 netfilter 的状态跟踪器足以允许所有需要的 ICMP 数据包。
如果您在 NAT 后面,则很有可能当 Teredo 服务器尝试打开与您的连接时,但您的 NAT 并未将正确的端口转发给您。
我会找出需要哪些端口,或者如果可能的话将所有端口转发到您的机器以测试它确实是端口转发问题。
查看go6 在 Teredo 上的 wiki并查看“Teredo IPv6 寻址”部分是否让您了解您可能需要查看的其他内容。您应该能够查看分配的 IPv6 地址,然后确定需要转发的端口。