Networking

如何通過控制台 (nmcli) 在 NetworkManager 中管理 DNS?

  • January 14, 2022

我有 CentOS 7.2(VirtualBox 中的訪客,vagrant box centos/7,沒有 GUI)。

我看到文件中有一個名稱伺服器:

$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.0.2.3

但是如何添加或替換為新的?

我直接在網路中手動完成了這項工作:

$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
PEERDS=no
DNS1=8.8.4.4
DNS2=8.8.8.8

它有效。

但是有什麼辦法可以做到這一點nmcli嗎?

PS 未nmtui安裝(在選定的系統中)。

這是修改現有連接的命令。

nmcli con mod $connectionName ipv4.dns "8.8.8.8 8.8.4.4"

connectionName可以通過命令找到:nmcli con. 在問題的情況下,它將是"System eth0"

如果您想忽略自動配置的名稱伺服器和搜尋域,即從 DHCP 傳遞的設置。

nmcli con mod $connectionName ipv4.ignore-auto-dns yes

最後,要啟用更改,請先關閉連接,然後再打開:

nmcli con down $connectionName
nmcli con up $connectionName

用 驗證cat /etc/resolv.conf。您不應該/etc/resolv.conf手動編輯,因為它是由 NetworkManager 服務生成的,它很可能在任何給定時間被覆蓋。

有用的 nmcli 手冊

引用自:https://serverfault.com/questions/810636