Red Hat Linux 网络管理

前言

在 RHEL7 乃至 RHEL7 之前,有一个专门的名为 network 的服务。

但是在 RHEL8 中默认不再有这个服务。

在 RHEL6 之后,新增了一个叫 NetworkManager 的服务,用于对网络进行管理。

在 RHEL6/7 的时候,很多时候建议将 NetworkManager 服务关闭;但是在 RHEL8 中,这个服务不再允许被关闭

 

 

1. 网络设备命名规则

RHEL7 以后,命名网卡的方式和网卡类型有关,例如:

ens160——en(Ethernet)以太网卡

s(PCI Slot): PCI 插槽

p(Port Number):编号

事实上,网卡的 device 名字是可以更改的,比如按照功能更改。

 

 

Tips:网络接口名称以对应的接口类型开头

以 en 开头:

以太网接口

以 wl 开头:

WLAN 接口

以 ww 开头:WWAN 接口

 

2. 查看网络信息

(1)查看 ip 地址,MAC 地址,地址掩码,状态信息等

命令:ip addr show 网络设备名

 

Tips:如果不加设备名,则可以看到所有的网络设备的网络信息

 

(2)查看路由信息

命令:ip route

 

通常来说,我们仅需要知道其中两个信息:

a. 系统的默认路由是如何设置的:在没有明细路由的情况下,数据包的下一跳是通过什么出口出去。如图,默认路由是有 default关键字的那一行。

b. 查看具体的明细路由:通往某个特定网络的下一跳通过什么出口出去。

例如:如图所示,通往 192.168.24.0/24 都通过网卡 ens160发送出去。

 

 

命令:route -n

可以更明细地查看路由信息。其中 Flags 含义在下面给出。

 

 

(3)查看 DNS 信息

命令:cat /etc/resolv.conf

 

Tips:/etc/resolv.conf 文件中配置的是全局 DNS,若要为每个网卡配置不同的 DNS 服务器,可以在各自的网卡配置文件中手动配置。更详细的内容在下面会给出讨论。

 

 

(4)查看主机名

命令:hostname 或 hostnamectl

 

 

(5)网络接口统计信息

命令:ifconfig 网络设备名

 

 

命令:ip -s link show 网络设备名

 

 

 

(6)网络连通性测试

命令:ping 域名/IP -c XX -s packetsize

 

 

 

Tips:参数解读

-c:设置发出 ping 包的数目

-s:设置发出 ping 包的大小(单位为字节 bytes)

 

对于 IPV6 地址,使用命令:ping6

 

对于追踪路由,使用命令:tracepath

 

 

 

(7)查看端口信息

命令:lsof

 

 

 

命令:netstat 或 ss (和 Windows 的 netstat -ano 相似)

3. 网络信息的配置和管理

在 RHEL8 之前,直接修改网卡配置文件后,重启 network 服务;RHEL8 之后,已经不再提供 network 服务,所有网络的管理都是通过NetworkManager 来完成。(Tips:直接修改配置文件依然有效)。

 

NetworkManager 既提供了图形化的工具,又提供了命令行。

图形化界面:nm-connection-editor

(1)NetworkManager 概念

命令:nmcli(NetworkManager Client)

nmcli connection 参数(connection:连接)

 

 

连接文件: 把一个的配置的集合放在一个文件内,就叫连接文件,比如网卡的配置文件。

命令:nmcli connection show

 

 

 

(2)新增并连接(激活)一块网卡

右键选中要新增网卡的虚拟机,选择设置,打开如下图所示

点击“添加”,在选择“网络适配器”后点完成,点击“确定”后新增网卡(ens224)。

 添加网卡后,可以使用命令 ip addr show 查看,可以发现新增的网卡(ens224)还没有连接。

 

命令: nmcli device status 查看设备的连接

 

 

 

接下来,使用命令 nmcli device connect 设备名来连接(激活)网卡。

 

 

Tips:确认设备连接需要知道三点信息:

A、设备(Device)的状态

 

 

 

B、设备(Device)的连接

 

 

 

C、设备(Device)所对应的连接配置文件

/etc/sysconfig/network-scripts/ifcfg-ensXXX

 

(3)IP 地址的配置修改,路由的配置,DNS 的配置等

A、使用命令 nmcli connection modify 来修改设备所对应的连接属性(可修改 IP、子网掩码、网关和 DNS 这四个信息)

 

 

 

 

Tips:除了上述使用“nmcli device connect 设备名”自动创建连接文件的方式以外,还可以使用手动添加连接的方式来对设备进行关联,如下所示:

 

 

命令:nmcli connection add XXXXXXX

 

手动的 connect 会自动创建连接,手动创建会自动 connect。

Tips:IP 是针对设备的 ,但是网关和 DNS 是针对系统的。

重载网卡后即可生效

 

B、手动添加静态路由

通过命令 ip route add 来手动添加静态路由。

方法 1:通过指定出接口设备名来添加路由(dev

方法 2:通过指定出接口的 IP 来添加路由(via

验证:route -n

 

C、配置全局 DNS

在文件/etc/resolv.conf 中,可以配置全局 DNS 服务器地址

 

Nameserver XXXX(DNS 地址)重启网卡后生效

Tips:另外,还可以通过直接修改网卡配置文件进行配置,方法在以下给出。

(4)通过修改配置文件的方式修改网络配置

 

以配置 ens160 网卡为例:

编辑配置文件

/etc/sysconfig/network-scripts/ifcfg-ens160

 

 

Tips:补充 DEFROUTE 选项为是否生成默认路由

保存文件并退出后,记得重启一下网卡 ens160

 

 

(5)主机名的查看与配置

A、查看主机名

命令:hostnamectl status

 

 

 

B、临时设置主机名

命令:hostname xxx

 

 

 

C、永久设置主机名

命令:hostnamectl set-hostname xxx

 

 

4. IPV6 配置

编辑网卡 ens160 的配置文件,如下所示:

保存退出后,重启网卡,使用 ifconfig ens160 查看配置成功。

 

5. 链路聚合(Team Bridge) --

RHEL7 时常考到

(1)链路聚合的概念:

链路聚合(Link Aggregation)是一个计算机网络术语,指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽实现链路传输弹性工程冗余等方面是一项很重要的技术。

 

(2)链路聚合的常见方式:

team bond

常见几种链路聚合:

load balance(负载均衡)

round-robin(轮询)

active-backup(主备)Tips:

常见的工作模式

·Mode 0 (balance-rr) : 轮转(Round-robin)策略,从头到尾顺序的在每一个 slave 接口上面发送数据包。本模式提供负载均衡和容错的能力

 

·Mode 1 (active-backup) :活动-备份(主备)策略,只有一个 slave 被激活,当且仅当活动的 slave 接口失败时才会激活其他 slave 。为了避免交换机发生混乱此时绑定的 MAC 地址只有一个外部端口上可见

 

·Mode 3 (broadcast) :广播策略,在所有的 slave 接口上传送所有的报文,提供容错能力

 

注意:active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式 4 中需要 LACP 和 EtherChannel

 

 

(3)链路聚合的实现方式

A、为虚拟机添加两块网卡

 

 

 

添加网卡后,查看网卡设备的连接状态,可知两块网卡均没激活连接。

 

 

B、安装 teamd 服务

teamd 已在 RHEL8 默认被安装:

 

 

 

C、创建一个逻辑绑定口(team0)

 

 

 

D、添加逻辑绑定口的成员(物理网卡 ens161 和 ens256)

 

 

 

E、修改逻辑绑定口配置文件(team0)

编辑链路聚合 team0 的配置文件

/etc/sysconfig/network-scripts/ifcfg-team0

Tips:注意,物理接口 ens161 和 ens256 都不需要添加 IP 地址!

 

 

G、保存并退出,重新加载 team0 后,查看设备的连接状态。

  

H、测试连通性

 

I、teambridge 测试(以 active-backup 为例)

使用命令 teamdctl team0 state 查看链路聚合口状态(当前 active port 为 ens161)

 

此时断掉活跃端口(active port)ens161 后,team0 active port自动切换到 ens256。

 

 重新开启 ens161,发现 team0 active port 没有变化,仍然是ens256。表明状态的切换是非抢占的

Tips:在测试切换期间,team0 的网络一直处于连通状态,不会发生中断。

 

Tips:

1.这一部分在 RHCE 7.0 EX300 考试必有一题,为两台机做链路聚合,相互测试连通性。

2.也可以通过 teamd 的示例配置文件直接复制并修改即可。

/usr/share/doc/teamd/example_ifcfgs/X/ifcfg-eth1

/usr/share/doc/teamd/example_ifcfgs/X/ifcfg-eth2

/usr/share/doc/teamd/example_ifcfgs/X/ifcfg-team_test0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值