nmcliを使用すると、/etc/resolv.confからDNSエントリを削除できません。

nmcliを使用すると、/etc/resolv.confからDNSエントリを削除できません。

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.confNetworkManager

/etc/sysconfig/network-scripts/ifcfg*その後、次のようにファイルにDNSエントリを追加できます。

DNS1=192.168.1.175
DNS2=192.168.1.176

または/etc/resolv.confvimを直接使用してください

答え3

これらの大文字の値は、計算された場合、または手動で指定されていない場合はDHCPから取得されます。項目を見てくださいipv4.dns。私はあなたのものが空だと確信しています。

必要に応じてDNSエントリを設定して自分で追加してください。

nmcli connection modify enp0s3 ipv4.dns 192.168.1.1
nmcli connection down enp0s3
nmcli connection up enp0s3

編集:ここでタイプミスを出したのは本当です。上記を見てください。

関連情報