使用nmcli配置双网卡active-backup主备模式需严格按序操作:先创建bond0主设备并指定mode active-backup,再分别添加eth0、eth1为slave,最后配置IPv4地址、网关、DNS及autoconnect,reload后依次up slave连接和bond0,通过ip和/proc/net/bonding/bond0验证主备状态与故障切换。

直接用 nmcli 配置双网卡主备模式(active-backup)不难,关键是步骤顺序不能错、参数不能漏,否则 bond 接口起不来或无法自动切换。
创建 bond 主设备并指定主备模式
先新建一个名为 bond0 的绑定连接,明确使用 active-backup 模式:
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
这一步会生成一个逻辑接口 bond0,但此时它还没有 IP,也没有物理网卡挂载,只是个空壳。
把两块物理网卡加为 slave 成员
假设你的两张网卡是 eth0 和 eth1(可用 nmcli device 确认真实名称),分别添加为 slave:
nmcli connection add type bond-slave ifname eth0 master bond0nmcli connection add type bond-slave ifname eth1 master bond0
注意:必须用 connection add 而不是 connection modify,否则 NetworkManager 不识别从属关系。添加后可执行 nmcli con show bond0 查看是否列出两个 slave 连接。
配置静态 IP 并启用自动连接
给 bond0 分配地址、网关、DNS,并设为手动模式:
nmcli connection modify bond0 ipv4.method manualnmcli connection modify bond0 ipv4.addresses "192.168.1.100/24"nmcli connection modify bond0 ipv4.gateway "192.168.1.1"nmcli connection modify bond0 ipv4.dns "8.8.8.8"nmcli connection modify bond0 connection.autoconnect yes
所有 ipv4.xxx 参数要一次性写全,否则可能因缺失 gateway 或 dns 导致连接激活失败。修改完记得 reload:nmcli connection reload。
启用并验证主备状态
依次激活 slave 和主连接:
nmcli connection up "bond-slave-eth0"nmcli connection up "bond-slave-eth1"nmcli connection up bond0
验证是否生效:
-
ip -br a | grep bond0—— 应显示 UP 状态和分配的 IP -
cat /proc/net/bonding/bond0—— 查看当前主网卡(Primary Slave)、备用状态(MII Status: up/down)及 miimon 检测结果 - 手动拔掉主网卡网线,观察是否秒级切换到另一张卡(
ping -I bond0 网关不中断)
不复杂但容易忽略


















