ip-tools 与旧的 ifconfig

ppc*_*ppc 5 linux command-line centos networkmanager network-interface

当我在网络脚本中将 dhcp 更改为 static 然后重新启动服务时systemctl restart NetworkManager。静态 IP 设置应该更新,但没有更新。所以我尝试

ip link set dev enp0s3 down进而up

没有更新ip

然后我尝试用ifdown enp0s3thenifup enp0s3

有效

为什么它与 一起工作ifup

fra*_*san 5

前言:ipifconfig是用于控制监视网络的实用程序。它们通常不用于读取/写入持久配置文件 - 这就是为什么ip link不起作用。持久配置管理必须通过其他方式来完成,例如NetworkManager.

(可能不用说,但是,作为旁注,许多发行版已经/正在采用iproute2提供的 ,作为提供 的 的替代品。出于兼容性原因,它们通常都作为发行版中的默认包提供)。ipnet-toolsifconfig

为什么ifup有效和systemctl restart NetworkManager无效:

在 CentOS 上(我已经检查过 CentOS 7),ifup并且ifdown由 提供initscripts/etc/sysconfig/network-scripts/它们对同一个包提供的中的脚本进行操作。ifup因此,能够应用您在那里所做的更改也就不足为奇了。

NetworkManager - CentOS 从上游继承的默认网络服务提供程序 - 在 Red Hat 和 Fedora 上配置为使用ifcfg-rh插件从 读取/写入网络配置/etc/sysconfig/network-scripts/ifcfg-*。但它不监视这些文件。

man nm-settings-ifcfg-rh警告说

用户可以手动创建或修改 ifcfg-rh 连接文件,即使这不是管理配置文件的推荐方法。但是,如果他们选择这样做,则必须将其更改通知 NetworkManager(请参阅 nm-settings(5) 中的 Monitor-connection-file 和 nmcli con(重新)加载)。

因此,systemctl reload NetworkManager不应从 CentOS 上的文件重新加载网络连接的配置。为此,您可以调用nmcli connection reload或更改NetworkManager配置,如下所示man NetworkManager.conf

Monitor-connection-files
配置的设置插件是否应设置文件监视器并在 NetworkManager 运行时立即获取对连接文件所做的更改。默认情况下禁用此功能;NetworkManager 仅在启动时以及通过 ReloadConnections D-Bus 调用显式请求时读取连接文件。[...]