在生产环境中,网络连通性就是生命线。无论是数据库、Web 服务还是虚拟化平台,一旦网卡故障导致服务器掉线,影响往往是“连环式”的。为避免单网卡成为单点故障,双网卡绑定(Bonding) 就成了最稳妥的做法:把两块物理网卡整合成一个逻辑接口,实现冗余和高可用。
本文基于 CentOS 7/8,讲解最常用、最省心的 mode=1 主备模式 配置。
双网卡绑定(Bonding)是 Linux 内核提供的聚合技术,通过把多块网卡虚拟为一块逻辑网卡来提升网络可靠性。
它具备两大价值:
冗余容错:主网卡掉线时自动切换到备用网卡,业务不中断。
负载能力:部分模式支持流量均分或链路汇聚,提高带宽利用率。

本文重点介绍 mode=1:配置简单、兼容性最好、无需对交换机做任何调整。
1、确认网卡数量:至少两块物理网卡(如 eth0、eth1 或 ens33、ens192)。
2、获取 root 权限:所有操作需 root 执行。
3、检查网卡名称:
ip addr
4、CentOS 7/8 默认启用 NetworkManager,但 bond 推荐使用传统 network 服务,因此需关闭 NetworkManager。
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager编辑配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-bond0
写入以下内容(按需替换 IP/gateway/DNS):
TYPE=bond
DEVICE=bond0
NAME=bond0
BOOTPROTO=none
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=223.5.5.5
DNS2=223.6.6.6
ONBOOT=yes
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"miimon=100:每 100ms 检测一次链路状态。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
内容:
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=noTYPE=Ethernet
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=novi /etc/modprobe.d/bonding.conf
写入:
alias bond0 bonding
systemctl restart network
如遇报错,可检查网卡文件是否拼写错误。
cat /proc/net/bonding/bond0
成功标志应包含:
Bonding Mode: fault-tolerance (active-backup)
列出两块从网卡(如 eth0、eth1)
一块标记为 Active Slave
另一块为 Backup Slave
ip addr show bond0
比如 eth0 是主网卡:
ifdown eth0
再次查看:
cat /proc/net/bonding/bond0
若 eth1 自动成为 Active Slave,说明切换正常。
双网卡绑定在服务器部署中非常关键,尤其是在以下场景:
核心业务系统
数据库节点
虚拟化宿主机
存储/备份服务器
使用 mode=1 主备模式 能最大化避免网络单点故障,且无需对交换机做任何改动,是性价比最高的高可用网络方案。
如需扩展带宽,则可使用 mode=4(LACP),但需交换机支持。