0

我已经配置了一个家庭服务器,它处理我的 ADSL 连接,并被其他计算机用作路由器。它有一个运行良好的 IPv6 连接。

我希望其他计算机也可以通过 IPv6 访问互联网,但奇怪的是,某些 IPv6 网站无法使用(例如:mozilla.org、facebook.com ...)而其他一些工作得很好(例如:google .com,www.myipv6.org...)。问题似乎只出在 HTTP 上:我可以 ping 每个 IPv6 服务器。

PC 上的 IPv6 配置:

ip -6 address add 2001:41d0:xxxx:2240::20/64 dev eth2
ip -6 route add default via 2001:41d0:xxxx:2240:: dev eth2

Ping 测试(一切正常):

# ping6 -q -c 10 google.com
PING google.com(par03s02-in-x0e.1e100.net) 56 data bytes

--- google.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 29.721/41.686/127.902/28.938 ms

# ping6 -q -c 10 mozilla.org
PING mozilla.org(2620:101:8008:5::2:1) 56 data bytes

--- mozilla.org ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9013ms
rtt min/avg/max/mdev = 194.732/198.983/230.808/10.616 ms

IPv6 HTTP 访问 google.com -> 好的(也可以使用 firefox):

# wget -6 google.com
--2013-02-02 14:25:51--  http://google.com/
Résolution de google.com (google.com)... 2a00:1450:4007:803::100e
Connexion vers google.com (google.com)|2a00:1450:4007:803::100e|:80... connecté.
< HTTP redirections >
2013-02-02 14:25:52 (1,40 MB/s) - «index.html.2» sauvegardé [10584]

对 mozilla.org 的 IPv6 HTTP 访问 -> 不起作用(也适用于 firefox):

# wget -6 mozilla.org
--2013-02-02 14:30:22--  http://mozilla.org/
Résolution de mozilla.org (mozilla.org)... 2620:101:8008:5::2:1
Connexion vers mozilla.org (mozilla.org)|2620:101:8008:5::2:1|:80... connecté.
requête HTTP transmise, en attente de la réponse... 301 Moved Permanently
Emplacement: http://www.mozilla.org/ [suivant]
--2013-02-02 14:30:22--  http://www.mozilla.org/
Résolution de www.mozilla.org (www.mozilla.org)... 2620:101:8008:5::2:1
Réutilisation de la connexion existante vers mozilla.org:80.
requête HTTP transmise, en attente de la réponse... 301 Moved Permanently
Emplacement: http://www.mozilla.org/en-US/ [suivant]
--2013-02-02 14:30:22--  http://www.mozilla.org/en-US/
Réutilisation de la connexion existante vers mozilla.org:80.
requête HTTP transmise, en attente de la réponse... 
< Won't go any further >

.. 而 IPv4 可以工作:

wget -4 mozilla.org
< Ok >

在我的路由器上,通过 IPv6 访问 mozilla.org 和 facebook.com 没有问题。

此外,我的计算机可以通过 IPv6 从外部完全访问:

< On an IPv6 server, out of my local network >
wget -6 http://[2001:41d0:xxxx:2240::20]
< Ok >
4

1 回答 1

3

它真的闻起来像路径 MTU 发现 (PMTUd) 问题。ping 默认使用小数据包:它们总是小于 MTU,因此运行良好。HTTP 对请求使用小数据包(请注意 wget 可以连接并发送请求),但响应通常是 MTU 的大小。如果您通过隧道(IPv6 常见的东西)并且路径上的某些路由器愚蠢地阻止了 ICP Packet Too Big 消息,您就会得到所看到的。

要使用 ping 测试大数据包,请使用 -s 选项,例如ping6 -q -c 10 -s 1490 mozilla.org.

没有简单的解决方案,除了试图找出有问题的路由器(可能离您很远)并说服他们的管理员修复它们。

否则,会有一些本地黑客,例如减少 TCP 最大段大小 (MSS),但它们在很大程度上取决于您的操作系统。

于 2013-02-12T20:10:42.020 回答