Linux双网卡绑定bond0需严格按三步操作:先加载bonding模块并设mode=1主备模式;再配置bond0主接口及两块从属网卡(禁用IP参数);最后重启网络并验证切换状态。

在Linux服务器上实现双网卡绑定为bond0,是为了让两块物理网卡协同工作,既能在主网卡故障时秒级切换保障业务不中断,又能按需叠加带宽或分担流量;配置错误会导致网络完全不可用,必须严格遵循内核模块加载、接口角色划分、参数一致性三重校验。
确认并加载bonding内核模块
先检查系统是否已内置bonding支持:运行 lsmod | grep bonding。若无输出,说明模块未加载。
执行 modprobe bonding mode=1 miimon=100 临时启用主备模式——【mode=1是唯一无需交换机配合且零配置风险的起点,切勿直接试mode=4】。
为避免重启后失效,将持久化配置写入:echo "alias bond0 bonding" >> /etc/modprobe.d/bonding.conf && echo "options bonding mode=1 miimon=100" >> /etc/modprobe.d/bonding.conf。
配置bond0主接口(静态IP场景)
进入网络脚本目录:cd /etc/sysconfig/network-scripts/(CentOS/RHEL系)或对应Netplan路径(Ubuntu 20.04+需另走YAML流程,此处不覆盖)。
创建 ifcfg-bond0 文件,内容必须包含:
DEVICE=bond0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
【fail_over_mac=1是关键项,它强制bond0在切换时接管原主网卡MAC,避免ARP表混乱导致断连】。
绑定两块从属网卡
修改第一块网卡配置文件(如ifcfg-eth0):
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
同样处理第二块网卡(如ifcfg-eth1),仅需替换DEVICE名,其余字段一字不差。
⚠️ 注意:两块从属网卡配置中严禁出现IPADDR、GATEWAY、DNS等网络层参数,否则systemd-networkd或NetworkManager会拒绝启动bond0。
重启网络并验证bond状态
第一步:执行 nmcli connection reload 刷新配置缓存。
第二步:依次关闭原物理接口 → 启动bond0:nmcli connection down eth0 eth1 && nmcli connection up bond0。
第三步:立即验证:cat /proc/net/bonding/bond0。输出中必须同时显示“Bonding Mode: fault-tolerance (active-backup)”和“Currently Active Slave: eth0”(或eth1)。
第四步:拔掉当前Active Slave网线,等待3秒后再次执行 cat /proc/net/bonding/bond0,确认“Currently Active Slave”已变更且无“MII Status: down”残留。


















