Linux 系统下域名解析的配置文件是 /etc/resolv.conf
cat /etc/resolv.conf# Generated by NetworkManageroptions single-request-reopennameserver 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.confoptions timeout:1 attempts:1 rotatenameserver 114.114.114.114nameserver 8.8.8.8nameserver 1.1.1.1
rotate:这个参数的含义是随机选取一个作为查询的 dns server,默认为按照顺序从上往下。
timeout:查询一个 nameserver 的超时时间,单位是秒。系统缺省是 5,最大可以设为 30。设置为 1S 超时即可,否则等 AAAA 回应就到地老天荒了,浪费时间。
attempts:这个是查询的整个都尝试一遍的次数,默认 LINUX 会发出好几次 DNS 查询包,让查一次即可,浪费时间。
发表评论: