LINUX DNS客户端 解析域名慢的问题。

Linux系统下域名解析的配置文件是/etc/resolv.conf

cat /etc/resolv.conf
# Generated by NetworkManager
options single-request-reopen
nameserver 114.114.114.114

LINUX DNS客户端解析缓慢的其中一个原因是CentOS 6/CentOS 7总是需要等待AAAA(IPv6)的结果,即使关闭IPv6也没什么卵用。CentOS 6/CentOS 7中的DNS解析器对于ipv4和ipv6都使用同一个socket接口(如上图),在同时发出ipv4和ipv6解析请求后,只会收到一个ipv4的解析响应,此时socket将一处于“等待”模式,等待ipv6的解析响应,故导致解析缓慢;添加single-request-reopen后就可以重新打开一个新的socket接收ipv6的解析响应,而不影响ipv4的解析响应。

 cat /etc/resolv.conf
options timeout:1 attempts:1 rotate
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 1.1.1.1

rotate:这个参数的含义是随机选取一个作为查询的dns server,默认为按照顺序从上往下。

timeout:查询一个nameserver的超时时间,单位是秒。系统缺省是5,最大可以设为30。设置为1S超时即可,否则等AAAA回应就到地老天荒了,浪费时间。

attempts:这个是查询的整个都尝试一遍的次数,默认LINUX会发出好几次DNS查询包,让查一次即可,浪费时间。

 

posted @ 2018-05-03 14:02  贾春旺  阅读(10754)  评论(0编辑  收藏  举报