答案:配置Linux多网卡绑定需先加载bonding模块并设置开机加载,选择合适模式如mode=1主备或mode=4链路聚合,再创建bond接口和从属网卡配置,RHEL/CentOS通过ifcfg文件,Ubuntu使用Netplan,最后重启网络服务并验证状态。

在Linux系统中,配置多网卡绑定(bonding)可以提升网络带宽、实现负载均衡或提供网络冗余。通过将多个物理网卡绑定为一个逻辑接口,系统可以在不同场景下更高效地处理网络流量。下面介绍如何配置网卡绑定,以常见的CentOS/RHEL或Ubuntu系统为例。
确认内核支持和加载bonding模块
Linux内核自带bonding驱动,但需要确保其已加载。
- 检查模块是否已加载:lsmod | grep bonding
- 若未加载,手动加载:modprobe bonding
- 让模块开机自动加载:echo "bonding" >> /etc/modules-load.d/bonding.conf(Ubuntu)或写入/etc/rc.modules(RHEL)

选择合适的bonding模式
Linux支持多种bonding模式,常用如下:
- mode=0 (balance-rr):轮询策略,提供负载均衡和容错
- mode=1 (active-backup):主备模式,只有一个网卡工作,故障时切换
- mode=4 (802.3ad):动态链路聚合,需交换机支持LACP
- mode=5 (balance-tlb):自适应传输负载均衡
- mode=6 (balance-alb):自适应负载均衡
若追求高可用,推荐mode=1;若追求带宽聚合且交换机支持,使用mode=4。

配置bonding接口(以RHEL/CentOS 7/8为例)
编辑网络配置文件,创建bond主接口和从属网卡。
- 创建bond0接口配置:/etc/sysconfig/network-scripts/ifcfg-bond0
内容如下:
DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 BONDING_OPTS="mode=1 miimon=100"
- 配置从属网卡(如enp1s0和enp2s0):
/etc/sysconfig/network-scripts/ifcfg-enp1s0
DEVICE=enp1s0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
/etc/sysconfig/network-scripts/ifcfg-enp2s0
DEVICE=enp2s0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
配置完成后重启网络服务:systemctl restart network

Ubuntu/Debian系统配置方法
Ubuntu通常使用Netplan或传统ifupdown。以Netplan为例(配置文件在/etc/netplan/*.yaml):
network:
version: 2
ethernets:
enp1s0:
dhcp4: no
enp2s0:
dhcp4: no
bonds:
bond0:
interfaces:
- enp1s0
- enp2s0
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
parameters:
mode: active-backup
miimon: 100
应用配置:netplan apply
配置完成后,使用ip addr show bond0查看状态,也可通过cat /proc/net/bonding/bond0查看绑定详情,包括当前主网卡、链路状态等。
基本上就这些。关键是选对模式、正确配置从属关系,并确保交换机配合(特别是mode=4)。不复杂但容易忽略miimon或交换机设置。










