问题描述
我想删除当前与设备关联的 DNS 并使用 nmcli
所以,如果我做 nmcli device show eth0
我可以看到
IP4.DNS[1]: 10.0.2.2
如果我这样做sudo nmcli device modify eth0 ipv4.dns "8.8.8.8"
然后我可以看到
IP4.DNS[1]: 10.0.2.2
IP4.DNS[2]: 8.8.8.8
但我想删除第一个。我该怎么做?如果我尝试 sudo nmcli device modify eth0 ipv4.dns ""
,那么第二个 (8.8.8.8
) 会被删除,但第一个仍然存在。
我的最终目标是设置 ONLY 8.8.8.8
(例如...)
编辑:
我对 connection
和 device
有点困惑。
例如,假设我有 10.0.2,2
并且我有 8.8.8.8
使用以下两个命令之一:
nmcli connection modify netplan-eth0 ipv4.dns 8.8.8.8
nmcli device modify eth0 ipv4.dns 8.8.8.8
因为似乎有一个设备,然后绑定了一个连接,所以我可以使用这两个命令之一修改 dns。
现在,我可以看到:
使用 nmcli device show
我在结果中
IP4.DNS[1]: 10.0.2.2
IP4.DNS[2]: 8.8.8.8
但使用 nmcli connection show netplan-eth0
我只能看到
ipv4.dns: 8.8.8.8
所以,我现在的问题是我可以使用以下命令之一轻松修改连接中唯一的 dns,即 8.8.8.8
:
nmcli connection modify netplan-eth0 -ipv4.dns 8.8.8.8
nmcli device modify eth0 -ipv4.dns 8.8.8.8
但是,我不知道如何删除仅在 10.0.2.2
中显示而不在 device
中显示的 connection
。
顺便说一句,我没有手动设置 10.0.2.2
,我想是通过 dhcp
设置的。出于某种动机,此 dns 仅绑定到 device
,而不绑定到 connection
。
有了这些细节问题应该更清楚:)
解决方法
一般修改dns的方法看missconfigured的回答。
关于dns通过netplan
或dhcp的问题,我可以使用以下命令删除它们:
nmcli device modify eth0 ipv4.ignore-auto-dns yes
在那之后,我能够删除 10.0.2.2
dns。
答案,
下面的命令可以删除默认的DNS,但是重启NetworkManager后,默认的DNS又回来了。怎么让它永久化?谢谢。
nmcli device modify eth0 ipv4.ignore-auto-dns yes