结论:centos 7 配置双网卡绑定推荐使用 nmcli 命令行方式,因其与默认启用的 networkmanager 深度集成,避免手动编辑 ifcfg 文件导致的 onboot/bootproto 冲突、master-slave 不匹配及服务重启冲突等问题;操作路径为:启用 networkmanager → 查设备 → 创建 bond0(mode=active-backup)→ 添加 slave 网卡 → 配静态 ip → down 物理连接后 up bond0 → 用 cat /proc/net/bonding/bond0 验证状态。

直接说结论:CentOS 7 配置双网卡绑定,推荐用 nmcli 命令行方式,比手动改 /etc/sysconfig/network-scripts/ 下的配置文件更可靠、更少出错,尤其在 NetworkManager 启用状态下。
手动编辑配置文件虽可行,但极易因 ONBOOT、BOOTPROTO、MASTER/SLAVE 顺序或值不一致导致 bond0 启不来,或者物理网卡被 NetworkManager 干扰而反复断连。
nmcli 创建 bond0 并添加从属网卡
这是最稳的路径,适合绝大多数默认安装(含最小化安装)的 CentOS 7 系统:
- 先确认 NetworkManager 已启用(默认开启):
systemctl is-active NetworkManager应返回active - 查看可用物理网卡:
nmcli device status,找状态为connected或disconnected的以太网设备(如ens192、ens224) - 创建 bond 主连接(这里用
mode=active-backup,最常用、无需交换机支持):nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
- 添加第一块从属网卡(假设接口名是
ens192):nmcli connection add type ethernet con-name ens192-bond-slave ifname ens192 master bond0
- 添加第二块(如
ens224):nmcli connection add type ethernet con-name ens224-bond-slave ifname ens224 master bond0
- 给
bond0分配 IP 和网关(静态地址):nmcli connection modify bond0 ipv4.addresses 192.168.100.3/24 ipv4.gateway 192.168.100.254 ipv4.dns "114.114.114.114,8.8.8.8" ipv4.method manual
- 关闭原物理网卡连接,再启用 bond:
nmcli connection down ens192 && nmcli connection down ens224 && nmcli connection up bond0
注意:不要用 systemctl restart network,它会和 NetworkManager 冲突,可能清掉 bond 配置。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
ifcfg- 文件手动配置常见失效点
如果你坚持用传统脚本方式(比如系统禁用了 NetworkManager),以下几点必须核对:
-
ifcfg-bond0中TYPE必须是Bond(不是Ethernet),且BONDING_OPTS要写全,例如:miimon=100 mode=active-backup primary=ens192 - 所有从属网卡的
ifcfg-*文件里:-
BOOTPROTO必须设为none(不是static或空) -
ONBOOT必须为yes -
MASTER和SLAVE两行缺一不可,且值严格匹配 bond 接口名
-
- 内核模块需加载:
modprobe bonding,并写入/etc/modules-load.d/bonding.conf确保开机加载 - 如果系统启用了
NetworkManager,它会无视这些文件——必须先systemctl disable NetworkManager并systemctl stop NetworkManager
mode=active-backup 和 mode=802.3ad 怎么选
生产环境选哪个,取决于你有没有控制交换机的权限:
-
mode=active-backup(即mode=1):- 主备切换快(
miimon=100时故障检测约 100ms) - 不需要交换机做任何配置,插上就能用
- 带宽不叠加,只用一块卡跑流量
- 主备切换快(
-
mode=802.3ad(即mode=4):- 需要交换机端口明确配置为 LACP 聚合组
- 能真正提升吞吐(两卡带宽叠加),且支持负载分担
- 如果交换机没配或配错,bond0 会显示
MII Status: down,死活 up 不起来
用 cat /proc/net/bonding/bond0 查看当前模式和 slave 状态,重点看 Currently Active Slave 和各 Slave Interface 的 MII Status —— 这是最直接的诊断依据。
真正容易被忽略的是:bond 接口的 MAC 地址默认继承自第一个 slave(如 ens192),但某些虚拟化平台或云环境要求 bond0 使用固定 MAC。
如果遇到 DHCP 拿不到地址、或 ARP 表异常,得在 ifcfg-bond0 里显式加一行 MACADDR=xx:xx:xx:xx:xx:xx,并确保该 MAC 未被其他接口占用。










