使用场景
bond:网络接口绑定(Network Interface Bonding)也称为 “端口聚合” 或 “链路聚合”。它是一种将多个物理网络接口(如网卡)组合成一个逻辑接口的技术,主要目的是:
提高带宽:多个物理接口的带宽叠加,提升数据传输速率。
冗余备份:当某个物理接口故障时,流量自动切换到其他正常接口,保障网络不中断。
负载均衡:在多个接口间分配网络流量,避免单个单接口过载。
在不同场景中,“bond” 的实现方式和术语可能略有差异:
例如,服务器的两个网卡绑定成一个 bond 接口,再与交换机的两个端口通过 LACP 聚合,可形成一个高带宽、高可靠的逻辑链路。
操作步骤
本文以交换机配置LACP(动态链路聚合)方式为例进行说明
静态聚合(Static Teaming):需与交换机的 LACP 静态模式配合,支持带宽叠加和冗余。
Switch Independent(交换机独立):无需交换机配置,适用于连接不同交换机的场景,支持主备模式。
LACP(动态聚合):需交换机启用 LACP 协议(802.3ad),自动协商聚合参数。
组合名称:自定义名称(如
Team01
)。成员适配器:勾选需要加入组合的物理网卡(如
Ethernet
、Ethernet 2
)。组合模式:根据需求选择(常用模式如下):
1、网络设备端(一般指网管型交换机)
一般由代理商/学校运维进行配置,大概步骤如下(华为交换机举例,服务器两个网卡插交换机的10/11口,并配置vlan2204):
1.1 创建 Eth-Trunk 接口并配置 LACP 模式
<Huawei> system-view [Huawei] sysname Switch //可选,设置设备名称 [Switch] interface eth-trunk 1 //创建Eth-Trunk 1接口 [Switch-Eth-Trunk1] mode lacp-dynamic //配置为动态LACP模式
1.2 将 10/11 端口加入 Eth-Trunk
[Switch-Eth-Trunk1] quit [Switch] interface GigabitEthernet 0/0/10 //进入10端口 [Switch-GigabitEthernet0/0/10] eth-trunk 1 //将端口加入Eth-Trunk 1 [Switch-GigabitEthernet0/0/10] quit [Switch] interface GigabitEthernet 0/0/11 //进入11端口 [Switch-GigabitEthernet0/0/11] eth-trunk 1 //将端口加入Eth-Trunk 1 [Switch-GigabitEthernet0/0/11] quit
1.3 配置 Eth-Trunk 接口加入 VLAN 2204
[Switch] interface eth-trunk 1 [Switch-Eth-Trunk1] port link-type access //设置为access类型 [Switch-Eth-Trunk1] port default vlan 2204 //加入VLAN 2204
1.4 保存配置
[Switch-Eth-Trunk1] quit [Switch] save //保存配置 The current configuration will be written to the device. Are you sure to continue?[Y/N]y
1.5 验证配置
[Switch] display eth-trunk 1 //查看Eth-Trunk状态 [Switch] display lacp statistics eth-trunk 1 //查看LACP统计信息 [Switch] display port vlan eth-trunk 1 //验证VLAN配置 配置完成后,10/11 端口会形成一个逻辑聚合链路,提高带宽并提供冗余备份功能,同时属于 VLAN 2204。
2、服务器端
1.1 windows server系统
在Window上也称之为NIC Teaming,用于将多个物理网卡(NIC)组合为一个逻辑接口,实现带宽叠加、冗余备份或负载均衡。以下是具体配置步骤:
前提 1:检查前提条件
步骤 2:打开 NIC Teaming 配置界面
步骤 3:创建网络组合(Team)
步骤 4:配置组合接口的网络参数
步骤 5:验证配置(前提是交换机端已完成链路聚合配置)
1.2 Linux系统(以龙蜥8.10系统举例)
在龙蜥 8.10(Anolis OS 8.10)系统中,配置双网卡 bond(网络绑定)可以通过nmcli
工具(NetworkManager)或手动编辑配置文件实现。以下是具体步骤:
前提条件
方法一:手动编辑配置文件
1.创建 bond 配置文件
sudo vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 TYPE=Bond BONDING_MASTER=yes BOOTPROTO=static IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=114.114.114.114 ONBOOT=yes BONDING_OPTS="mode=802.3ad miimon=100" # miimon=100表示每100ms检测链路状态
2. 配置从属网卡
分别编辑两块网卡的配置文件(以 ens33 和 ens37 为例):
# 配置ens33
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
# 配置ens37
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens37
添加以下内容
DEVICE=ens37
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
3. 重启网络服务
# 重启NetworkManager
sudo systemctl restart NetworkManager
# 或重启网络服务
sudo systemctl restart network4.验证配置
查看 bond 状态:
cat /proc/net/bonding/bond0
输出应显示两块网卡为Active或Backup状态,模式与配置一致。
检查 IP 配置:
ip addr show bond0
测试冗余性(主备模式下):
# 断开主网卡网线后测试网络连通性
ping 192.168.1.1
5.注意事项
若使用802.3ad(LACP)模式,需在交换机上对对应端口配置 LACP 聚合,否则 bond 可能无法正常工作。
龙蜥系统基于 CentOS/RHEL 8,配置方式与 RHEL 8 系列兼容。
如需删除 bond,可使用nmcli connection delete bond0及删除从属接口配置。
方法二:使用 nmcli(推荐,图形化管理工具)
1. 创建 bond 接口
# 创建名为bond0的绑定接口,模式根据需求选择 sudo nmcli connection add type bond con-name bond0 ifname bond0 mode 802.3ad #常用模式说明: balance-rr:轮询模式,流量在所有网卡间平均分配(需要交换机配置聚合) active-backup:主备模式,只有主网卡工作,故障时自动切换到备用网卡 802.3ad:LACP 模式,需交换机支持 LACP 协议(动态聚合)
2.添加物理网卡到 bond
# 将ens33和ens37加入bond0(替换为实际网卡名) sudo nmcli connection add type bond-slave con-name bond0-slave1 ifname master bond0 sudo nmcli connection add type bond-slave con-name bond0-slave2 ifname master bond0
3.启动 bond 接口及从属网卡
# 启动从属接口 sudo nmcli connection up bond0-slave1 sudo nmcli connection up bond0-slave2 # 启动bond接口 sudo nmcli connection up bond0
4. 配置 bond0 的 IP 地址
# 配置静态IP(替换为实际网络参数) sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24 sudo nmcli connection modify bond0 ipv4.gateway 192.168.1.1 sudo nmcli connection modify bond0 ipv4.dns 114.114.114.114 sudo nmcli connection modify bond0 ipv4.method manual # 重启bond0使配置生效 sudo nmcli connection up bond0