使用 `nmcli` 从设备中删除 DNS

Remove DNS from device using `nmcli`

我想删除当前关联到设备的 DNS 并使用 nmcli

添加一个新的 DNS

所以,如果我这样做 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) 被删除但第一个仍然存在。

我的最终目标是仅设置 8.8.8.8(例如...)

编辑:

我有点混淆 connectiondevice

例如,假设我有 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

但是,我不知道如何删除仅在 device 中显示但不在 connection 中显示的 10.0.2.2

顺便说一句,我没有手动设置 10.0.2.2,我想它是通过 dhcp 设置的。出于某种动机,此 dns 仅绑定到 device 而不是绑定到 connection.

有了这些细节问题应该更清楚了:)

修改dns的一般方法,看misconfigured的回答

关于dns get through 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