当 IPv6 连接中断时,最好的选择是什么:禁用 ipv6 还是安装 miredo?

当 IPv6 连接中断时,最好的选择是什么:禁用 ipv6 还是安装 miredo?

我终于找到了为什么我的 Google Chrome 这么慢。我找到了这两篇帖子。第一篇是关于Google Chrome 论坛第二个这里。第二篇文章中建议的解决方案需要修改/etc/modprobe.d/aliases,但在我的 Ubuntu 11.04 上我没有这样的文件。

我找到的所有资源都不适用于 11.04。有人可以使用任何可以运行且易于恢复的资源吗?

dig aaaa he.net以下是和的结果dig a he.net

joseph@joseph-off-lap:~$ dig aaaa he.net

; <<>> DiG 9.7.3 <<>> aaaa he.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15618
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 7

;; QUESTION SECTION:
;he.net.                IN  AAAA

;; ANSWER SECTION:
he.net.         58616   IN  AAAA    2001:470:0:76::2

;; AUTHORITY SECTION:
he.net.         2031    IN  NS  ns2.he.net.
he.net.         2031    IN  NS  ns3.he.net.
he.net.         2031    IN  NS  ns4.he.net.
he.net.         2031    IN  NS  ns5.he.net.
he.net.         2031    IN  NS  ns1.he.net.

;; ADDITIONAL SECTION:
ns1.he.net.     2044    IN  A   216.218.130.2
ns2.he.net.     2044    IN  A   216.218.131.2
ns2.he.net.     73027   IN  AAAA    2001:470:200::2
ns3.he.net.     2044    IN  A   216.218.132.2
ns3.he.net.     62719   IN  AAAA    2001:470:300::2
ns4.he.net.     2044    IN  A   216.66.1.2
ns4.he.net.     62719   IN  AAAA    2001:470:400::2

;; Query time: 134 msec
;; SERVER: 80.87.78.4#53(80.87.78.4)
;; WHEN: Mon Jul  4 17:02:33 2011
;; MSG SIZE  rcvd: 290

joseph@joseph-off-lap:~$ dig a he.net

; <<>> DiG 9.7.3 <<>> a he.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31069
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 7

;; QUESTION SECTION:
;he.net.                IN  A

;; ANSWER SECTION:
he.net.         58533   IN  A   216.218.186.2

;; AUTHORITY SECTION:
he.net.         1948    IN  NS  ns4.he.net.
he.net.         1948    IN  NS  ns5.he.net.
he.net.         1948    IN  NS  ns1.he.net.
he.net.         1948    IN  NS  ns2.he.net.
he.net.         1948    IN  NS  ns3.he.net.

;; ADDITIONAL SECTION:
ns1.he.net.     1961    IN  A   216.218.130.2
ns2.he.net.     1961    IN  A   216.218.131.2
ns2.he.net.     72944   IN  AAAA    2001:470:200::2
ns3.he.net.     1961    IN  A   216.218.132.2
ns3.he.net.     62636   IN  AAAA    2001:470:300::2 
ns4.he.net.     1961    IN  A   216.66.1.2
ns4.he.net.     62636   IN  AAAA    2001:470:400::2

;; Query time: 190 msec
;; SERVER: 80.87.78.4#53(80.87.78.4)
;; WHEN: Mon Jul  4 17:03:56 2011
;; MSG SIZE  rcvd: 278

以下是 ping 和 ping6 的结果

joseph@joseph-off-lap:~$ ping -c 5 he.net
PING he.net (216.218.186.2) 56(84) bytes of data.
64 bytes from he.net (216.218.186.2): icmp_req=1 ttl=45 time=277 ms
64 bytes from he.net (216.218.186.2): icmp_req=2 ttl=45 time=275 ms
64 bytes from he.net (216.218.186.2): icmp_req=3 ttl=45 time=277 ms
64 bytes from he.net (216.218.186.2): icmp_req=4 ttl=45 time=275 ms
64 bytes from he.net (216.218.186.2): icmp_req=5 ttl=45 time=275 ms

--- he.net ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 21209ms
rtt min/avg/max/mdev = 275.675/276.405/277.621/0.995 ms


joseph@joseph-off-lap:~$ ping6 -c 5 he.net
connect: Network is unreachable
joseph@joseph-off-lap:~$ 

正如所建议的,我倾向于安装miredo。是否有任何配置/调整可以使其工作?你对此有何看法disabling ipv6 vs installing miredo

感谢您阅读本文。;)

答案1

如果 Chrome 开始加载页面时速度很慢,但一旦开始加载页面,速度就很快,则可能有两个问题。第一种可能是您的计算机使用的 DNS 服务器存在问题,无法很好地处理 IPv6 地址请求。第二种可能是您的计算机认为它具有互联网 IPv6 连接,但实际上并没有。

运行dig aaaa he.netdig a he.net。每个命令都会列出查询时间。时间之间的差异应该在 ~200 毫秒以内。如果不是,则您的 DNS 服务器就是导致速度缓慢的原因。

需要测试的一个情况是 DNS 服务器告诉您某个网站没有 IPv6 地址的速度有多快。您可以通过运行类似 的程序来测试这一点dig aaaa bluecc.edu。它的查询时间应该与您运行“dig”的其他时间相似。重要的是查询时间很短。

IPv6 访问本身可能会中断。您可以通过运行ping -c 5 he.net和进行测试ping6 -c 5 he.net。ping6 的“时间”应与 ping 相当,并且“时间”应至少少于 1000 毫秒。如果 ping6 给出无法到达目的地的错误,则您的 IPv6 连接已中断。在这种情况下,您有两个选择。一个是禁用 IPv6,另一个是安装米雷多,这将创建一个 IPv6 隧道,这应该可以解决所有连接问题。(您不必做任何事情来设置 miredo。它应该可以正常工作。如果您需要,也可以很容易地删除它sudo apt-get remove miredo

答案2

需要说明的是,可以通过以下设置来禁用 IPv6 /etc/default/grub

GRUB_CMDLINE_LINUX="ipv6.disable=1"

不要忘记update-grub之后调用并重新启动。这似乎是在 Ubuntu 中最可靠的方法。

另一种方法是将其设置为/etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

要立即禁用 IPv6(但不永久禁用,无需重新启动):

# sysctl -w net.ipv6.conf.all.disable_ipv6=1
# sysctl -w net.ipv6.conf.default.disable_ipv6=1

我发现使用/etc/sysctl.conf没有按预期工作,但我记不清问题是什么了。也许对于某些应用程序来说,这些设置在启动过程中应用得太晚了?

答案3

我按照这里的说明进行操作: http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

它在 10.04、10.10 和 11.04 上运行完美。

相关内容