在RHEL7下,手工设置 /etc/resolv.conf 里的DNS有可能被系统清除或覆盖,与7.0以前的配置不同,可以使用一下三种方式配置。
方法1:nmcli工具设置
使用nmcli connection show命令查看当前连接信息,如下图:
修改当前网络连接对应的DNS服务器,这里的网络连接可以用名称或者UUID来标识,如果这里修改br1接口的DNS信息,这里就需要用到方框框住的部分的名称,
nmcli connection modify enp4s0f1 ipv4.dns '114.114.114.114 8.8.8.8'
nmcli con up enp4s0f1
此时再查看resolv.conf的配置,发现其已由NetworkManager重新生成。
方法2:禁止NetworkManager修改DNS配置
修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项,使其不去管理修改 /etc/resolv.conf DNS配置,NetworkManager.conf 文件修改如下:
# cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifcfg-rh
dns=none #添加这句
[logging]
#level=DEBUG
重启NetworkManager生效,并修改DNS配置:
# systemctl restart NetworkManager.service
修改 /etc/resolv.conf,如下:
nameserver 8.8.8.8
方法三:禁止修改resolv.conf文件
chattr +i /etc/resolv.conf
上面三种方法任选一种即可。