Centos 7.5,nmcli 版本 1.20.2
每当我尝试从 /etc/resolv.conf 中删除条目时,都会收到以下错误。
[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search home
nameserver 8.8.8.8
nameserver 192.168.1.1
[root@client ~]# nmcli connection modify enp0s3 -ipv4.dns 8.8.8.8
Error: failed to remove a value from ipv4.dns: the property doesn't contain DNS server '8.8.8.8'.
[root@client ~]# nmcli device show enp0s3
GENERAL.DEVICE: enp0s3
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:FA:EE:AC
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: enp0s3
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/4
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.1.8/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 100
IP4.ROUTE[2]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 8.8.8.8
IP4.DNS[2]: 192.168.1.1
IP6.ADDRESS[1]: fe80::18c:3f05:dcaf:65fd/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.ROUTE[2]: dst = fe80::/64, nh = ::, mt = 256
IP6.ROUTE[3]: dst = fe80::/64, nh = ::, mt = 100
[root@client ~]# systemctl is-active NetworkManager
active
答案1
我今天已经这样做了,它可以在 RHEL8 机器上运行:
nmcli con mod "System eth0" ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod "System eth0" ipv4.ignore-auto-dns yes
nmcli con mod "System eth0" ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
nmcli con mod "System eth0" ipv6.ignore-auto-dns yes
nmcli con up id "System eth0"
请注意,这是使用 Google DNS IPv4 和 IPv6 地址。我没有必要修改/etc/NetworkManager/NetworkManager.conf
答案2
我似乎已经让它工作了,方法是将其添加到[main] 部分下的文件,然后重新dns=none
启动/etc/NetworkManager/NetworkManager.conf
NetworkManager
然后我可以将 DNS 条目添加到/etc/sysconfig/network-scripts/ifcfg*
文件中,如下所示
DNS1=192.168.1.175
DNS2=192.168.1.176
或者直接/etc/resolv.conf
使用vim
答案3
这些大写字母的值是经过计算的 - 如果未手动提供,则从 DHCP 获取。看看条目ipv4.dns
。我打赌你的是空的。
如果您愿意 - 通过设置 DNS 条目自行添加它们:
nmcli connection modify enp0s3 ipv4.dns 192.168.1.1
nmcli connection down enp0s3
nmcli connection up enp0s3
编辑:确实我在这里犯了一个错字。看看上面。