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/