IPv6 Teredo主机和IPv6 6to4主机之间的连接

我有两台电脑。

主机1是在VirtualBox VPN中运行Miredo(Teredo客户端)的Debian机器。 VM主机正在私有IP地址空间(192.168.0.0)下运行。

主机2是一台Ubuntu机器。

主机1 < – >虚拟主机< – >公司NAT网关< – >互联网< – > D-Link 6to4 < – >主机2

  • 从主机1我可以ping6 ipv6.google.com
  • 从主机2我可以ping6 ipv6.google.com
  • 从主机1到主机2,95%的数据包被丢弃。 可能

但是我不能ping通主机1和主机2.我得到了95%的数据包被丢弃。 有趣的是,其中一些实际上是通过了,但还不足以build立一个可靠的联系。

我的问题

是否可以在IPv6 6to4主机和IPv6 Teredo主机之间进行通信?

更新:我设法得到一个traceroute之间的机器正在工作…

  1 6to4.fmt2.he.net (2001:470:0:108::2) 102.245 ms 102.240 ms 102.244 ms 2 gige-g5-20.core1.fmt2.he.net (2001:470:0:108::1) 102.487 ms 102.387 ms 102.267 ms 3 10gigabitethernet1-2.core1.pao1.he.net (2001:470:0:30::2) 365.425 ms 365.299 ms 365.180 ms 4 6to4.pao1.he.net (2001:470:0:13b::2) 369.045 ms 367.008 ms 366.802 ms 5 2002:ae00:444a::ae00:444a (2002:ae00:444a::ae00:444a) 164.187 ms 167.457 ms 172.094 ms 6 2002:ae00:444a:5:215:f2ff:fe5c:2a16 (2002:ae00:444a:5:215:f2ff:fe5c:2a16) 171.991 ms * * 

它在工作之间跳跃,75%的数据包失败,只是普通的旧目标无法访问。

已知6to4是不可靠的,Teredo更糟。 当您在6to4和Teredo之间进行通信时,由于协议之间的复杂交互作用,您可以将每个组合的所有问题加在一起。

因此,您可能会感到惊讶,答案是: 您可以在6to4和Teredo之间获得可靠的沟通。

两种协议都遭受同样的主要问题。 他们依靠第三方继电器,由于其第三方性质没有SLA而没有提供。

Teredo在两个方向上使用一个中继。 6to4通常使用两个不同的方向,但由于Teredo中的三angular形布线,最终取决于三个6to4继电器,而不仅仅是两个。 这是总共四个第三方继电器,你将依靠 – 所有这些都必须有足够的容量为您的stream量。

但是你不必依靠第三方中继。 你可以设置你自己的继电器。

设置您自己的Teredo中继

Teredo中继是最简单的设置,它恰好是您的scheme中最重要的。 Teredo中继需要公共IPv4地址上的单个UDP端口。 因此,您不应该在D-Link路由器后面的局域网上部署中继。 您应该避免在LAN和Teredo中继之间的path上有任何6to4中继/网关。 因此,您不应该在D-Link路由器之外部署继电器。

简而言之,您需要在D-Link路由器上使用Teredo中继,以使连接可​​靠地工作。 如果D-Link无法运行Teredo中继,则最好的select是将D-Link路由器replace为可运行Teredo中继的路由器。 根据我的经验,如果您使用配有中继模式Miredo的Linux机器作为路由器,它将可靠工作。

在D-Link路由器上部署自己的Teredo中继不仅意味着您不再依赖第三方Teredo中继。 它也将为您提供Teredo中继和您的LAN之间的本地path,因此您避免了三个第三方6to4中继中的两个。

还剩下什么

你仍然会依靠单一的第三方6to4中继。 Teredo客户端需要select使用哪个Teredo服务器。 我所知道的两个Teredo客户端都有一个默认的configuration,如果你自己不改变configuration,将会使用它。 从Teredo服务器到您的D-Link路由器的networkingpath将不得不通过6to4中继。

所以你需要做的是select一个可以访问可靠的6to4中继的Teredo服务器。 理想情况下,应该在运行Teredo服务器的机器上configuration6to4中继。

这是一个可取的configuration?

只要你的路由器有一个公共的IPv4地址,在你的路由器上安装一个Teredo中继绝对是一个可靠性的提高。 对于任何与Teredo用户的通信而言,这将显着提高可靠性,并且不会对其他通信产生任何影响。 无论您的路由器是在做6to4还是本地IPv6,情况都是如此。

但是,在局域网上使用6to4是不可取的,因为许多networking没有安装任何6to4中继。 在你的局域网上的主机经常会遇到与使用本地IPv6的主机进行通信的问题。

不build议使用Teredo客户端,因为6to4不是这样的原因。 但是在Teredo可能有用的情况下有几个例子。 最重要的是,Teredo客户端可以连接到路由器后面LAN上的主机(假设您的路由器有Teredo中继)。 有时我遇到的CGN部署工作如此糟糕,Teredo通过CGN比通过CGN的TCP更可靠。

它应该工作,但是依赖于由第三方运行的正确运行的中继路由器。

为了简化debugging,单独testingTeredo和6to4是有意义的。 我使用Hurricane Electric的镜子 ,在traceroute输出中列出的路由器2和3上ping您的D-Link路由器,IPv4工作,IPv6丢失了很多数据包。 我可以从那里ping自己。

我可以通过直接的6to4隧道ping你的D-Link没有问题,但是如果我通过Hurricane Electric直接回复,通过使用从它们委派的源地址丢失。 它会出现从D-Link到Hurricane Electric id的path错误,所以使用traceroute到6to4端将有助于发现问题。 也请尝试traceroute到192.88.99.1,即6to4中继选播地址。

您应该考虑与隧道经销商签约,以避免6to4中继路由器出现问题。