答案:通过配置Linux bonding模块创建bond0实现网卡聚合,提升带宽与冗余。1. 确认并加载bonding模块;2. 设置mode=4(802.3ad)等模式并配置lacp_rate;3. 编辑ifcfg-bond0及物理网卡配置文件,指定MASTER与SLAVE关系;4. 重启网络服务并验证状态与连通性;5. 交换机端配置LACP确保链路聚合生效。

在Linux中实现网卡聚合(也称为链路聚合或绑定)可以提升网络带宽、实现负载均衡并提供冗余。最常见的实现方式是使用内核模块 bonding 创建一个虚拟网卡 bond0,将多个物理网卡绑定在一起。以下是配置 bond0 实现负载均衡的完整步骤。
1. 确认内核支持 bonding 模块
大多数现代Linux发行版默认支持 bonding 模块。可以通过以下命令检查:
modprobe bondinglsmod | grep bonding
如果无输出,可能需要手动加载:
modprobe bonding2. 加载 bonding 模块并设置模式
bonding 支持多种模式,常用的负载均衡模式是 mode=4(802.3ad 动态链路聚合),需要交换机支持 LACP。若仅本地负载均衡,可使用 mode=0(轮询)或 mode=6(自适应负载均衡)。
编辑 /etc/modprobe.d/bonding.conf(或创建):
alias bond0 bondingoptions bond0 miimon=100 mode=4 lacp_rate=fast
说明:
- miimon=100:每100ms检测链路状态
- mode=4:启用 802.3ad 聚合(需交换机配置 LACP)
- lacp_rate=fast:每秒发送一次 LACPDU
其他常用模式:
- mode=0 (balance-rr):轮询,简单负载均衡,无需交换机支持
- mode=1 (active-backup):主备模式,仅冗余无负载均衡
- mode=5 (balance-tlb):传输负载均衡,无需交换机特殊支持
- mode=6 (balance-alb):双向负载均衡
3. 配置网络接口(以 CentOS/RHEL 为例)
假设使用 eth0 和 eth1 绑定到 bond0,获取静态IP或通过DHCP。
创建 /etc/sysconfig/network-scripts/ifcfg-bond0:
DEVICE=bond0NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast"
配置物理网卡 eth0:
DEVICE=eth0NAME=eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
配置 eth1:
DEVICE=eth1NAME=eth1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
4. 重启网络服务并验证
重启网络:
systemctl restart network查看 bond0 状态:
cat /proc/net/bonding/bond0输出应显示两个 slave 接口及 LACP 信息(mode=4 时)。
测试网络连通性:
ping -I bond0 8.8.8.8查看接口统计:
ip link show5. 交换机配置(mode=4 必需)
若使用 mode=4(802.3ad),交换机端口需配置为 LACP 模式。例如在 Cisco 交换机上:
interface range GigabitEthernet0/1 - 2channel-group 1 mode active
确保聚合组(Port Channel)启用并配置为 LACP 模式。
基本上就这些。配置成功后,bond0 会同时使用多个网卡进行数据传输,实现负载均衡和高可用。注意选择合适的 mode 并确保交换机配合,否则可能无法正常工作或导致环路。










