跳转到主要内容

在IPV6+IPV4双栈下优先使用IPV4

最近服务器引入了 IPV6 但是就出现了一个问题

如果访问的域名同时拥有 A 和 AAAA 解析,那么系统会优先使用 AAAA 解析,也就是 IPV6 地址,同时网络出口的优先级都会比 IPV4高。

而且还有更牛的,IPV6+IPV4 双栈下,DNS查询会同时发送 AAAA 和 A 解析,无论访问域名有没有 AAAA 解析都会浪费一定时间去查询。

但是现在 IPV6 网络还不理想

举一个栗子

wget https://papermc.io/api/v1/paper/1.15.2/385/download
--2020-08-14 00:21:05--  https://papermc.io/api/v1/paper/1.15.2/385/download
正在解析主机 papermc.io (papermc.io)... 2606:4700:20::ac43:4580, 2606:4700:20::681a:202, 2606:4700:20::681a:302, ...
正在连接 papermc.io (papermc.io)|2606:4700:20::ac43:4580|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:44783881 (43M) [application/java-archive]
正在保存至: “download”

 2% [=>                                                                             ] 1,317,487   9.59KB/s 剩余 35m 23s

结果很 amazing 啊 ,这 IPV4 不知道快到那里去了。


 

好,说正事

优先 IPV4 非常简单

只要修改

 文件里面添加:     一行(这个文件默认没有不存在,手动生成吧)


这些是什么地址?看下表:

前缀优先级标签用途
::1/128500本地主机
::/0401Default unicast
::ffff:0:0/96354IPv4-mapped IPv6 address
2002::/163026to4
2001::/3255Teredo tunneling
fc00::/7313Unique local address
::/9613IPv4-compatible addresses (deprecated)
fec0::/10111Site-local address (deprecated)
3ffe::/161126bone (returned)