Linux网卡绑定配置分四步:一、加载bonding模块并持久化;二、配置bond0主接口及ens33/ens34从属网卡文件;三、写入modprobe规则并重启网络服务;四、用/proc/net/bonding/bond0和故障拔线验证主备切换与SSH连续性。

新手配置 Linux 网卡绑定,核心目标是让两块物理网卡对外表现为一个稳定、不中断的逻辑接口,尤其适用于保障 SSH、RADIUS、LDAP 等依赖持续连接的核心端口通信。只要顺序正确、关键参数不遗漏,整个过程并不复杂。
确认前提条件和可用网卡
这是最容易被跳过却最影响成败的一步:
- 运行 lsmod | grep bonding —— 若无输出,执行 modprobe bonding 临时加载;为确保重启后仍有效,Debian/Ubuntu 系统追加
bonding到/etc/modules,RHEL/CentOS 系统可写入/etc/sysconfig/modules/bonding.modules并赋予执行权限 - 用 ip link show 或 nmcli device status 查看真实网卡名(如
ens33、ens34),避免误用已弃用的eth0类名称 - 若系统启用了 NetworkManager,建议先停用:systemctl stop NetworkManager && systemctl disable NetworkManager,防止其接管物理网卡导致绑定失败
创建 bond0 主接口与从属网卡配置文件
所有配置均位于 /etc/sysconfig/network-scripts/(RHEL/CentOS)或 /etc/network/interfaces(Debian/Ubuntu 18.04 及更早):
-
ifcfg-bond0(主接口)需包含:
DEVICE=bond0-
BOOTPROTO=static+ 实际 IP、子网掩码、网关 ONBOOT=yes-
BONDING_OPTS="mode=1 miimon=100"——mode=1是主备模式,断一张网卡不影响通信;miimon=100表示每 100ms 检测链路状态,兼顾响应与开销 - 注意:不要在该文件中写
GATEWAY,应统一放在/etc/sysconfig/network或由 DHCP 分配
-
ifcfg-ens33 和 ifcfg-ens34(从属网卡)必须满足:
-
BOOTPROTO=none(严禁配置 IP、NETMASK、DHCP) ONBOOT=yes-
MASTER=bond0+SLAVE=yes -
USERCTL=no(防普通用户误操作)
-
加载模块并启用绑定
仅改配置不会生效,必须让内核按规则启动 bonding:
- 编辑
/etc/modprobe.d/bonding.conf,写入:alias bond0 bondingoptions bonding mode=active-backup miimon=100
- 重启网络服务:systemctl restart network(RHEL/CentOS)或 systemctl restart networking(Debian/Ubuntu)
- 若使用旧版 ifupdown,可尝试:ifdown --exclude=lo -a && ifup --exclude=lo -a
验证是否真正生效且保障通信连续性
别只看 ip a 显示 UP 就以为成功,要查内核级状态:
- 运行 cat /proc/net/bonding/bond0:
- 确认
MII Status: up - 查看
Primary Slave和当前Currently Active Slave是否一致 - 检查
Slave Interface下两张网卡的Link Failure Count是否为 0
- 确认
- 模拟故障测试连通性:拔掉一根网线,观察
cat /proc/net/bonding/bond0中活动网卡是否秒级切换,同时保持 SSH 连接不断(建议在另一终端持续 ping 或执行watch -n1 'ss -tuln | grep :22') - 若发现 bond0 无 IP 或无法通信,优先检查:
ethtool ens33和ethtool ens34是否都显示Link detected: yes;再确认交换机端口未隔离、未跨 VLAN、未禁用 MAC 学习


















