Laz*_*zer 9 domain-name-system url ipv6 ipv4
当我在 URL 栏中键入完全限定域名 (FQDN) 时,浏览器会连接到某个映射表(该表存储在哪里?与服务提供商一起存储?),该表确定所请求文件的托管位置。
因此,是否支持 IPv6 地址取决于服务提供商(我假设他们拥有转换表)。真的吗?
由于这是标记为 iptables,我认为这是一个 Linux 问题。
在 Linux 上,由 glibc 决定程序是先查找给定主机名的 IPv6 地址 (AAAA) 还是 IPv4 地址 (A)。使用 glibc 的程序使用 getaddrinfo() 函数。getaddrinfo() 的行为在/etc/gai.conf 中配置。
在您的系统上,很可能 /etc/gai.conf 中的所有内容都被注释掉了。取消注释条目:
标签 ::/0 1
对我来说,这导致了 AAAA 优先查找的激活,因此首选查找 IPv6 地址。所以这可能就是你想要的。
更新添加:正确的方法似乎是使用 0 到 7 的值取消注释 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)
查找将由您的 DNS(也可能是您的本地主机文件)处理。特定名称是否解析为 IPv6 地址或 IPv4 地址取决于您的浏览器设置(是否支持 IPv6 以及是否发送 IPv6 AAAA 请求)、您的操作系统(您是否拥有 IPv6 堆栈等)以及您的计算机。 DNS 提供商(他们是否支持 AAAA (IPv6) 请求)。
浏览器问题变得更加复杂,因为一些(较旧的)浏览器从不发出 AAAA 查找请求,有些可以配置为不发送它们(firefox 有一个设置),但大多数现代浏览器首先发送 AAAA 请求,然后发送一个A请求。