如何强制NetworkManager更新/etc/resolv.conf?


14

如果使用添加新的DNS服务器nmcli connection modify eth0 +ipv4.dns 8.8.8.8,我仍然必须更新/etc/resolv.conf以供解析程序使用更改,对吗?那么,如何强制更新?

我发现的唯一方法是重新启动网络服务:/etc/init.d/network restart。有没有一种侵入性较小的方法- nmcli也许是命令?


您想用NetworkManager更新什么?
Konrad Gajewski,2015年

为该问题添加了一些说明。
Mihai 2015年

由于我的nmcli没有此修改命令,所以我只能猜测:)试试:resolvconf -u
Konrad Gajewski,2015年

Answers:



1
  • 显示可用设备进行配置: nmcli c s

    您将需要该列表的NAME或UUID。假设连接名称为eth0

  • 显示eth0的当前IPv4 DNS设置: nmcli c s eth0 | grep ipv4.dns:

  • 将IPv4 DNS设置设置为Google DNS条目8.8.8.8和8.8.4.4: sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4"
  • 使用以下命令将更改保存到系统文件(例如/etc/resolv.conf等)中: sudo nmcli c up eth0

奖金:

  • 通过ssh对远程服务器执行全部操作: ssh remote-server 'sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4" && sudo nmcli c up eth0'

0

将以下内容添加到接口配置文件(/etc/sysconfig/network-scripts/ifcfg-ethX):

PEERDNS=yes
DNS1=1.2.3.4
DNS2=1.2.3.4
NM_CONTROLLED=yes

调出界面:

ifup ethX

0

为此,您需要标识您的网络接口(即eth0)

# nmcli  conn
NAME  UUID                                  TYPE            DEVICE
eth0  74315f7c-1573-4150-9c0e-e06ad28cac95  802-3-ethernet  eth0
#

# nmcli conn edit eth0

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'eth0'

Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> print ipv4.dns-search
ipv4.dns-search: mydomain.linux.com
nmcli>
nmcli> set ipv4.dns-search mylinuxdomain.com,anotherdomain.com
nmcli>
nmcli> save permanent

然后重新启动网络。我使用nmcli这样做:1.降低

# nmcli conn down eth0

2.提起

# nmcli conn up eth0

不会需要带的连接了。只是做一个nmcli conn up eth0保存/etc/resolv.conf
MadMike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.