使用 `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) 会被删除,但第一个仍然存在。

我的最终目标是设置 ONLY 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

但是,我不知道如何删除仅在 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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...