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

网络聚合链路与软件网桥配置指南

网络聚合链路与软件网桥配置指南

在这里插入图片描述

一、聚合链路(Team)

网络组队(聚合链路)是一种将多个网络接口控制器(NIC,Network Interface Controller)以逻辑方式组合在一起的技术,通过这种方式可以实现故障转移或提升网络吞吐量。相比传统方式,组队具有更好的性能和可扩展性,其模块化设计也使其更易于扩展。

二、teamd支持的聚合模式

teamd是实现聚合链路的工具,支持以下几种常见模式:

  • roundrobin(轮询模式):以轮询方式在所有端口传输数据包,均衡利用各接口带宽。
  • activebackup(主备模式):属于故障迁移模式,会监控链路状态变化,仅选择活动端口进行数据传输,当主端口故障时自动切换到备用端口。
  • loadbalance(负载均衡模式):通过监控网络流量,使用哈希函数选择传输端口,以实现流量的均衡分配。
  • broadcast(广播模式):具备容错能力,设备会通过所有端口广播传输数据包。

三、聚合链路配置(以activebackup主备模式为例)

Server1配置步骤:

#添加网卡后需要网络连接的配置文件

[root@zhangyiwei3 ~]# nmcli connection show
NAME        UUID                                  TYPE      DEVICE 
ens33       c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet  ens33  
virbr0      4ab2a230-02bf-4d02-9ede-a083c3085a3e  bridge    virbr0 
有线连接 1  3fd45fe7-dfb5-328a-a8d9-edc356ee0574  ethernet  ens36  
有线连接 2  44d47fa4-02f8-300c-9c96-870f2bd0fdc5  ethernet  ens37  
[root@zhangyiwei3 ~]# nmcli connection delete  "有线连接 1"
成功删除连接 '有线连接 1'(3fd45fe7-dfb5-328a-a8d9-edc356ee0574)。
[root@zhangyiwei3 ~]# nmcli connection delete  "有线连接 2"
成功删除连接 '有线连接 2'(44d47fa4-02f8-300c-9c96-870f2bd0fdc5)。
  1. 创建组接口

    [root@zhangyiwei3 ~]# nmcli connection add con-name team0 ifname team0 type team config '{"runner": {"name": "activebackup"}}'
    连接“team0”(e01bbbf9-1ac1-40be-93dc-8781f18e2923) 已成功添加。
    
    • con-name team0:指定连接名称为team0
    • ifname team0:指定接口名称为team0
  • type team:设置连接类型为team
    • config:指定聚合模式为activebackup
  1. 为组接口配置静态IP
    [root@zhangyiwei3 ~]# nmcli connection modify team0 ipv4.addresses 192.168.200.30/24 ipv4.method manual connection.autoconnect yes
    • ipv4.addresses:设置IP地址为192.168.0.1/24
    • ipv4.method manual:启用手动配置IP
  • connection.autoconnect yes:设置开机自动连接
  1. 添加端口接口到组接口
    将ens36、ens37网络接口加入team0组:

    [root@zhangyiwei3 ~]# nmcli connection add con-name team0-ens36 ifname ens36 type team-slave master team0
    连接“team0-ens36”(fc0093bb-763b-4bd4-8234-ef2cedf9c278) 已成功添加。
    [root@zhangyiwei3 ~]# nmcli connection add con-name team0-ens37 ifname ens37 type team-slave master team0
    连接“team0-ens37”(034e9e55-6137-4401-ad08-fcee00d5eb13) 已成功添加。
    
   - `type team-slave`:指定为组接口的从设备  - `master team0`:指定所属的主组接口为team0  4. **激活组接口**  ```bash[root@zhangyiwei3 ~]# nmcli connection up team0Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/47)
  1. 重启网络服务(建议)

    [root@zhangyiwei3 ~]# systemctl restart network
    
  2. 查看组队状态

    [root@zhangyiwei3 ~]# teamdctl team0 state
    setup:runner: activebackup
    ports:ens36link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0ens37link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0
    runner:active port: ens36

    该命令可显示team0的当前状态,包括活动端口、备用端口等信息。

Server2配置步骤:

配置步骤与Server1相同,仅需将team0的IP地址修改为192.168.0.2/24:

[root@zhangyiwei-2 ~]# nmcli connection modify team0 ipv4.addresses 192.168.200.20/24 ipv4.method manual connection.autoconnect yes

测试连通性

在Server1上ping Server2的team0接口IP,验证是否连通:

[root@zhangyiwei3 ~]# ping 192.168.200.20
PING 192.168.200.20 (192.168.200.20) 56(84) bytes of data.
64 bytes from 192.168.200.20: icmp_seq=1 ttl=64 time=0.521 ms
64 bytes from 192.168.200.20: icmp_seq=2 ttl=64 time=0.326 ms
64 bytes from 192.168.200.20: icmp_seq=3 ttl=64 time=0.453 ms
64 bytes from 192.168.200.20: icmp_seq=4 ttl=64 time=0.362 ms
^C
--- 192.168.200.20 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.326/0.415/0.521/0.079 ms
[root@zhangyiwei3 ~]# xxxxxxxxxx [root@zhangyiwei3 ~]# ping 192.168.200.20PING 192.168.200.20 (192.168.200.20) 56(84) bytes of data.64 bytes from 192.168.200.20: icmp_seq=1 ttl=64 time=0.521 ms64 bytes from 192.168.200.20: icmp_seq=2 ttl=64 time=0.326 ms64 bytes from 192.168.200.20: icmp_seq=3 ttl=64 time=0.453 ms64 bytes from 192.168.200.20: icmp_seq=4 ttl=64 time=0.362 ms^C--- 192.168.200.20 ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 2999msrtt min/avg/max/mdev = 0.326/0.415/0.521/0.079 ms[root@zhangyiwei3 ~]# ping 192.168.0.2bash

四、软件网桥

网桥是工作在链路层的设备,通过MAC地址在网络中转发流量。它会学习主机的MAC地址并构建MAC地址表(转发表),然后根据表中信息决定数据包的转发端口。在Linux环境中,可通过软件网桥仿真硬件网桥,其最常见的应用是在虚拟化场景中,用于让多个虚拟NIC共享一个物理NIC。

软件网桥功能:

  • MAC学习:通过监听接收和发送的数据包,记录每个MAC地址对应的接入端口,逐步构建地址-端口对照表(转发表)。
  • 报文转发:当收到数据包时,提取目的MAC地址,查询转发表以确定转发端口,然后将数据包从对应端口发送出去。

软件网桥配置步骤:

  1. 创建软件网桥

    [root@zhangyiwei-2 ~]# nmcli connection add con-name bridge0 ifname bridge0 type bridge
    连接“bridge0”(f3badf92-da37-4069-9a0e-74a8e4494a88) 已成功添加。
    
    • con-name bridge0:连接名称为bridge0
  • ifname bridge0:接口名称为bridge0
    • type bridge:连接类型为网桥
  1. 配置网桥静态IP(可选)

    nmcli connection modify bridge0 ipv4.addresses 192.168.200.1/24 ipv4.method manual connection.autoconnect yes
    
  2. 添加网络接口到网桥
    将ens38、ens39 接口连接至bridge0:

    [root@zhangyiwei3 ~]# nmcli connection add con-name bridge0-ens38 ifname ens38 type bridge-slave master bridge0
    连接“bridge0-ens38”(747a1837-21e8-4e68-bf32-8a0ce9db49ee) 已成功添加。
    [root@zhangyiwei3 ~]# nmcli connection add con-name bridge0-ens39 ifname ens39 type bridge-slave master bridge0 
    连接“bridge0-ens39”(f6a36769-995f-4e13-a131-f8e22b160f73) 已成功添加。
    
   - `type bridge-slave`:指定为网桥的从设备  - `master bridge0`:指定所属网桥为bridge0  4. **激活网桥**  ```bash[root@zhangyiwei3 ~]# nmcli connection up bridge0Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15)
  1. 重启网络服务(建议)

    [root@zhangyiwei3 ~]# systemctl restart network
    
  2. 启用IP转发(如需实现路由功能)
    编辑/etc/sysctl.conf文件,添加IP转发配置:
    vim /etc/sysctl.conf

    加入以下内容:

[root@zhangyiwei3 ~]# vim /etc/sysctl.conf

加入以下内容:
net.ipv4.ip_forward = 1

使配置生效:  
```bash
[root@zhangyiwei3 ~]# sysctl -p

测试

可通过brctl show命令查看网桥状态,或通过ping命令测试网桥连接的设备之间的连通性。

在server2 ping 软件网桥的IP地址:

[root@zhangyiwei-2 ~]# ping 192.168.200.1
PING 192.168.200.1 (192.168.200.1) 56(84) bytes of data.
64 bytes from 192.168.200.1: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 192.168.200.1: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from 192.168.200.1: icmp_seq=3 ttl=64 time=0.055 ms
64 bytes from 192.168.200.1: icmp_seq=4 ttl=64 time=0.044 ms
^C
--- 192.168.200.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.043/0.047/0.055/0.009 ms
[root@zhangyiwei-2 ~]# 
http://www.lryc.cn/news/625956.html

相关文章:

  • 源代码安装部署lamp
  • 云端赋能,智慧运维:分布式光伏电站一体化监控平台研究
  • “R语言+遥感”的水环境综合评价方法实践技术应用
  • 微服务-07.微服务拆分-微服务项目结构说明
  • 云电脑 vs 传统PC:全面对比3A游戏与AI训练的成本与性能
  • 基于STM32+NBIOT设计的宿舍安防控制系统_264
  • Java NIO (New I/O) 深度解析
  • 深入理解Prompt构建与工程技巧:API高效实践指南
  • webpack》》Plugin 原理
  • Spring Ai Prompts
  • webrtc弱网-GoogCcNetworkController类源码分析与算法原理
  • Jenkins服务器SSH公钥配置步骤
  • 哈希:两数之和
  • 磁盘镜像格式RAW、QCOW2、VHD、VMDK的核心区别
  • Android -登录注册实践技术总结
  • Android SystemServer 中 Service 的创建和启动方式
  • 代码随想录Day56:图论(冗余连接、冗余连接II)
  • CLIK-Diffusion:用于牙齿矫正的临床知识感知扩散模型|文献速递-深度学习人工智能医疗图像
  • 心路历程-启动流程的概念
  • 如何让你的知识分享更有说服力?
  • RNN如何将文本压缩为256维向量
  • AC内容审计技术
  • 单一职责原则(SRP)深度解析
  • django生成迁移文件,执行生成到数据库
  • CNN-LSTM-Attention、CNN-LSTM、LSTM三模型多变量时序光伏功率预测
  • 开源 GIS 服务器搭建:GeoServer 在 Linux 系统上的部署教程
  • Scikit-learn通关秘籍:从鸢尾花分类到房价预测
  • Vim笔记:缩进
  • 从一个ctf题中学到的多种php disable_functions bypass 姿势
  • 重塑酒店投屏体验:私密投屏技术的革新应用