RHEL/CentOS系列发行版网络配置介绍

CentOS系列发行版里面有两套管理网络连接的方案:
第一套: network.service通过网络配置脚本对网卡配置文件/etc/sysconfig/network-scripts/ifcfg-x(x代表某一个特定的网卡)内的参数进行网络配置,网络脚本通常是指/etc/init.d/network及所有它调用的已安装脚本 。适用于CentOS7以前的版本,在CentOS8上,已废弃了这种方式,具体的请看这篇文章:基于RHEL8/CentOS8的网络IP配置详解

第二套: Network-Manager 适用于有桌面的环境,特别是网络连接情况随时会变的情况。然而现在更新的发行办更推荐的作法是使用NetworkManager来管理网络,CentOS8只能通过这种方式。

NetworkManager 是为了使网络配置尽可能简单而开发的网络管理软件包,目标是使网络能够开箱即用。是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器优先连接已知的网络并可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器会相对无线网络优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理。

NetworkManager 由两部分组成:

一个以超级用户运行的守护进程(NetworkManager )
一个前端管理程序与NetworkManager交互,用户不与NetworkManager系统服务直接交互,而是通过图形及命令行用户界面工具执行网络配置任务。
有以下工具可用:
1、提供命令行工具nmcli,允许用户及脚本与NetworkManager交互。nmcli可用于缺少GUI的系统(比如服务器)以控制NetworkManager的各个方面。它与GUI工具处于同等地位。默认会与NetworkManager 一同安装。
2、提供基于光标的文本用户界面(TUI)nmtui, nmtui可提供一个文本界面来与NetworkManager交互。该工具包含在NetworkManager-tui子软件包中。通常不会默认随NetworkManager的安装而安装该子软件包。需要单独安装 NetworkManager-tui,
3、桌面环境下用户界面工具“网络连接”,在CentOS6.x以前版本(GNOME2桌面环境)下可以通过桌面图标或在终端输入命令nm-connection-editor打开这个“网络连接”程序,而在CentOS7以后的版本(GNOME3桌面环境)需要通过命令打卡,默认没有提供相应的桌面图标
4、CentOS7(GNOME3桌面环境)还可以在设置里的网络选项中进行网络配置。

一、NetworkManager和network.service的关系

1、network.service
当系统内无NetworkManager时,系统默认使用network.service进行网络配置。

在CentOS6.x以前的发行本中,默认使用network.service网络脚本配置联网。网络脚本通常是指/etc/init.d/network 及所有它调用的已安装脚本。用户提供的文件通常被视为配置文件,但也可以将其解读为对脚本的修,

在CentOS7中network.service是系统提供的服务之一,以兼容遗留的网络功能。该服务的运行也被纳入Systemd的管理,命令如下:
systemctl start|stop|restart|status network

但是在CentOS7依然还是可以用以前的命令service network {start|stop|status|restart|}来对网络的进行操作,这个命令其实等同systemctl start|stop|restart|status network,两者的执行结果是一样的

注意,系统启动时,/etc/init.d/network会读取ifcfg文件,并检测NetworkManager是否已经已经启动该设备。如果NetworkManager已经启动该设备,则/etc/init.d/network脚本什么也不做;否则/etc/init.d/network会启动该设备。

2. NetworkManager.service
从CentOS 7开始,网络功能默认由NetworkManager以服务的形式提供。NetworkManager是一个能够动态控制和配置网络的守护进程,管理网络服务和网络连接,对应NetworkManager.service服务,其配置文件为/etc/NetworkManager/NetworkManager.conf(默认为空,无需任何配置)。

NetworkManager默认不会执行任何脚本。对于NetworkManager可运行的定制脚本,必须具备如下条件,NetworkManager才能按照字母顺序执行这些脚本:

位于/etc/NetworkManager/dispatcher.d/目录下
root用户的可执行权限

二. 网络配置文件

无论是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.service
-----------------------------------


三、network.service和NetworkManager冲突问题
当系统两个服务都存在的时候,如果协调配置不好就会发生冲突,主要是在CentOS7下当使用network.service时可能出现service network restart失败的现象
避免冲突最好的办法就是,只使用一种服务
1、当使用network.service就关闭NetworkManager,不过如果是桌面环境这时候会发现右上角的网络连接标志没有了,只是因为把NetworkManager服务关闭的原因

将NetworkManager 服务设置开机不启动
-----------------------------------
systemctl disable NetworkManager.service
-----------------------------------
将NetwokManager服务关闭
-----------------------------------
systemctl stop NetworkManager.service
-----------------------------------
重新启动一下network服务
-----------------------------------
systemctl restart network.service
-----------------------------------

2、当使用NetworkManager就关闭network.service,如果是桌面环境,推荐用这种方法
将network.service 服务设置开机不启动
-----------------------------------
chkconfig network off
-----------------------------------
将network.service服务关闭
-----------------------------------
systemctl stop network.service
-----------------------------------
重新启动一下NetworkManager服务
-----------------------------------
systemctl restart NetworkManager.service
-----------------------------------

四、网络配置的方法

方法1、通过nmcli或nmtui命令,后面会有专门的文章介绍。

方法2、GNOME3桌面环境

GNOME3桌面环境有两个地方可以配置网络,一个是在设置里的网络选项

 

二是通过nm-connection-editor命令打开“网络连接”

 

GNOME2或Xfce桌面环境通过“网络连接”进行配置


方法3、通过网络配置文件进行配置,其实上面的方法最终都是保存到配置文件后生效的
配置方法开我前面的文章:CetnOS6 网络配置,主机名配置

参考链接:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/networking_guide/index
https://wiki.gnome.org/Projects/NetworkManager
https://blog.csdn.net/taiyangdao/article/details/91824284

http://www.360doc.com/content/16/0902/15/7991404_587793790.shtml

原文地址:https://www.cnblogs.com/pipci/p/12555854.html