CentOS 8 配置网络绑定(Bonding)接口 bond1
在 CentOS 8 上配置网络绑定(Bonding)可以实现网络接口的聚合,从而提高带宽和网络冗余性。本文将详细介绍如何在 CentOS 8 上配置网络绑定接口 bond1,并确保其在系统启动时自动启用。假设你的物理接口是 eno3 和 eno4。
步骤一:安装必要的软件包
首先,确保你的系统安装了 teamd 包,这个包包含了一些用于管理网络绑定的工具。如果没有安装,可以使用以下命令进行安装:
sudo dnf install teamd
步骤二:创建绑定接口配置文件
在 CentOS 8 中,网络配置文件存放在 /etc/sysconfig/network-scripts/ 目录下。我们需要为绑定接口创建一个新的配置文件。
创建一个名为 ifcfg-bond1 的配置文件:
sudo vim /etc/sysconfig/network-scripts/ifcfg-bond1
在文件中添加以下内容:
DEVICE=bond1
NAME=bond1
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.1.101 # 替换为你的静态IP地址
NETMASK=255.255.255.0
GATEWAY=192.168.1.1 # 替换为你的网关
DNS1=8.8.8.8 # 替换为你的DNS服务器
ONBOOT=yes
BOOTPROTO=static
BONDING_OPTS="mode=active-backup miimon=100"
步骤三:修改物理接口配置文件
接下来,我们需要修改物理网络接口的配置文件,使其加入到绑定接口中。假设物理接口是 eno3 和 eno4。
编辑 eno3 的配置文件:
sudo vim /etc/sysconfig/network-scripts/ifcfg-eno3
在文件中添加或修改以下内容:
DEVICE=eno3
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
编辑 eno4 的配置文件:
sudo vim /etc/sysconfig/network-scripts/ifcfg-eno4
在文件中添加或修改以下内容:
DEVICE=eno4
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
步骤四:手动创建并配置绑定接口
创建绑定接口 bond1:
sudo nmcli connection add type bond ifname bond1 con-name bond1 mode active-backup
添加物理接口到 bond1:
sudo nmcli connection add type ethernet ifname eno3 con-name eno3-slave master bond1
sudo nmcli connection add type ethernet ifname eno4 con-name eno4-slave master bond1
步骤五:配置开机自启
确保 bond1 和其从属接口在系统启动时自动启用:
启用 bond1 接口:
sudo nmcli connection up bond1
启用 eno3 和 eno4 接口:
sudo nmcli connection up eno3-slave
sudo nmcli connection up eno4-slave
验证 bond1 和其从属接口的连接状态:
sudo nmcli connection show --active
步骤六:重启网络服务
完成上述配置后,重启网络服务使更改生效:
sudo systemctl restart NetworkManager
步骤七:验证配置
使用以下命令验证绑定是否配置成功:
cat /proc/net/bonding/bond1
如果绑定配置正确,你应该能够看到 bond1 接口的详细信息,包括绑定模式和包含的物理接口。
绑定模式简介
以下是一些常用的绑定模式,可以在 BONDING_OPTS 中进行配置:
mode=0 (balance-rr):轮询模式,数据包顺序发送到每个接口。
mode=1 (active-backup):主备模式,一个接口作为主接口,其他作为备份。
mode=2 (balance-xor):基于传输的哈希算法选择接口。
mode=3 (broadcast):广播模式,所有数据包发送到所有接口。
mode=4 (802.3ad):IEEE 802.3ad 动态链接聚合。
mode=5 (balance-tlb):基于传输负载平衡。
mode=6 (balance-alb):自适应负载平衡。