CentOS将定期清除对/etc/resolv.conf所做的任何手动更改.
Linux中的默认值在合理时间内失败(每次查询名称服务器的顺序相同,5秒超时,2次重试).
因此,resolv.conf中的第一个DNS本质上是关键路径.如果失败,您可以在故障转移前10秒查看.
这些默认值是可调整的(参见resolv.conf手册页),但是如何在CentOS中永久更改并通过重新启动等持久化?
解决方法
答案可以在/ sbin / dhclient-script中找到:
if [ -n "${RES_OPTIONS}" ]; then echo "options ${RES_OPTIONS}" >> ${rscf} fi
但是,在可以设置RES_OPTIONS以使脚本获取它的地方并不是非常明显 – 可以在ifcfg-ethX文件中设置搜索域等一些内容,但在其他位置设置解析器选项.您想要的文件实际上是/ etc / sysconfig / network.要设置相关选项,请将此行添加到该文件中:
RES_OPTIONS="rotate timeout:1 retries:1"
这将超时设置为1秒,使用单个重试并告诉客户端每个请求旋转其解析器,而不是每次都按顺序遍历列表.
如果您希望更改立即生效,请发出service network restart命令并检查您的新/etc/resolv.conf的所有荣耀.以下是我测试时的样子:
# cat /etc/resolv.conf ; generated by /sbin/dhclient-script search example.com options rotate timeout:1 retries:1 nameserver 10.1.1.2 nameserver 10.1.1.1