本文共 1822 字,大约阅读时间需要 6 分钟。
在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才能按照字母顺序执行这些脚本:
3. 网络配置文件
无论是network.service,还是NetworkManager.service,都能够使用如下网络相关的配置文件。
1) 全局配置文件
/etc/sysconfig/network2) 网卡相关的配置文件/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
参考链接:
转载地址:http://nhlai.baihongyu.com/