Linux链路聚合+网桥

server/2024/9/19 11:04:58/ 标签: linux, 运维, 链路聚合, 网络

一、简介

  1. 链路聚合(Link Aggregation)链路聚合是一种将多个物理网络连接(链路)合并为一个逻辑通道的技术以增加吞吐量并提供冗余,从而提高网络的可靠性和性能。例如,你可以将两个或更多的以太网连接捆绑在一起,使得它们表现得像是单个高带宽的连接。链路聚合还可以在其中一个链路失败时自动切换到其他链路,从而实现故障转移。

  2. 网卡(Network Interface Card, NIC): 网卡是一种硬件设备,它允许计算机或其他设备通过有线或无线方式连接到网络。网卡通常内置在计算机主板上,或者作为外部设备(如USB无线网卡)连接到计算机。它负责处理网络通信,包括数据的发送和接收。网卡有多种类型,支持不同的网络技术,如以太网、Wi-Fi、蓝牙等。

  3. 网关(Gateway): 网关是一种网络节点,它在不同的网络或子网之间转发数据。它充当不同网络协议或数据格式之间的翻译器,使得不同网络间的数据可以互相通信。例如,家庭或企业的本地网络通常通过网关连接到互联网。网关可以是一个专用的硬件设备,也可以是运行网关软件的计算机。

  4. 网桥(Bridge): 网桥是一种网络设备,用于连接两个或多个网络段(通常是指局域网内的网络段),并根据数据包的MAC地址来转发数据。网桥在OSI模型的数据链路层工作,它可以过滤和转发数据包,从而减少网络上的流量,提高网络效率。网桥还可以隔离网络上的冲突域,但不会隔离广播域。

网桥链路聚合常用工作模式
  • roundrobin:以轮循的模式传输所有端口的包
  • activebackup:主备模式这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输
  • loadbalance:监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡
  • broadcast:广播容错,设备通过所有端口传输数据包

二、链路聚合部署

配置activebakup工作模式

node1,node2均添加了两块网卡

node1,先将添加到两块网卡删掉
[root@node1 ~]# nmcli connection show 
NAME                UUID                                  TYPE      DEVICE 
ens160              f50e5c5b-e1b2-33d2-bc0d-d2cfe7ed0c05  ethernet  ens160 
lo                  12284601-7c7f-44f1-91be-e3c9db7b1309  loopback  lo     
Wired connection 1  09e37243-523b-3626-819a-3ef2fd1cf457  ethernet  --     
Wired connection 2  328bdbd9-836d-387f-a4bf-a0fe7a5ad912  ethernet  --     
[root@node1 ~]# nmcli connection delete Wired\ connection\ 1
Connection 'Wired connection 1' (09e37243-523b-3626-819a-3ef2fd1cf457) successfully deleted.
[root@node1 ~]# nmcli connection delete Wired\ connection\ 2
Connection 'Wired connection 2' (328bdbd9-836d-387f-a4bf-a0fe7a5ad912) successfully deleted.
[root@node1 ~]# nmcli connection show 
NAME    UUID                                  TYPE      DEVICE 
ens160  f50e5c5b-e1b2-33d2-bc0d-d2cfe7ed0c05  ethernet  ens160 
lo      12284601-7c7f-44f1-91be-e3c9db7b1309  loopback  lo     
[root@node1 ~]#
创建组接口,为team0设置ip地址
[root@node1 ~]# nmcli connection add con-name team0 type team ifname team0 config '{"runner":  {"name": "activebackup"}}'
Connection 'team0' (9c409329-4c2f-4254-b83b-dc5c511ecebe) successfully added.[root@node1 ~]# nmcli connection modify team0 ipv4.addresses 192.168.0.1/24 ipv4.method manual connection.autoconnect yes 
[root@node1 ~]#
网络接口192,224添加到添加到team0中
[root@node1 ~]# nmcli connection add con-name team0-ens192 ifname ens192 type team-slave master team0 
Connection 'team0-ens192' (aad1367b-6c0a-41d3-a16d-94082d73f2a7) successfully added.
[root@node1 ~]# nmcli connection add con-name team0-ens1224 ifname ens224 type team-slave master team0 
Connection 'team0-ens1224' (361bb99c-b210-44da-8e0e-b4155b7bfa7e) successfully added.[root@node1 ~]# nmcli connection show            // 查看
NAME           UUID                                  TYPE      DEVICE 
ens160         f50e5c5b-e1b2-33d2-bc0d-d2cfe7ed0c05  ethernet  ens160 
team0          9c409329-4c2f-4254-b83b-dc5c511ecebe  team      team0  
team0-ens1224  361bb99c-b210-44da-8e0e-b4155b7bfa7e  ethernet  ens224 
team0-ens192   aad1367b-6c0a-41d3-a16d-94082d73f2a7  ethernet  ens192 
lo             12284601-7c7f-44f1-91be-e3c9db7b1309  loopback  lo     
[root@node1 ~]#
使用ip a查看
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master team0 state UP group default qlen 1000link/ether 00:0c:29:b8:d7:5b brd ff:ff:ff:ff:ff:ffaltname enp11s0
4: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master team0 state UP group default qlen 1000link/ether 00:0c:29:b8:d7:5b brd ff:ff:ff:ff:ff:ff permaddr 00:0c:29:b8:d7:65altname enp19s0
6: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000link/ether 00:0c:29:b8:d7:5b brd ff:ff:ff:ff:ff:ffinet 192.168.0.1/24 brd 192.168.0.255 scope global noprefixroute team0valid_lft forever preferred_lft foreverinet6 fe80::ecb9:d74:31bf:5199/64 scope link noprefixroute valid_lft forever preferred_lft forever
查看team0信息
[root@node1 ~]# teamdctl team0 state
setup:runner: activebackup
ports:ens192link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0ens224link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0
runner:active port: ens192     # 此时工作的接口是ens192,谁先添加就来谁就是主
[root@node1 ~]#
node2,配置同理
[root@node2 ~]# teamdctl team0 state
setup:runner: activebackup
ports:ens192link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0ens224link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0
runner:active port: ens192
先用node1 ping node2是否成功
[root@node1 ~]# ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.242 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.251 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.218 ms# 成功

如果在工作的ens192借口出现故障,那此时ens224就会顶替ens192来工作,实现故障交替

三、软件网桥部署

软件网桥是一个软件层面的网络设备,用于在Linux系统中创建和管理网络桥接。它允许将多个物理或虚拟网络接口连接在一起,以创建一个共享相同网络段的网络

主要功能:MAC学习报文转发

先将添加到两块网卡删掉
[root@node1 ~]# nmcli connection show 
NAME                UUID                                  TYPE      DEVICE 
ens160              f50e5c5b-e1b2-33d2-bc0d-d2cfe7ed0c05  ethernet  ens160 
team0               9c409329-4c2f-4254-b83b-dc5c511ecebe  team      team0  
team0-ens1224       361bb99c-b210-44da-8e0e-b4155b7bfa7e  ethernet  ens224 
team0-ens192        aad1367b-6c0a-41d3-a16d-94082d73f2a7  ethernet  ens192 
Wired connection 1  f2a01947-cf0c-3007-a8bc-2b5eeaffed13  ethernet  ens256 
Wired connection 2  a9b2aabc-82be-3c8c-bc31-9a90b8e1ae56  ethernet  ens161 
lo                  12284601-7c7f-44f1-91be-e3c9db7b1309  loopback  lo     
[root@node1 ~]# nmcli connection delete Wired\ connection\ 1
Connection 'Wired connection 1' (f2a01947-cf0c-3007-a8bc-2b5eeaffed13) successfully deleted.
[root@node1 ~]# nmcli connection delete Wired\ connection\ 2
Connection 'Wired connection 2' (a9b2aabc-82be-3c8c-bc31-9a90b8e1ae56) successfully deleted.
[root@node1 ~]# nmcli connection show 
NAME           UUID                                  TYPE      DEVICE 
ens160         f50e5c5b-e1b2-33d2-bc0d-d2cfe7ed0c05  ethernet  ens160 
team0          9c409329-4c2f-4254-b83b-dc5c511ecebe  team      team0  
team0-ens1224  361bb99c-b210-44da-8e0e-b4155b7bfa7e  ethernet  ens224 
team0-ens192   aad1367b-6c0a-41d3-a16d-94082d73f2a7  ethernet  ens192 
lo             12284601-7c7f-44f1-91be-e3c9db7b1309  loopback  lo     
[root@node1 ~]# 
定义网桥
[root@node1 ~]# nmcli connection add con-name bridge0 ifname bridge0 type bridge
Connection 'bridge0' (5ec35030-a228-4851-8cb6-7f1b73304faa) successfully added.
[root@node1 ~]# nmcli connection show 
NAME           UUID                                  TYPE      DEVICE  
ens160         f50e5c5b-e1b2-33d2-bc0d-d2cfe7ed0c05  ethernet  ens160  
team0          9c409329-4c2f-4254-b83b-dc5c511ecebe  team      team0   
team0-ens1224  361bb99c-b210-44da-8e0e-b4155b7bfa7e  ethernet  ens224  
team0-ens192   aad1367b-6c0a-41d3-a16d-94082d73f2a7  ethernet  ens192  
bridge0        5ec35030-a228-4851-8cb6-7f1b73304faa  bridge    bridge0 
lo             12284601-7c7f-44f1-91be-e3c9db7b1309  loopback  lo      
[root@node1 ~]#
设置bridge0,给他添加物理网卡
[root@node1 ~]# nmcli connection modify bridge0 ipv4.addresses 192.168.1.1/24 ipv4.method manual connection.autoconnect yes 
[root@node1 ~]#
[root@node1 ~]# nmcli connection add con-name bridge0-ens161 ifname ens161 type bridge-slave master bridge0 
Connection 'bridge0-ens161' (54541942-8590-43e3-8f54-2a99c025145a) successfully added.
[root@node1 ~]# nmcli connection add con-name bridge0-ens256 ifname ens256 type bridge-slave master bridge0 
Connection 'bridge0-ens256' (5f9693d0-0355-427a-adf8-3f1a2e18d045) successfully added.
启动bridge0
8: ens256: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP group default qlen 1000link/ether 00:0c:29:b8:d7:6f brd ff:ff:ff:ff:ff:ffaltname enp27s0
9: ens161: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP group default qlen 1000link/ether 00:0c:29:b8:d7:79 brd ff:ff:ff:ff:ff:ffaltname enp4s0
10: bridge0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 00:0c:29:b8:d7:6f brd ff:ff:ff:ff:ff:ffinet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute bridge0valid_lft forever preferred_lft forever

此时bridge0的MAC地址和ens256是一样的,说明此时工作的是ens256。

四、思维导图(参考)


http://www.ppmy.cn/server/119048.html

相关文章

浅显易懂的Git教程

Git概述 SVN与Git的对比 SVN&#xff08;Subversion&#xff09; 类型&#xff1a;集中式版本控制系统 工作流程&#xff1a; 从中央服务器下载最新版本到本地。在本地进行开发。提交更改回中央服务器。 优点&#xff1a; 简单易用&#xff0c;适合小型团队。版本历史清…

Stable Diffusion绘画 | ControlNet应用-IP-Adapter:堪比 Midjourney 垫图

IP-Adapter 是腾讯AI实验室研发的控制器&#xff0c;属于 ControlNet 最强控制器前三之一。 如果想参照图片的风格&#xff0c;生成各种各样类似效果的图片&#xff0c;就可以用到 IP-Adapter。 在 ControlNet 单元中上传一张图片&#xff1a; 不输入任何提示词&#xff0c;出图…

Spring Boot-RESTful API相关问题

Spring Boot RESTful API 相关问题探讨 Spring Boot 是基于 Spring 框架的简化开发工具&#xff0c;提供了快速构建 RESTful API 的能力。在实际开发中&#xff0c;Spring Boot 的 REST API 可以快速开发出符合 REST 架构风格的接口。然而&#xff0c;在构建 RESTful API 时&a…

Flutter启动无法运行热重载

当出现这种报错时&#xff0c;大概率是flutter的NO_Proxy出问题。 请忽略上面的Android报错因为我做的是windows开发这个也就不管了哈&#xff0c;解决下面也有解决报错的命令大家执行一下就行。 着重说一下Proxy的问题&#xff0c; 我们看到提示NO_PROXY 没有设置。 这个时候我…

华为VRP系统基本操作

简介&#xff1a; VRP是Versatile Routing Platform的简称&#xff0c;它是华为公司数据通信产品的通用网络操 作系统。目前&#xff0c;在全球各地的网络通信系统中&#xff0c;华为设备几乎无处不在&#xff0c;因此&#xff0c;学习了 解VRP的相关知识对于网络通信技术人员来…

pbf格式详解,javascript加载导出pbf文件示例

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

网传阿里云盘出现bug,可看到其他用户云盘图片

9月14日消息称&#xff0c;阿里云盘被曝出存在一个“灾难级的严重 bug”。有用户偶然发现&#xff0c;在阿里云盘的相册功能中&#xff0c;只要创建一个文件夹&#xff0c;然后在分类选择图片这一操作下&#xff0c;竟然可以看到其他用户云盘里的图片。 目前&#xff0c;阿里云…

手机在网状态查询接口如何用PHP进行调用?

一、什么是手机在网状态查询接口&#xff1f; 手机在网状态查询接口&#xff0c;即输入手机号码查询手机号在网状态&#xff0c;返回有正常使用、停机、在网但不可用、不在网&#xff08;销号/未启用/异常&#xff09;、预销户等多种状态。 二、手机在网状态查询适用哪些场景…

Spring6梳理9—— 依赖注入之注入对象类型属性

9.1 依赖注入之外部注入对象类型属性 9.1.1 创建dept与emp类 1.dept类 package com.atguigu.spring6.iocxml.ditest;//部门类 public class Dept {private String dname;public String getDname() {return dname;}public void setDname(String dname) {this.dname dname;…

【msys2】msys2安装卡在 50%,updating trust database 50%

总览 1.msys2安装卡在 50%&#xff0c;updating trust database 50% 一、原因 1.原因不详&#xff0c;但终归是网络问题 2.使用魔法 使用魔法依旧无用&#xff0c;原因不详。 二、解决办法 1.有网线的 拔网线&#xff0c;等待1分钟 2.用wifi的 关闭wifi功能&#xff…

erlang学习:mnesia数据库与ets表1

Mnesia 和 ETS 都是 Erlang 提供的表管理工具&#xff0c;用于存储和检索数据&#xff0c;但它们之间有一些重要的区别和共同点。 共同点 都是Erlang提供的表存储机制&#xff1a;ETS 和 Mnesia 都允许你在内存中创建表&#xff0c;并且可以用来存储键值对或者更复杂的数据结…

Haption力反馈设备在机器人遥操作中的应用优势

在工业、医疗、科研等多个领域&#xff0c;机器人遥操作正在成为一项关键技术&#xff0c;它允许操作者在远离实际工作环境的情况下&#xff0c;通过远程控制系统对机器人进行精准操作。Haption Virtuose力反馈设备作为遥操作系统中的重要组成部分&#xff0c;其应用优势日益凸…

如何配置 Apache 反向代理服务器 ?

将 Apache 配置为反向代理意味着将 Apache 设置为侦听和引导 web 流量到后端服务器或服务。这有助于管理和平衡服务器上的负载&#xff0c;提高安全性&#xff0c;并使您的 web 服务更高效。您还可以将其设置为监听标准 HTTP 和 HTTPS 端口上的请求&#xff0c;并将其重定向到运…

【系统架构设计师】ATAM(Architecture Tradeoff Analysis Method)

ATAM(Architecture Tradeoff Analysis Method)是一种软件架构评估方法,主要用于在软件设计早期阶段对系统架构进行评估。这种方法帮助开发团队识别潜在的性能瓶颈、安全漏洞、可维护性问题等,并且在需求与架构之间进行权衡,从而确保所选架构能够满足系统的非功能性需求。 …

再次被对地观测拒稿

又拒稿了&#xff0c;这次应该不是没法修改了&#xff0c;范围不一样&#xff0c;准备改投其他期刊了。 创新性不够说明还难以达到1区的要求&#xff0c;继续先投着一区试试吧&#xff0c;不行再降了 所以说还需要一开始就对照期刊范围来写&#xff0c;比较有针对性。

从底层原理上理解ClickHouse 中的稀疏索引

稀疏索引&#xff08;Sparse Indexes&#xff09;是 ClickHouse 中一个重要的加速查询机制。与传统数据库使用的 B-Tree 或哈希索引不同&#xff0c;ClickHouse 的稀疏索引并不是为每一行数据构建索引&#xff0c;而是为数据存储的块或部分数据生成索引。这种索引的核心思想是通…

Linux进程间通信——探索共享内存—— 剖析原理, 学习接口应用

前言&#xff1a;本节内容主要讲解进程间通信的&#xff0c; systemV版本下的共享内存。 共享内存&#xff0c;顾名思义&#xff0c; 其实就是一块内存&#xff0c; 它不同于管道是一个文件。 所以它的传输速度是很快的。 因为管道是文件&#xff0c;有缓冲区&#xff0c; 而共…

TCP 和 UDP 协议的区别?

参考TCP 和 UDP的区别_tcp和udp的区别-CSDN博客

大众点评代发排名真的靠谱吗

大众点评代发排名真的靠谱吗 外推排名代做灰色词排名&#xff08;最新专业代做百度灰色词推广&#xff09;#百度推广#关键词排名#灰色词排名 大众点评代发排名&#xff1a;靠谱&#xff1f;还是靠“谱”&#xff1f; 在这个信息泛滥的时代&#xff0c;大众点评成了我们寻找美…

Hadoop分布式集群配置

配置Hadoop分布式集群涉及多个步骤&#xff0c;包括环境准备、配置文件修改、格式化文件系统、启动集群等。以下是一个简化的配置指南&#xff0c;适用于Hadoop 2.x或3.x版本的集群配置。请注意&#xff0c;实际操作中可能需要根据具体版本和需求进行调整。 1. 环境准备 安装…