问题
机房内网的递归 DNS 解析服务器超负荷运行,不稳定,时常出现解析失败的问题。
优化 /etc/resolv.conf 的配置
options timeout:1
nameserver 114.114.114.114
nameserver 8.8.8.8
options timeout:1 这里增加的超时配置,覆盖了默认值 - 5秒,但是仍然达不到生产环境的需求。
毕竟一秒的延迟会极大的伤害用户体验。
所以尝试使用 dnsmasq。
dnsmasq
dnsmasq 能对多个 nameserver 发起查询请求,然后把最快的返回结果缓存到本地。
centos 下安装, 可以参考我的 dnsmasq 自动化安装脚本
默认安装的是 2.48 版本。
如何检验 dnsmasq 的各项配置已生效
基本解析功能
dig sunzhongwei.com @127.0.0.1
缓存测试
time dig sunzhongwei.com @127.0.0.1
在部分递归出现问题的情况下,仍然能够解析未缓存的域名
思路:
/etc/resolv.conf 只保留 127.0.0.1 这一条配置
使用 iptables,tc 之类的工具屏蔽前面部分递归 DNS 服务器的请求
如果仍能够返回说明正常
如何使用 Docker centos container 测试自动化部署脚本
Docker 镜像文件到底有多大?
$ sudo docker pull centos:6
$ sudo docker images