【问题标题】:IPv6 HTTP issueIPv6 HTTP 问题
【发布时间】:2013-02-11 00:39:03
【问题描述】:

我已经配置了一个家庭服务器,它处理我的 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

对 google.com 的 IPv6 HTTP 访问 -> 好的(也可以使用 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 >

【问题讨论】:

  • 这一定是 www.mozilla.org 的问题。它回复301 Moved Permanently - 这意味着 www.mozilla.org 不想回复这个 ipv6 地址,并将您发送到其他地方。
  • 这个问题也出现在 facebook.com 等其他网站上。而且,我的路由器在同一个IPv6网络中,可以访问这些站点,所以它不可能是某种“IPv6网络黑名单”。

标签: http routing ipv6


【解决方案1】:

这确实有点像路径 MTU 发现 (PMTUd) 问题。 ping 使用 默认小数据包:它们总是小于 MTU 并且 因此一切顺利。 HTTP 使用小数据包进行请求(请注意 wget 可以连接并发送请求)但响应 通常是 MTU 的大小。如果你穿过隧道 (IPv6 常见的东西)路径上的一些路由器愚蠢地 阻止 ICP Packet Too Big 消息,你得到你所看到的。

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

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

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

【讨论】:

  • 你是对的。我的以太网 MTU 是 1500,我将其更改为 1492,现在一切正常。我更改了路由器上的 MTU(在 /etc/network/interfaces 中)并添加了“AdvLinkMTU 1492;”到我路由器上的 radvd.conf。这是解决该问题的最佳方法吗?
猜你喜欢
  • 1970-01-01
  • 2017-02-04
  • 2013-12-09
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多