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

편집: 여기서 오타를 낸 것은 사실입니다. 위를 살펴보세요.

관련 정보