当前位置: 首页 > news >正文

链路聚合与软件网桥配置

链路聚合与软件网桥配置

一、链路聚合(NIC Teaming)

(一)核心概述

链路聚合(又称网卡组、网卡聚合)是将多个物理网络接口控制器(NIC)通过逻辑方式组合为一个虚拟接口的技术,可实现故障转移(某网卡故障时自动切换)或吞吐量提升(多网卡分担流量),适用于高可用或高带宽需求场景。

(二)核心模式与功能

链路聚合支持多种工作模式,适配不同业务需求:

模式名称

功能说明

适用场景

roundrobin

轮询模式,所有端口按顺序轮流传输数据包,提升吞吐量。

负载均衡、高带宽场景

activebackup

主备模式,仅主网卡活跃,主网卡故障时自动切换到备用网卡,保障可用性。

高可用场景(如服务器冗余)

loadbalance

负载均衡模式,通过哈希函数监控流量,动态均衡端口负载。

流量不均的复杂网络环境

broadcast

广播容错模式,所有端口同时传输数据包,确保数据可靠送达。

关键数据广播、容错优先场景

(三)链路聚合配置步骤(以activebackup模式为例)

环境准备:
  • 服务器需具备 2 个物理网卡(示例:ens36、ens37),均接入同一网段(192.168.200.0/24)。
1. 清理原有网络连接
# 查看现有网络连接标签nmcli connection show# 删除原有默认连接(如“有线连接 1”“有线连接 2”)nmcli connection delete "有线连接 1"nmcli connection delete "有线连接 2"
2. 创建聚合组接口(team0)
# 创建名为team0的聚合接口,指定模式为activebackupnmcli connection add con-name team0 ifname team0 type team config '{"runner": {"name": "activebackup"}}'
3. 配置聚合接口 IP 地址
# 为team0分配静态IP(192.168.200.10/24),并设置开机自启nmcli connection modify team0 \ipv4.addresses 192.168.200.10/24 \ipv4.method manual \connection.autoconnect yes
4. 添加物理网卡到聚合组

将ens36和ens37作为从接口加入team0:

# 添加ens36到team0nmcli connection add con-name team0-ens36 ifname ens36 type team-slave master team0# 添加ens37到team0nmcli connection add con-name team0-ens37 ifname ens37 type team-slave master team0
5. 激活聚合接口并验证状态
# 激活team0接口nmcli connection up team0# 查看聚合组状态(确认主备关系,先添加的网卡默认为主)teamdctl team0 state
6. 主网卡故障测试(断开 ens36 后状态变化)

在activebackup模式下,初始主网卡为最先添加的ens36,断开ens36后:

# 断开ens36网卡连接nmcli connection down team0-ens36# 再次查看聚合组状态teamdctl team0 state# 输出显示主网卡已自动切换为ens37,状态为“active”,原主网卡ens36状态变为“failed”# 此时网络连接不受影响,server1仍可ping通server2的192.168.200.20ping 192.168.200.20

(四)跨服务器测试

  1. 配置另一台服务器:按上述步骤配置,仅修改team0的 IP 为192.168.200.20/24。
  1. 连通性测试
# 在server1(192.168.200.10)上ping server2(192.168.200.20)ping 192.168.200.20 # 应能正常通信

二、软件网桥(Bridge)

(一)核心概述

软件网桥是 Linux 系统中仿真硬件网桥的链路层设备,通过MAC 地址学习报文转发实现网络流量转发,常用于虚拟化场景(如 KVM)中,让多个虚拟网卡共享一个物理网卡。

(二)核心功能

  1. MAC 地址学习:记录设备 MAC 地址与网桥端口的对应关系,构建 “地址 - 端口转发表”。
  1. 报文转发:根据目标 MAC 地址查询转发表,通过对应端口转发数据包,未匹配时广播转发。
  1. STP 规则:通过生成树协议(STP)选择主工作网卡,避免网络环路,网桥 MAC 地址与主网卡一致。

(三)软件网桥配置步骤

环境准备:
  • 开启 IP 转发(网桥需转发跨网段流量时):
# 编辑内核参数配置文件vim /etc/sysctl.conf# 添加或修改:net.ipv4.ip_forward = 1# 生效配置sysctl -p
1. 清理原有网络连接

同链路聚合步骤 1,删除默认有线连接:

nmcli connection delete "有线连接 1"nmcli connection delete "有线连接 2"
2. 创建软件网桥(bridge0)
# 创建名为bridge0的软件网桥nmcli connection add con-name bridge0 ifname bridge0 type bridge
3. 配置网桥 IP 地址(可选)

如需网桥作为网络节点,可分配静态 IP:

nmcli connection modify bridge0 \ipv4.addresses 192.168.200.10/24 \ipv4.method manual \connection.autoconnect yes
4. 添加物理网卡到网桥

将ens36和ens37连接到bridge0:

# 添加ens36到bridge0nmcli connection add con-name bridge0-ens36 ifname ens36 type bridge-slave master bridge0# 添加ens37到bridge0nmcli connection add con-name bridge0-ens37 ifname ens37 type bridge-slave master bridge0
5. 激活网桥并验证状态
# 激活bridge0网桥nmcli connection up bridge0# 查看网桥状态(确认端口与MAC表,初始主工作网卡为ens36)brctl show
6. 主网卡故障测试(断开 ens36 后状态变化)

网桥通过 STP 规则选择主工作网卡,初始主网卡为ens36,断开ens36后:

# 断开ens36网卡连接nmcli connection down bridge0-ens36# 查看网桥状态变化brctl show# 输出显示网桥端口中ens36状态变为“down”,ens37自动成为新的主工作网卡# 网桥MAC地址切换为ens37的MAC地址,网络连接保持正常ping 192.168.200.20 # 仍可正常ping通server2

(四)跨服务器测试

  1. 配置另一台服务器:按上述步骤配置,网桥 IP 设为192.168.200.20/24。
  1. 连通性测试
# 在server1(192.168.200.10)上ping server2(192.168.200.20)ping 192.168.200.20 # 应能正常通信

三、关键区别与适用场景

技术类型

核心功能差异

主网卡故障切换特点

典型适用场景

链路聚合

多网卡逻辑聚合,提升带宽或冗余

主动模式下自动切换至备用网卡,状态实时更新

服务器高可用、高带宽需求(如数据库)

软件网桥

链路层转发,共享物理网卡资源

通过 STP 规则切换主网卡,MAC 地址随主网卡变更

虚拟化环境(如 KVM 虚拟网卡共享)

通过上述配置,链路聚合可实现网卡级冗余或负载均衡,软件网桥可高效共享网络资源,两者均为 Linux 网络优化的重要技术,需根据业务需求选择合适方案。

http://www.xdnf.cn/news/1304425.html

相关文章:

  • Mac(一)常用的快捷键整理
  • JavaScript(JS)DOM(四)
  • 【数据分享】2022 年黑龙江省小麦、玉米和水稻幼苗影像数据集
  • Python基础(Flask①)
  • 基于机器学习的赌博网站识别系统设计与实现
  • 数据结构——顺序表单链表oj详解
  • 8.15 机器学习(2)K最近邻算法
  • k8s注意事项
  • Nginx反向代理Tomcat实战指南
  • 8月4日实训考察:重庆五一职院走进成都国际影像产业园
  • PCA降维 提升模型训练效率
  • 【科研绘图系列】R语言绘制多种饼图
  • nVidia Tesla P40使用anaconda本地重编译pytorch3d成功加载ComfyUI-3D-Pack
  • 前端动画库之gsap
  • 深入解析五大通信协议:TCP、UDP、HTTP_HTTPS、WebSocket与GRPC
  • Al大模型-本地私有化部署大模型-大模型微调
  • 腾讯位置商业授权微信小程序逆地址解析(坐标位置描述)
  • day29-进程和线程(2)
  • C语言:指针(5)
  • lcm通信库介绍与使用指南
  • 使用Docker容器化Python测试Pytest项目并配置GitHub Actions CI/CD流程
  • Pytest项目_day16(yaml和parametrize结合)
  • week1-[循环嵌套]蛇
  • Vue2与Vue3生命周期函数全面解析:从入门到精通
  • Linux操作系统--多线程(锁、线程同步)
  • 基本电子元件:贴片电阻器的种类
  • 达梦数据库使用控制台disql执行脚本
  • Mac(二)Homebrew 的安装和使用
  • HDFS数据倾斜导致MapReduce作业失败的排查与优化实践
  • 一个集成多源威胁情报的聚合平台,提供实时威胁情报查询和播报服务、主动拦截威胁IP,集成AI等多项常用安全类工具