nmcli配多网卡bonding核心是先建bond逻辑接口再加slave,且ip等参数仅配在bond0上;需执行nmcli connection add type bond创建bond0、add type bond-slave添加物理网卡、modify bond0配置地址及manual模式,最后down/up生效并用/proc/net/bonding/bond0验证状态。

用 nmcli 配多网卡 bonding,核心就两点:一是必须先建逻辑 bond 接口,再把物理网卡加为 slave;二是所有 IP、网关、DNS 等网络参数只配在 bond 接口上,物理口不能单独设地址——否则会冲突或失效。
先创建 bond 逻辑接口
选好模式(冗余推荐 active-backup,聚合推荐 802.3ad 或 balance-alb),然后执行:
- nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
- 如果要用 LACP 聚合,把
mode active-backup换成mode 802.3ad,并确保交换机已开启 LACP - 这条命令会自动加载 bonding 模块,并创建一个可管理的连接,但此时还没配 IP,也还没加网卡
把物理网卡加入 bond 作为 slave
假设你有两块网卡 ens33 和 ens34,执行:
- nmcli connection add type bond-slave con-name bond0-ens33 ifname ens33 master bond0
- nmcli connection add type bond-slave con-name bond0-ens34 ifname ens34 master bond0
- 注意:slave 连接名(如
bond0-ens33)只是标识,不参与网络配置;它们默认会被 NetworkManager 自动 down 掉,不用手动禁用 - 别对
ens33或ens34单独执行ipv4.method manual或设 IP,否则会干扰 bond 工作
在 bond0 上配置完整网络参数
所有地址信息都只写在 bond0 连接里:
- nmcli connection modify bond0 ipv4.method manual
- nmcli connection modify bond0 ipv4.addresses "192.168.10.50/24"
- nmcli connection modify bond0 ipv4.gateway "192.168.10.1"
- nmcli connection modify bond0 ipv4.dns "8.8.8.8,114.114.114.114"
- nmcli connection modify bond0 ipv4.ignore-auto-routes yes(防止 DHCP 留下的路由干扰)
- 最后启用自动连接:
nmcli connection modify bond0 connection.autoconnect yes
启用并验证冗余是否生效
配置完必须重启连接才能生效:
- nmcli connection down bond0 && nmcli connection up bond0
- 检查状态:
cat /proc/net/bonding/bond0,重点看:- MII Status 是否为 up
- Primary Slave 和 Currently Active Slave 是否一致(主备模式下)
- 拔掉主网线后,Currently Active Slave 是否切换,且业务不中断
- 别只靠 ping 测试——有些链路断开后 interface 仍显示 UP,但实际发包失败;必须查
/proc/net/bonding/bond0的实时状态











