RHEL7系统下双网卡绑定(Bonding)配置实战指南

admin
RHEL7系统下双网卡绑定(Bonding)通过多网卡协同工作提升网络可靠性与带宽,实战配置需先确认网卡状态,安装bonding驱动;编辑bonding配置文件(如ifcfg-bond0),指定模式(如active-backup实现故障转移,mode0负载均衡)、IP地址及子网掩码;配置从属网卡(如ifcfg-eth0、ifcfg-eth1)绑定至bond0;重启network服务使配置生效,最后测试网络连通性与故障切换能力,该方案可有效避免单点故障,满足企业级网络高可用需求。

在服务器运维中,单网卡可能存在单点故障风险,且带宽受限,通过Linux内核的Bonding(网卡绑定)技术,可将多块物理网卡虚拟成一块逻辑网卡,实现负载均衡冗余备份带宽叠加,提升网络可靠性和性能,本文以RHEL7系统为例,详细讲解如何绑定两块网卡为Bond0,涵盖模式选择、配置步骤及验证方法。

Bonding技术概述

Bonding(也称链路聚合)通过Linux内核模块bonding实现,支持多种工作模式,常见模式如下:
| 模式 | 名称 | 特点 | 适用场景 |
|------|--------------------|----------------------------------------------------------------------|------------------------------|
| 0 | balance-rr(平衡轮询) | 按顺序将数据包发送到不同网卡,实现负载均衡,需交换机支持聚合 | 高带宽需求,无冗余要求 |
| 1 | active-backup(主备) | 仅一块网卡工作,另一块备份,故障时自动切换 | 高可靠性,带宽要求不高 |
| 4 | 802.3ad(LACP动态聚合) | 基于IEEE 802.3ad标准,需交换机支持LACP协议,动态协商负载均衡 | 企业级高可靠+负载均衡 |
| 6 | balance-tcp(TCP负载) | 基于TCP/UDP哈希算法分配流量,支持多路径传输 | 通用负载均衡,适合复杂网络 |

本文以mode=1(主备模式)为例,该模式配置简单、兼容性强,适合大多数冗余场景。

RHEL7系统下双网卡绑定(Bonding)配置实战指南

准备工作

系统与硬件环境

  • 操作系统:RHEL7.9(Minimal安装,已配置基础网络)
  • 硬件:两块物理网卡(假设为ens33ens34,已驱动并识别)
  • 工具:ifconfig/ip命令、vim编辑器

检查网卡状态

确认两块网卡已正确识别且未被占用:

ip addr show          # 查看网卡信息,确认ens33、ens34存在
ls /sys/class/net/    # 列出所有网卡,确保ens33、ens34在列

Bonding配置步骤

步骤1:加载Bonding内核模块

RHEL7默认未加载bonding模块,需手动加载并设置开机自启:

# 临时加载模块(立即生效)
modprobe bonding
# 查看模块是否加载成功
lsmod | grep bonding    # 显示bonding相关信息
# 设置开机自启(写入配置文件)
echo "bonding" > /etc/modules-load.d/bonding.conf

步骤2:创建Bond0逻辑网卡配置文件

RHEL7网络配置文件位于/etc/sysconfig/network-scripts/,需创建ifcfg-bond0

vim /etc/sysconfig/network-scripts/ifcfg-bond0
```  以静态IP为例,DHCP用户可调整`BOOTPROTO`和`IPADDR`等参数):  
```ini
# Bond0逻辑网卡配置
DEVICE=bond0                # 逻辑网卡名称
TYPE=Bond                   # 类型为Bond
BOOTPROTO=static            # 静态IP(DHCP改为dhcp)
IPADDR=192.168.1.100       # 绑定后的IP地址
NETMASK=255.255.255.0      # 子网掩码
GATEWAY=192.168.1.1        # 网关
DNS1=8.8.8.8               # DNS
ONBOOT=yes                 # 开机自启
# Bonding核心参数(必须配置)
BONDING_OPTS="mode=1 miimon=100"  
# mode=1:主备模式;miimon=100:每100ms检测链路状态(单位ms)

步骤3:配置物理网卡为Slave

将两块物理网卡ens33ens34设置为Bond0的从设备,禁用其独立IP配置:

配置ens33

vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改/添加以下参数:

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=none             # 禁用独立IP
ONBOOT=yes
MASTER=bond0               # 指定主设备为bond0
SLAVE=yes                  # 标记为从设备
# 其他参数(如HWADDR)保持默认,无需修改

配置ens34

vim /etc/sysconfig/network-scripts/ifcfg-ens34
```  与`ens33`一致,仅需将`DEVICE`改为`ens34`:  
```ini
DEVICE=ens34
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

步骤4:重启网络服务使配置生效

# 重启网络服务(注意:可能导致SSH连接短暂中断,建议本地操作)
systemctl restart network
# 或使用nmcli命令(避免服务重启,需NetworkManager支持)
nmcli con down "System ens33" && nmcli con down "System ens34"
nmcli con add type bond ifname bond0 mode active-backup ip4 192.168.1
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码