完美应用RHEL 8
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 RHEL 8的网络配置

RHEL 8的网络配置大致分为IPv4和IPv6两大部分。由于IPv6的应用较少,因此这里重点介绍IPv4。

2.2.1 网络配置基础命令

由于RHEL 8默认没有安装经典的network.service,因此只能通过Netware Manager管理网络配置,否则无法使用网络,不过RHEL中可以使用如下命令手动恢复传统的network.service。

还可以通过如下命令安装相应的网络工具。

鉴于上述服务已被官方所抛弃,不建议继续使用network.service管理网络,与其被迫改变,不如积极地进行改变。

1.使用nmcli或nmtui命令管理网卡

(1)获得网卡列表:

需要提醒大家的是,device可以简写为d,上述命令可简写为:

(2)查看网卡连接信息。

需要注意的是,网卡连接名称不是网卡名称,默认名称相同。

需要提醒大家的是,connection可以简写为c,show可以简写为s,因此上述命令可简写为:

(3)启用网卡连接:

(4)停止网卡连接:

(5)删除网卡连接:

(6)创建网络连接并配置静态IP地址:

(7)创建网络连接并配置动态IP地址:

(8)修改IP地址:

2.使用nmtui命令管理网卡

推荐大家使用nmtui这个文本界面配置工具来管理网络设备,便捷高效,具体操作为:

或者直接指定网卡,具体操作为:

此工具类似CentOS 4/5时代的netconfig或system-config-network-tui文本界面配置工具,使用起来十分便捷,下面以nmtui命令为例来介绍其使用方法。

nmtui首先出现习惯的文本界面,即NetworkManager文本界面,该界面有以下4个选项。

(1)Edit a connection:编辑一个网络连接。

(2)Activate a connection:激活一个网络连接。

(3)Set system hostname:设置主机名,本书将主机名设置为www.example.com。

(4)Quit:退出。

通常,高频的操作是配置网卡,选择Edit a connection选项即可开始配置,服务器大多有多块网卡,所以首先从连接列表中选中要配置的连接名称,默认网络连接名称应该与网卡名称相同。需要提醒大家的是,网卡不等于网络连接,一块网卡可以创建多个网络连接。按Enter键后便出现了熟悉的配置界面,首先将鼠标光标置于IPv4 CONFIGURATION右侧,按下Enter键将出现一个菜单,选中手动配置(Manual)选项即可开始具体配置,如IP地址、子网掩码、网关和DNS服务器等。至于配置方法,需要提醒大家的是,子网掩码可以斜杠方式和IP地址一起配置,如IP/8、IP/24或其他数字,还可以通过Tab(下一个)键或Shift+Tab(上一个)组合键快速移动光标,在按下OK键之前,检查一下Automatically connect选项是否选中,如果选中就按下OK键,这时将返回选择网络连接界面,直接按下Esc键回到主界面,最后选择Quit选项退出即可完成配置。网卡的配置实际上保存在/etc/sysconfig/network-scripts/ifcfg-ens3*的文件中,以ens33为例,文件内容如下。

这是一个静态IP的典型配置,即使可以方便地通过nmtui等工具配置,但鉴于网卡配置极为重要,建议大家熟练掌握,最后运行如下命令重启网络服务。

或者重启服务器,命令如下。

2.2.2 配置Bonding

Bonding是企业中最为常用的技术之一,由于服务器网卡较多,因此企业通常将网卡创建Bonding虚拟网卡来使用。所谓Bonding,是指企业服务器中将多块物理网卡充当一块虚拟网卡使用,实现了负载均衡和高可用,也就是常说的多块网卡配置为一个IP地址,不过以两块网卡居多。配置Bonding,首先需要加载bonding模块,配置方法为:

然后可以使用如下命令检测模块情况:

为了稳妥起见,将内核的配置写到文件,具体方法为:

Tips:Bonding模式知多少?

● balance-rr:使用数字0表示,用于容错和负载均衡的循环模式。

● active-backup:使用数字1表示,可用于容错的活动备份模式。

● balance-xor:使用数字2表示,容错和负载均衡设置为异或模式。

● broadcast:使用数字3表示,容错的广播模式,所有传输都从接口上发送。

● 802.3ad:使用数字4表示,IEEE 802.3ad动态链接聚合模式,创建共享相同速度和双工设置的聚合组。

● balance-tlb:使用数字5表示,传输负载均衡模式(TLB)以实现容错和负载均衡。

● balance-alb:使用数字6表示,活动负载均衡模式(ALB),通常为容错和负载均衡设置。

成功加载和配置完内核模块后,编辑Bonding虚拟设备的配置文件,配置方法为:

添加如下内容:

上述内容仅供参考,可根据自己的实际情况修改,然后配置作为Slave的两块网卡,具体操作如下。

第一块网卡(ens33)的命令为:

添加如下内容:

第二块网卡(ens34)的命令为:

添加如下内容:

保存退出后,运行如下命令重启网络服务:

或者重启服务器,命令如下:

2.2.3 配置Bridge

与Bonding类似,Bridge也是一个虚拟网络设备,其实就是基于网卡的一部虚拟交换机,而且是一种成熟可靠的虚拟交换技术,比后起之秀Open vSwitch(OvS)要成熟和可靠很多,实现也比较简单。要使用KVM虚拟化环境一般需要配置Bridge,有了它,KVM虚拟机就可以使用桥接模式接入网络。

Bridge是通过内核模块bridge实现桥接的,所以要运行如下命令来检测相关模块是否加载。

默认应该已经加载,如果没有被加载,那么可以运行如下命令手动加载。

保存配置文件,重启系统,即可开始创建网桥配置文件ifcfg-br0,具体操作为:

添加如下内容:

与Bonding类似,上述配置可以根据实际情况修改,在成功创建Bridge之后,添加网卡到网桥,关键配置为:

添加如下内容:

重启后生效,需要注意的是,连接到网桥上的网卡,无法再设置IP地址,并且即使配置文件设置了IP地址,也不会生效。

1.彻底手动管理自己的网卡

在上述配置中,如果要彻底手动管理自己的网卡,不受NetworkManager的管理,那么只需在相应网卡的配置文件中添加如下关键配置:

重启NetworkManager服务后,再次使用nmcli命令查看网卡状态时,就会发现那块网卡的状态变为unmanaged了,配置过程中不建议关闭NetworkManager服务,如果非要关闭,就在网络配置好后关闭。

2.停用IPv6

运行如下命令停止IPv6:

然后永久停用IPv6,具体操作为:

添加如下两行配置:

再运行如下命令生效:

重启后生效,在进行上述操作前建议先关闭SELinux。

2.2.4 停用和启用IPv6

在停用IPv6前,检查一下网卡的状态:

上述结果中,以inet6开头的便是IPv6的地址,如果用不到IPv6,那么可以运行如下命令暂时停用IPv6。

上述命令只能暂时关闭IPv6,系统重启后,IPv6又回来了。如果需要永久停用IPv6,就需要编辑GRUB的启动配置,具体操作为:

重启后生效,当然有禁用就有启用,如果要再次启用IPv6,就要从GRUB的启动配置开始,关键操作为:

通常重启后就可以看到IPv6地址了,但有时依然需要重启系统,这时执行如下命令:

需要提醒大家的是,在进行上述操作前最好先关闭SELinux。

1.ifconfig和ip命令

RHEL 8默认使用较新的ip系列命令,同样可以实现上述配置,而且其功能比ifconfig更为强大和全面,具体实现方法如下。

(1)显示网络配置信息。显示网络配置信息的关键操作为:

(2)设置/删除IP地址。可以通过ip命令设置/删除IP地址,关键操作为:

(3)启用或禁用网卡。可以通过ip命令启用或禁用网卡,关键操作为:

(4)配置默认网关。可以通过ip命令设置默认网关,具体操作为:

删除默认网关的操作为:

(5)显示当前路由表。除了route命令,还可以使用ip命令来显示当前路由表。

此外,ip命令还可以开启或关闭网卡的混杂模式,这在虚拟化或云计算中十分有用,具体实现方法为:

当然,作为后起之秀的ip命令还有很多ifconfig命令所没有的功能和用法,更多信息请参考其manpage。

2.netstat和ss命令

netstat命令是一个常用的检测端口与服务工具,在CentOS 7和Ubuntu server 18.04中也出现了替代品,即ss命令。ss命令可以实现netstat的多数功能,具体操作为:

查看进程,网络服务及端口信息可使用如下命令。

获得正在侦听的端口的命令为:

获得当前所有端口的命令为:

查看主机监听的端口的命令为:

查看所建立的TCP连接的命令为:

在RHEL 8中,默认的ip和ss命令成为ifconfig、route、arp和netstat命令的替代品,为了便于大家掌握,归纳的对应关系如下。

此外,如果实在不习惯上述命令,那么可以使用如下命令将“老朋友”找回来。

配置完网络,RHEL 8就可以联网了,这时最适合激活RHEL 8的订阅服务,设置好主机名再激活订阅,具体操作为:

看到Subscribed,说明订阅成功,上述命令中的“XXXX”和“XXXXXXXX”分别为订阅服务的账号和密码,订阅服务被激活后,即可运行如下命令更新系统了。

此外,还可以通过最新的Web控制台Cockpit来管理网络及订阅服务,十分直观和方便。