如何通过控制台(nmcli)在NetworkManager中pipe理DNS?

我有CentOS 7.2(客人在VirtualBox,stream浪箱centos/7 ,没有GUI)。

我看到文件中有一个名称服务器:

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

但如何添加或replace新的?

我已经在networking中直接手动完成了这个工作:

 $ vi /etc/sysconfig/network-scripts/ifcfg-eth0 PEERDNS=no DNS1=91.217.197.2 DNS2=8.8.8.8 

它工作。

但有没有办法通过nmcli做到这nmcli

有用的nmcli手册

这里是修改现有连接的语法。

 nmcli con mod <connectionName> ipv4.dns "8.8.8.8 8.8.4.4" 

connectionName可以通过命令: nmcli con
在问题情况下,它将是"System eth0"

您不应该手动编辑/etc/resolv.conf,因为它是由NetworkManager服务生成的。

有一个很好的TUI工具,由红帽子nmtui ,你真的应该尝试。 它现在已经预装在各种发行版上,但如果它不在你的上面,请尝试:

  sudo yum install networkmanager-tui 

它使用基于curses的文本界面 – 可以从命令行访问。 nmcli在编写脚本时特别必要,而且由于可能的input变化较大,因此有更大的错误空间。