如何让浏览器更喜欢 IPv6 而不是 IPv4?

Gru*_*bel 18 ipv6

我安装了 miredo 并启动并运行了 IPv6。当我指定 IPv6 地址时,我可以 ping6 主机并使用 wget 或我的网络浏览器下载网页,但是每当我指定通过 IPv4 和 IPv6 提供的主机名时,浏览器都会选择 IPv4 地址进行连接。

如果可用,我该如何更改并让浏览器使用 IPv6 而不是 IPv4?

谷歌搜索我发现一个提示,即对于 6to4/teredo 隧道,浏览器将更喜欢 IPv4 而不是 IPv6,但到目前为止我还没有找到解释为什么或如何改变它。

fre*_*dyb 12

不是浏览器更喜欢任何选项,而是操作系统。该标准大致如下定义了优先级:

  1. ipv6
  2. ipv4
  3. 6to4-交通

您可以通过编辑中的标签/优先级块/etc/gai.conf(gai 代表getaddrinfo,用于解析主机名的标准系统调用)来更改此设置。

详细说明gai.conf可以在手册页中找到

顺便说一下,这也解释了 Jonathon 的经验,即 SiXXS 隧道比 6to4 更受欢迎。


Jan*_*anC 8

对于 Firefox 和其他基于 Mozilla/Gecko 的浏览器,如果您有 IPv6 ,则network.dns.disableIPv6设置about:config应该是false(在 Ubuntu 中默认设置为 true,否则很多人会在家庭路由器中遇到有问题的 DNS 代理问题)。

  • 刚查过。无需触摸首选项。现在它在 Firefox 中默认为“true”——也适用于 Ubuntu 的 Firefox。 (2认同)

小智 6

最近,如果站点响应速度比 IPv4 快,Chrome、Firefox 以及衍生浏览器实际上会避免使用 IPv6。无法通过配置设置更改此行为。

该功能本身对于普通用户来说可能是合理的,但它几乎让我发疯,因为您无法禁用它。IPv6 连接现在非常好,有时 IPv6 比通过 IPv4 连接有几个优势,即使延迟(由于隧道)更高。我多年来一直在浏览 IPv6,尽管 IPv6 路由和性能已经变得更好,但这个该死的浏览器“黑客”功能让我回到了十年前。

  • 这种行为在 RFC 6555 中是推荐的。自 2010 年左右以来,它一直是一种常见做法。为了提供良好的用户体验,默认情况下使用它绝对是正确的行为。如果浏览器没有这样做,那么大多数网站将根本拒绝发布 AAAA 记录。也就是说,调整设置有许多毫秒的领先优势以提供 IPv6 将是一个好主意。能够选择每个站点的领先优势会更好。每个站点的设置可以作为代理脚本的可能返回值添加到浏览器中。 (3认同)

pkl*_*aus 5

正如 freddyb 指出的那样,这取决于解析主机名getaddrinfo的标准系统调用的配置。

要解决您的问题,请将您的内容替换/etc/gai.conf为以下几行:

label ::1/128       0
label ::/0          1
label 2002::/16    2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
#label 2001:0::/32   7
Run Code Online (Sandbox Code Playgroud)

更新:感谢 freddyb 指出我之前的回复是错误的:我们需要评论最后一行,而不是第三行。现在它对我有用!