NIC绑定(也称为网络绑定)的本质是将多个物理网卡聚合为一个逻辑接口,从而显著提升网络的高可用性与冗余能力。当某一网卡发生故障时,流量可自动切换到另一块网卡,确保业务不间断运行。
本次实验环境基于DELL服务器上的CentOS 7操作系统,配备双网卡em1和em2。
首先确认网卡名称:
ip link | awk 'NR%2==1' | awk '{print $2,$8,$9}' | tr -d ':' | grep -v lo | awk '{print $1}'
好的,准备工作正式启动。
先决条件
必须确保bonding模块已成功加载至Linux环境中。执行以下命令进行加载:
modprobe bonding
加载完成后,可通过以下命令查看模块详细信息进行确认:
modinfo bonding

第一步:创建绑定接口文件
进入网络配置目录,新建绑定接口文件ifcfg-bond0:
[root@kvm-centos7 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm-centos7 network-scripts]# cat ifcfg-bond0
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.133
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BONDING_OPTS="mode=5 miimon=100"
此处采用的绑定模式是mode=5,即自适应负载均衡模式,它既能提供容错能力,又能实现流量的负载分担,兼顾高可用与性能。
第二步:编辑两个物理网卡接口文件
分别编辑em1和em2的配置文件,需将它们设置为从属(slave)接口并指向bond0:
[root@kvm-centos7 network-scripts]# cat ifcfg-em1
TYPE=Ethernet
BOOTPROTO=none
UUID=f6f140af-1885-47d6-b22f-51e232d966e9
DEVICE=em1
ONBOOT=yes
MASTER=bond0
SLA VE=yes
[root@kvm-centos7 network-scripts]# cat ifcfg-em2
UUID=fe4606d1-23b8-48c7-a7e0-c858978ba4a9
DEVICE=em2
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
MASTER=bond0
SLA VE=yes
两个配置文件唯一的区别在于设备名和UUID,其余参数保持一致,确保绑定策略统一。
第三步:重启网络服务
完成上述配置后,需要重启网络服务使新设置生效:
systemctl restart network.service
第四步:测试和验证bond接口
使用ifconfig(或ip addr)命令查看网卡状态:

接着查看bond接口的详细信息,包括绑定模式、当前活跃的从接口等:
cat /proc/net/bonding/bond0

第五步:容错测试
这一步最为关键——模拟网卡故障,验证绑定能否自动接管。手动停用一个网卡:
ifdown em1
然后再次使用ifconfig查看网络状态,你会发现网络依然正常运行,业务不受任何影响。这正是NIC绑定的核心价值所在。
