![当 IPv6 连接中断时,最好的选择是什么:禁用 ipv6 还是安装 miredo?](https://linux22.com/image/1035594/%E5%BD%93%20IPv6%20%E8%BF%9E%E6%8E%A5%E4%B8%AD%E6%96%AD%E6%97%B6%EF%BC%8C%E6%9C%80%E5%A5%BD%E7%9A%84%E9%80%89%E6%8B%A9%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9A%E7%A6%81%E7%94%A8%20ipv6%20%E8%BF%98%E6%98%AF%E5%AE%89%E8%A3%85%20miredo%EF%BC%9F.png)
我终于找到了为什么我的 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.net
和dig 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 上运行完美。