Linux多网卡绑定成功需满足三点:加载bonding模块并开机生效、slave网卡禁用IP且正确配置MASTER/SLAVE、bond模式与交换机能力匹配;否则bond0无法创建或无法正常切换。

Linux 多网卡绑定不是“配完就通”,关键在三处:模块加载时机、slave 网卡必须禁用 IP、mode 与交换机能力必须匹配。
确认 bonding 模块已加载且开机生效
没加载 bonding 模块,bond0 接口根本创建不了,后续所有配置都是空谈。别只看 lsmod | grep bonding 有输出就以为万事大吉——它可能只是临时 modprobe bonding 加载的,重启即失效。
- 运行
lsmod | grep bonding,无输出则立即执行modprobe bonding - Debian/Ubuntu 系统写入
/etc/modules:执行echo "bonding" >> /etc/modules - RHEL/CentOS 7+ 写入
/etc/modules-load.d/bonding.conf(新建该文件),内容仅一行:bonding - 旧版 CentOS 6 可能需改
/etc/modprobe.d/bonding.conf,但优先用modules-load.d方式
配置 ifcfg-bond0 时 BONDING_OPTS 必须显式声明 mode 和 miimon
很多教程把 mode 和 miimon 放到独立的 /etc/modprobe.d/ 文件里,这在现代 systemd 网络管理下容易失效。RHEL/CentOS 7+ 和较新 Debian 推荐直接在 bond 接口配置文件中用 BONDING_OPTS 定义,确保 network service 启动时参数准确注入。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
BONDING_OPTS="mode=1 miimon=100"是最稳妥的主备模式写法,miimon=100表示每 100ms 检测一次链路,太小(如 50)可能误判,太大(如 500)故障切换延迟明显 - 若要用 LACP(802.3ad),必须写
mode=4 lacp_rate=1,且交换机端口必须配置为channel-group并启用 LACP,否则bond0会卡在down状态 - 避免使用
mode=0(balance-rr)直连普通交换机——它不依赖协商,但要求交换机支持端口聚合或手动静态 trunk,否则流量会严重失序
slave 网卡配置里 BOOTPROTO=none 和 MASTER/SLAVE 缺一不可
这是最容易导致网络中断的点:如果 eth0 和 eth1 还保留 IPADDR 或 BOOTPROTO=static,系统会尝试给它们各自分配地址,和 bond0 的 IP 冲突,路由表混乱,SSH 可能直接断开。
- 每个 slave 配置文件(如
/etc/sysconfig/network-scripts/ifcfg-eth0)中必须包含:BOOTPROTO=none、MASTER=bond0、SLAVE=yes、ONBOOT=yes - 删掉 slave 文件里的
IPADDR、NETMASK、GATEWAY、DEFROUTE等任何 IP 相关行 -
USERCTL=no建议加上,防止普通用户误操作启停物理网卡 - 检查
ifconfig输出:只有bond0显示 IP,eth0和eth1的inet行应完全消失
验证 bond 状态不能只看 ifconfig,要看 /proc/net/bonding/
ifconfig bond0 只告诉你接口 up 了,但无法确认哪张卡是 active、是否检测到链路故障、mode 是否真正生效。真正可信的状态全在 /proc/net/bonding/bond0 里。
- 执行
cat /proc/net/bonding/bond0,重点看三块内容:Bonding Mode是否匹配你设的 mode;Currently Active Slave是否有值;MII Status下每个 slave 是否为up - 拔掉一根网线后等 2–3 秒,再查该文件,
Currently Active Slave应自动切换,对应网卡的MII Status变为down - 如果
Currently Active Slave为空,或所有MII Status都是down,说明miimon检测失败,大概率是物理连接、交换机配置或miimon值不合理所致
实际部署中最常被忽略的是交换机协同——bond 不是单机行为,mode=1 可以不依赖交换机,但 mode=4 必须两端都开启 LACP,mode=5/6 要求网卡驱动支持 ethtool 查询速率双工。没对齐这些,配置写得再漂亮也没用。

















