如何设置Linux网络接口绑定(Bonding)以确保认证连接稳定性?
- 内容介绍
- 文章标签
- 相关推荐
本文共计853个文字,预计阅读时间需要4分钟。
新手上路:
确认前提条件和可用网卡
先确保系统支持 bonding 模块,并识别出要绑定的两张网卡名称:
- 运行 lsmod | grep bonding —— 若无输出,需执行 modprobe bonding 加载模块(CentOS/RHEL 系统通常已内置)
- 用 ip link show 或 nmcli device status 查看当前网卡名,例如 ens33 和 ens34(注意:不再是老式的 eth0/eth1,新系统多为固件命名)
- 确认这两张网卡物理连接正常、未被 NetworkManager 自动接管(若启用了 NetworkManager,建议临时停用:systemctl stop NetworkManager,避免冲突)
创建 bond0 主配置与从属网卡配置
所有配置文件都在 /etc/sysconfig/network-scripts/ 目录下(CentOS/RHEL 系统)。需新建或修改三个文件:
-
ifcfg-bond0(主虚拟接口):
DEVICE=bond0<br>BOOTPROTO=static<br>IPADDR=192.168.10.100<br>NETMASK=255.255.255.0<br>GATEWAY=192.168.10.1<br>ONBOOT=yes<br>TYPE=Bond<br>BONDING_MASTER=yes<br>BONDING_OPTS="mode=1 miimon=100" (mode=1 表示主备模式,断一张网卡不影响通信,最适配认证连续性需求;miimon=100 表示每 100ms 检测一次链路)
-
ifcfg-ens33(第一张物理网卡):
DEVICE=ens33<br>BOOTPROTO=none<br>ONBOOT=yes<br>MASTER=bond0<br>SLAVE=yes<br>USERCTL=no
-
ifcfg-ens34(第二张物理网卡):
DEVICE=ens34<br>BOOTPROTO=none<br>ONBOOT=yes<br>MASTER=bond0<br>SLAVE=yes<br>USERCTL=no
加载模块并启用绑定
仅改配置不会生效,还需让内核知道如何加载 bonding 模块:
- 编辑 /etc/modprobe.d/bonding.conf(新建该文件),写入一行:
alias bond0 bonding - 可选但推荐:在 /etc/rc.local 开头添加(确保执行权限):
modprobe bonding mode=1 miimon=100 - 重启网络服务:systemctl restart network(CentOS 7+)或 service network restart(旧版)
验证是否生效且满足认证连续性要求
完成配置后,立刻做三件事验证可靠性:
- 运行 cat /proc/net/bonding/bond0 —— 查看状态,确认 “MII Status: up” 且当前活动接口(Primary Slave)显示正常
- 在另一台机器上持续 ping 该服务器 IP:ping -t 192.168.10.100(Windows)或 ping 192.168.10.100(Linux,加 -c 参数可设次数)
- 拔掉其中一根网线(比如 ens33),观察 ping 是否出现 1–2 个丢包后立即恢复 —— 这说明主备切换成功,SSH 认证连接不会中断(TCP 连接保持)
不复杂但容易忽略:主备模式(mode=1)对交换机无特殊要求,即插即用;若误用 mode=0(负载均衡),则必须交换机也配置链路聚合,否则反而导致断连。保障认证连续性,首选 mode=1。
本文共计853个文字,预计阅读时间需要4分钟。
新手上路:
确认前提条件和可用网卡
先确保系统支持 bonding 模块,并识别出要绑定的两张网卡名称:
- 运行 lsmod | grep bonding —— 若无输出,需执行 modprobe bonding 加载模块(CentOS/RHEL 系统通常已内置)
- 用 ip link show 或 nmcli device status 查看当前网卡名,例如 ens33 和 ens34(注意:不再是老式的 eth0/eth1,新系统多为固件命名)
- 确认这两张网卡物理连接正常、未被 NetworkManager 自动接管(若启用了 NetworkManager,建议临时停用:systemctl stop NetworkManager,避免冲突)
创建 bond0 主配置与从属网卡配置
所有配置文件都在 /etc/sysconfig/network-scripts/ 目录下(CentOS/RHEL 系统)。需新建或修改三个文件:
-
ifcfg-bond0(主虚拟接口):
DEVICE=bond0<br>BOOTPROTO=static<br>IPADDR=192.168.10.100<br>NETMASK=255.255.255.0<br>GATEWAY=192.168.10.1<br>ONBOOT=yes<br>TYPE=Bond<br>BONDING_MASTER=yes<br>BONDING_OPTS="mode=1 miimon=100" (mode=1 表示主备模式,断一张网卡不影响通信,最适配认证连续性需求;miimon=100 表示每 100ms 检测一次链路)
-
ifcfg-ens33(第一张物理网卡):
DEVICE=ens33<br>BOOTPROTO=none<br>ONBOOT=yes<br>MASTER=bond0<br>SLAVE=yes<br>USERCTL=no
-
ifcfg-ens34(第二张物理网卡):
DEVICE=ens34<br>BOOTPROTO=none<br>ONBOOT=yes<br>MASTER=bond0<br>SLAVE=yes<br>USERCTL=no
加载模块并启用绑定
仅改配置不会生效,还需让内核知道如何加载 bonding 模块:
- 编辑 /etc/modprobe.d/bonding.conf(新建该文件),写入一行:
alias bond0 bonding - 可选但推荐:在 /etc/rc.local 开头添加(确保执行权限):
modprobe bonding mode=1 miimon=100 - 重启网络服务:systemctl restart network(CentOS 7+)或 service network restart(旧版)
验证是否生效且满足认证连续性要求
完成配置后,立刻做三件事验证可靠性:
- 运行 cat /proc/net/bonding/bond0 —— 查看状态,确认 “MII Status: up” 且当前活动接口(Primary Slave)显示正常
- 在另一台机器上持续 ping 该服务器 IP:ping -t 192.168.10.100(Windows)或 ping 192.168.10.100(Linux,加 -c 参数可设次数)
- 拔掉其中一根网线(比如 ens33),观察 ping 是否出现 1–2 个丢包后立即恢复 —— 这说明主备切换成功,SSH 认证连接不会中断(TCP 连接保持)
不复杂但容易忽略:主备模式(mode=1)对交换机无特殊要求,即插即用;若误用 mode=0(负载均衡),则必须交换机也配置链路聚合,否则反而导致断连。保障认证连续性,首选 mode=1。

