如果/etc/resolv.conf文件由NetworkManager生成,选择方法1。
如果/etc/resolv.conf文件由DHCP生成,选择方法2。
方法1:修改NetworkManager配置
修改/etc/NetworkManager/NetworkManager.conf
文件,在main部分添加dns=none
选项:
[main]
plugins=ifcfg-rh
dns=none # 注意是这句
再手动修改/etc/resolv.conf
文件,添加下面的DNS:
nameserver 1.1.1.1
nameserver 8.8.8.8
最后重启网卡:
systemctl restart network
方法2:修改网卡配置
列出所有的网卡:
cd /etc/sysconfig/network-scripts/
ls -al
# 一般第一个就是正在使用的网卡
修改网卡配置,在最后添加PEERDNS=no
选项:
vim ifcfg-eth0
再手动修改/etc/resolv.conf
文件,添加下面的DNS:
nameserver 1.1.1.1
nameserver 8.8.8.8
重启网卡:
systemctl restart network
方法3:使用nmcli
查看当前启动的连接:
nmcli connection show
名称 UUID 类型 设备
System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0
注意看我这里的网卡名称比较特殊,是有空格的。一般是直接输入名称修改就行了,但是由于我的网卡名称有空格,通过名称修改的方式不行,需要使用UUID的方式修改。这点一定要注意。
下面我写了两种修改的方式,任选一种:
# 通过名称修改
nmcli connection modify eno0 ipv4.dns "1.1.1.1 8.8.8.8"
# 通过 UUID 修改
nmcli connection modify 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ipv4.dns "1.1.1.1 8.8.8.8"
修改后再执行以下指令使DNS设定立即生效:
# 通过名称重启,任选一种
nmcli connection up eno0
# 通过 UUID 重启
nmcli connection up 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
参考
1、https://16bing.com/2020/04/20/centos-7-revise-dns/