更新时间:2025-09-04 GMT+08:00
网络服务重启导致resolv.conf配置内容发生变更
问题现象
在系统重新启动或者网络服务重启时,/etc/resolv.conf中的DNS服务器配置nameserver IP发生变更。
原因分析
/etc/resolv.conf中nameserver配置内容变更,与网口配置文件中的参数PEERDNS和RESOLV_MODS有关。
网络服务重启过程中,脚本/etc/sysconfig/network-scripts/ifup-post和/etc/sysconfig/network-scripts/ifdown-post会对网口配置文件(比如/etc/sysconfig/network-scripts/ifcfg-*)中的配置项“RESOLV_MODS=no”或者“PEERDNS=no” 进行检查,如果这两个参数不存在或者某一个不存在,那么脚本将修改/etc/resolv.conf中的内容。
参数说明:
- PEERDNS:是否指定DNS。如果使用DHCP协议,默认为yes。
- yes:如果DNS配置项存在,修改/etc/resolv.conf中的DNS。
- no:不修改/etc/resolv.conf中的DNS
- RESOLV_MODS:是否写入DNS。
- yes:文件/etc/resolv.conf中写入MS_DNS1和MS_DNS2的值。
- no:不修改/etc/resolv.conf中的DNS
解决方法
在网口配置文件/etc/sysconfig/network-scripts/ifcfg-*中添加以下配置内容,然后重启网络服务:
PEERDNS=no RESOLV_MODS=no