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.xdnf.cn/news/143625.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV基础入门30讲(Python)——第一讲 环境配置

学习基础要求&#xff1a; 1、会Python。 版本要求&#xff1a; 1、电脑系统&#xff1a;Windows10&#xff08;理论上Ubuntu或者Windows10和Windows11都可以&#xff09; 2、Python版本&#xff1a;Python 3.8&#xff08;理论上Python 3.6-3.9都可以&#xff09; 3、OpenCV版…

点工干了三年,快要废了...

8年前刚进入到IT行业&#xff0c;到现在学习软件测试的人越来越多&#xff0c;所以在这我想结合自己的一些看法给大家提一些建议。 最近聊到软件测试的行业内卷&#xff0c;越来越多的转行和大学生进入测试行业&#xff0c;导致软件测试已经饱和了&#xff0c;想要获得更好的待…

Darknet YOLOV3 模型训练

Darknet YOLOV3 模型训练 没想到YOLOV3我还能用得到&#xff0c;这个模型非常的经典&#xff0c;这里先不去介绍它的理论&#xff0c;只记录下这个经典模型的训练过程&#xff01;&#xff01; Darknet YOLOV3的地址 Darknet yolov3作者的网站&#xff1a; https://pjreddie…

2022年十九届中国研究生数学建模竞赛C题——优秀论文分析

● 引言&#xff1a;因为最近要参加研究生数学建模竞赛了&#xff08;第二十一届&#xff09;&#xff0c;学习和分析一下优秀的数模论文的&#xff1a;思路、写作。 虽然我说是 “优秀论文分析”&#xff0c;但其实更多是 “搬运” 哈哈哈… ✅ NLP 研 1 选手的学习笔记 笔者…

【数据结构-线段树】【差分】力扣732. 我的日程安排表 III

当 k 个日程存在一些非空交集时&#xff08;即, k 个日程包含了一些相同时间&#xff09;&#xff0c;就会产生 k 次预订。 给你一些日程安排 [startTime, endTime) &#xff0c;请你在每个日程安排添加后&#xff0c;返回一个整数 k &#xff0c;表示所有先前日程安排会产生的…

51单片机-系列-数码管中断和定时器

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 数码管 8051单片机的最小系统 电源&#xff08;5V&#xff09;复位电路晶振&#xff08;单片机的心脏&#xff09;如果要使用PO口&#xff0c;必须加4.7K-10K上拉电阻&#xf…

ANSYS Workbench随机球体及过渡区三维混凝土细观建模

在ANSYS Workbench内建立随机球体及ITZ界面层混凝土细观模型可采用CAD随机球体颗粒&过渡区3D插件建模后将模型导入。 在插件内设置好模型参数后运行&#xff0c;插件会自动完成随机球体、界面过渡区、基体模型的建立。插件已将不同部件分图层进行建模&#xff0c;将模型整…

浅谈红外测温技术在变电站运维中的应用

0引言 随着市场经济的繁荣发展&#xff0c;社会对电力的需求持续增长。城市供电网络的规模和用电设备的总量也在不断扩大&#xff0c;这导致城市电力系统中潜在的网络安全隐患日益增多。作为电力系统核心组成部分的变压器&#xff0c;其安全、稳定的工作直接关系到电能的质量和…

完美解决 Uncaught ReferenceError: X is not defined 的正确解决方法,亲测有效!!!

完美解决 Uncaught ReferenceError: X is not defined 的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 亲测有效 完美解决 Uncaught ReferenceError: X is not defined 的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01;报错…

发布Java项目到Maven中央仓库

1.背景 本教程为2024年9月最新版 我有一个Java项目&#xff0c;想发布到Maven中央仓库&#xff0c;任何人都可以在pom文件中引用我的代码 引用格式如下&#xff08;以rocketmq为例&#xff09;&#xff1a; <dependency><groupId>org.apache.rocketmq</groupId…

[数据集][目标检测]智慧养殖场肉鸡健康状态检测数据集VOC+YOLO格式4657张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4657 标注数量(xml文件个数)&#xff1a;4657 标注数量(txt文件个数)&#xff1a;4657 标注…

基于uniapp的奶茶店点餐微信小程序源码

基于uniapp的奶茶店点餐微信小程序源码 简介 2套模式&#xff0c;小程序和h5页面&#xff0c;都支持 h5可以配置公众号模式 小程序就直接小程序小程序截图 管理后台截图 下载地址 资源来源于网络&#xff0c;如有侵权请告知

隐藏excel单元格数据的两个方法

在Excel中&#xff0c;公式是用来计算数据和结果的非常重要的一部分。但是&#xff0c;有时候您可能希望隐藏公式&#xff0c;以保护其不被他人修改或查看。那么今天小编就来给大家分享隐藏excel单元格数据的方法。 一、使用“隐藏”功能 在Excel中&#xff0c;我们还可以使用…

网络封装分用

目录 1,交换机 2,IP 3,接口号 4,协议 分层协议的好处: 5,OSI七层网络模型. 6,TCP/IP五层网络模型(主流): [站在发送方视角] [接收方视角] 1,交换机 交换机和IP没有关系,相当于是对路由器接口的扩充,这时相当于主机都与路由器相连处于局域网中,把越来越多的路由器连接起…

宠物空气净化器该怎么选?希喂、352、霍尼韦尔哪款对吸附浮毛有效

明明我都成年很久了&#xff0c;我爸妈还把我当小孩一样&#xff0c;我干什么前都要和他们说一声。前段时间去朋友家玩&#xff0c;本来对宠物无感的我一下子就被她家可爱的猫咪萌化了。猫咪好可爱呀&#xff0c;毛茸茸的摸起来很舒服&#xff0c;眨巴的大眼睛看着你真的心软软…

ai头像免费软件有哪些?卡哇伊头像用这些

如果你的个性头像不再局限于单调的自拍&#xff0c;而是可以是任何你喜爱的动物形象&#xff01; 无论是温顺的小猫、活泼的小狗&#xff0c;还是憨态可掬的熊猫&#xff0c;ai技术都能将这些可爱的动物形象变成你独特的虚拟代表。 现在&#xff0c;就让我们一起探索这些超萌…

webGL 综合教程100+【目录】

webGL 综合教程100旨在为开发者提供两大方面的知识信息&#xff1a;&#xff08;1&#xff09;提供详细的每个api知识点的详解 &#xff08;2&#xff09;提供实战的示例&#xff0c;提供源代码。 在这量大系统性的知识下&#xff0c;给用户提供清晰的思路和示例参考&#xff0…

Kettle的安装与基本使用

什么是Kettle&#xff1f; Kettle最早是一个开源的ETL&#xff08;Extract-Transform-Load的缩写&#xff09;工具&#xff0c;全称为KDE Extraction, Transportation, Transformation and Loading Environment。是一个功能丰富的ETL工具&#xff0c;它允许用户轻松地进行数据抽…

Flutter 项目结构的区别

如果需要调用原生代码&#xff0c;请创建一个plugin类型的项目开发。如果需要调用C语言&#xff0c;请参考文档&#xff1a;Flutter项目中调用C语言plugin 其实是 package 的一种&#xff0c;全称是 plugin package&#xff0c;我们简称为 plugin&#xff0c;中文叫插件。 1. A…