Linux网卡绑定配置需分五步:一、加载bonding模块并持久化;二、静态配置bond主从接口文件;三、NetworkManager环境下用nmcli创建bond连接;四、验证状态与故障切换;五、固化参数并启用调试日志。

如果您在Linux服务器上需要实现网络接口的高可用性与带宽聚合,则可以通过网卡绑定(bonding)技术将两个或多个物理网卡组合为一个逻辑接口。以下是完成此配置的具体步骤:
一、确认内核支持bonding模块
Linux内核需加载bonding驱动模块,该模块负责管理绑定接口的行为与状态。若未加载,bonding接口无法创建和启用。
1、执行命令检查模块是否已加载:lsmod | grep bonding。
2、若无输出,手动加载模块:modprobe bonding。
3、为确保重启后自动加载,在/etc/modules中追加一行:bonding。
二、配置网络接口文件(以NetworkManager禁用场景为例)
在使用传统network服务(如RHEL/CentOS 7/8的network脚本或Debian系ifupdown)时,需通过静态配置文件定义bond主接口及从属物理接口。
1、编辑bond主接口配置文件,例如/etc/sysconfig/network-scripts/ifcfg-bond0(RHEL/CentOS):DEVICE=bond0\nBOOTPROTO=static\nIPADDR=192.168.10.100\nNETMASK=255.255.255.0\nONBOOT=yes\nBONDING_OPTS="mode=active-backup miimon=100"。
2、编辑第一个从属网卡配置,如/etc/sysconfig/network-scripts/ifcfg-eth0:DEVICE=eth0\nBOOTPROTO=none\nONBOOT=yes\nMASTER=bond0\nSLAVE=yes。
3、编辑第二个从属网卡配置,如/etc/sysconfig/network-scripts/ifcfg-eth1:DEVICE=eth1\nBOOTPROTO=none\nONBOOT=yes\nMASTER=bond0\nSLAVE=yes。
4、重启网络服务:systemctl restart network(RHEL/CentOS)或ifdown --exclude=lo -a && ifup --exclude=lo -a(部分旧版本)。
三、使用nmcli配置bond(NetworkManager启用环境)
当系统使用NetworkManager管理网络时,需通过nmcli命令行工具创建bond连接,避免与传统配置冲突。
1、创建bond连接:nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup。
2、为bond接口分配IPv4地址:nmcli connection modify bond0 ipv4.addresses 192.168.10.100/24 ipv4.method manual。
3、添加第一个从属接口(如eno1):nmcli connection add type bond-slave con-name bond0-port1 ifname eno1 master bond0。
4、添加第二个从属接口(如eno2):nmcli connection add type bond-slave con-name bond0-port2 ifname eno2 master bond0。
5、启用bond连接:nmcli connection up bond0。
四、验证bond状态与链路行为
配置完成后,必须确认bond接口已启用、从属接口正确关联,并能响应故障切换或负载分发行为。
1、查看bond接口状态:cat /proc/net/bonding/bond0,检查MII Status是否为up、Primary Slave是否指定、当前Active Slave是否唯一。
2、查看接口聚合信息:ip link show bond0,确认state UP且LOWER_eth0/eth1处于LOWER_UP状态。
3、模拟单网卡故障(如拔掉eth0网线),等待miimon检测周期后执行步骤1,观察Active Slave是否自动切换至eth1。
4、检查bond模式对应行为:若配置为mode=802.3ad,需确认交换机端口已配置LACP;若为mode=balance-xor,需验证流量哈希分布是否稳定。
五、持久化bond参数与调试日志
bonding模块允许通过sysfs接口动态调整运行时参数,部分关键参数需写入配置文件以保障重启后生效。
1、设置bond接口的ARP监控(适用于不支持MII的老旧设备):echo 1 > /sys/class/net/bond0/bonding/arpon,并写入BONDING_OPTS中的arp_interval=1000 arp_ip_target=192.168.10.1。
2、启用详细日志记录:echo 1 > /proc/sys/net/ipv4/conf/all/log_martians,辅助排查地址欺骗或路由异常。
3、将常用bond参数固化到/etc/modprobe.d/bonding.conf:options bonding max_bonds=1,防止意外创建多个bond实例。









