在RHEL/CentOS 6及以前的版本中,网络功能是通过一系列网络相关的脚本文件实现,如/etc/init.d/network文件,及如下/sbin/if*文件等。
[root@myserver ~]# ll /sbin/if*
-rwxr-xr-x. 1 root root 3056 Apr 11 2018 /sbin/ifcfg
-rwxr-xr-x. 1 root root 82000 Aug 3 2017 /sbin/ifconfig
-rwxr-xr-x. 1 root root 1651 Jan 2 2018 /sbin/ifdown
-rwxr-xr-x. 1 root root 20216 Aug 4 2017 /sbin/ifenslave
-rwxr-xr-x. 1 root root 41568 Apr 11 2018 /sbin/ifstat
-rwxr-xr-x. 1 root root 5010 Jan 2 2018 /sbin/ifup
从RHEL/CentOS 7开始,网络功能默认由NetworkManager以服务的形式提供。NetworkManager是一个能够动态控制和配置网络的守护进程,管理网络服务和网络连接,对应NetworkManager.service服务,其配置文件/etc/NetworkManager/NetworkManager.conf(默认为空,无需任何配置)。
虽然RHEL/CentOS 6中的网络相关的脚本文件仍然以network.service的形式被支持,但是network.service是secondary,NetworkManager.service才是primary。
1. network.service
network.service是系统提供的服务之一,以兼容遗留的网络功能。该服务的运行也被纳入SystemD的管理,命令如下:
systemctl start|stop|restart|status network
事实上,在/etc/init.d/network脚本中,systemctl restart|reload|force-reload network是等价的。
也可以设置network.service在系统启动时自动加载:
systemctl enable network
注意,系统启动时,/etc/init.d/network会读取ifcfg文件,并检测NetworkManager是否已经已经启动该设备。如果NetworkManager已经启动该设备,则/etc/init.d/network脚本什么也不做;否则/etc/init.d/network会启动该设备。
2. NetworkManager.service
NetworkManager默认不会执行任何脚本。对于NetworkManager可运行的定制脚本,必须具备如下条件,NetworkManager才能按照字母顺序执行这些脚本:
- 位于/etc/NetworkManager/dispatcher.d/目录下
- root用户的可执行权限
3. 网络配置文件
无论是network.service,还是NetworkManager.service,都能够使用如下网络相关的配置文件。
1) 全局配置文件
/etc/sysconfig/network
2) 网卡相关的配置文件/etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts/ifcfg-ethX
/etc/sysconfig/network-scripts/route-ethX
/etc/sysconfig/network-scripts/route6-ethX
/etc/sysconfig/network-scripts/rule-ethX
/etc/sysconfig/network-scripts/rule6-ethX
...
修改网络配置文件后,可以通过NetworkManager.service的nmcli命令,重新加载网络连接:
nmcli connection reload
也可以通过network.service,重新加载网络连接:
systemctl restart network
参考链接:
https://wiki.gnome.org/Projects/NetworkManager
本文详细介绍了RHEL/CentOS 7中网络配置的转变,重点讨论了network.service和NetworkManager.service的区别与作用。network.service作为兼容旧版的网络服务,而NetworkManager.service成为主要的网络配置管理工具。NetworkManager通过SystemD管理,能动态控制和配置网络,且不执行任何脚本,除非在/etc/NetworkManager/dispatcher.d/目录下有特定的可执行文件。网络配置文件包括全局配置文件和网卡相关配置,修改后可使用nmcli或systemctl重启服务以应用变更。
1006

被折叠的 条评论
为什么被折叠?



