如果我使用 添加新的 DNS 服务器nmcli connection modify eth0 +ipv4.dns 8.8.8.8
,我仍然需要更新/etc/resolv.conf
解析器才能获取更改,对吗?那么如何强制更新呢?
我发现的唯一方法是重新启动网络服务:/etc/init.d/network restart
. 有没有侵入性较小的方法——nmcli
也许是命令?
如果我使用 添加新的 DNS 服务器nmcli connection modify eth0 +ipv4.dns 8.8.8.8
,我仍然需要更新/etc/resolv.conf
解析器才能获取更改,对吗?那么如何强制更新呢?
我发现的唯一方法是重新启动网络服务:/etc/init.d/network restart
. 有没有侵入性较小的方法——nmcli
也许是命令?
基于http://www.certdepot.net/rhel7-configure-ipv4-addresses/
在 mod 调用后运行,为我工作。
PS您可以使用“nmcli -p connection show eth0”查看已配置的vs活动设置
在接口配置文件 (
/etc/sysconfig/network-scripts/ifcfg-ethX
) 中添加以下内容:调出界面:
为此,您需要识别您的网络接口(即 eth0)
然后重新启动您的网络。我使用 nmcli 这样做: 1. 降低
2. 培养
显示要配置的可用设备:
nmcli c s
您将需要该列表的名称或 UUID。假设连接名称是
eth0
.显示 eth0 的当前 IPv4 DNS 设置:
nmcli c s eth0 | grep ipv4.dns:
sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli c up eth0
奖金:
ssh remote-server 'sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4" && sudo nmcli c up eth0'
如果 nmcli 不可用(例如,当未安装 NetworkManager 时),还有另一种方法(在较旧的 Linux 6 发行版上很方便)可以从 /etc/resolv.conf 随意添加和删除新设置,而无需重新启动网络,也无需手动编辑 /etc /resolv.conf 文件。步骤是:
按照此处所述的步骤或有关创建虚拟 NIC 的任何其他参考(例如 ifcfg-eth0:0)创建虚拟 NIC。
注意:我还在 ifcfg-eth0:0 文件中更改了 BOOTPROTO=none 和 NM_CONTROLLED=no。
可以通过运行以下命令“关闭”(删除)新设置:
并且此方法应适用于任何发行版,无论它是否具有 nmcli。这可以说是 Giomac 答案的一个变体,但它还有一个额外的优势,即这个 VNIC 可以在不影响任何东西的情况下启动和关闭,除了它将在(向上和向下)两个方向上更新 /etc/resolv.conf。