如何在CentOS中坚持resolv.conf选项,例如rotate,timeout?

CentOS会定期清除对/etc/resolv.conf所做的任何手动更改。 在合理的时间内,Linux的默认值是很差的(每次查询名称服务器的顺序相同,5秒超时,2次重试)。

因此, resolv.conf的第一个DNS本质上是关键path。 如果失败,你可以在10秒钟之前看看你的故障。

这些默认设置是可调整的(请参阅resolv.conf手册页),但是如何将任何更改在CentOS中永久保存,并通过重新启动等方式保存?

答案可以在/sbin/dhclient-script

 if [ -n "${RES_OPTIONS}" ]; then echo "options ${RES_OPTIONS}" >> ${rscf} fi 

但是,在哪里可以设置RES_OPTIONS来让脚本select它,这并不是非常明显的 – 有些东西,比如search域,可以在ifcfg-ethX文件中设置,但parsing器选项在别处设置。 你想要的文件实际上是/etc/sysconfig/network 。 要设置相关选项,请将如下所示的内容添加到该文件中:

 RES_OPTIONS="rotate timeout:1 retries:1" 

这将设置超时为1秒,使用一个单一的重试,并告诉客户端旋转其parsing器每个请求,而不是按顺序通过列表每次。

如果您希望立即生效,请发出service network restart命令,并查看您的新的/etc/resolv.conf 。 以下是testing时的样子:

 # 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 

只需添加

 resolv_conf_options=rotate\ timeout:1\ retries:1 

在你的resolvconf.conf

上次我用新订购的Linux VPS面临同样的问题。 我如何解决它是使用chattr +我的命令,使文件不可变。 只要进入/ etc文件夹并在对resolv.conf文件进行了必要的更改之后运行它:

chattr +我resolv.conf

如果你想恢复设置,只需要这样做:

chattr -i resolv.conf

完整的指导方针供您参考: http : //boxtutor.com/fix-etcresolv-conf-is-not-saving-after-server-reboot/