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查询包,让查一次即可,浪费时间。