跨设备链路聚合 M-LAG配置案例

news2024/11/16 5:53:59

组网需求

如下图所示,通过配置M-LAG双归接入IP网络可以满足以下要求:

  • ​当一条接入链路发生故障时,流量可以快速切换到另一条链路,保证可靠性。

  • 为了高效利用带宽,两条链路同时处于active状态,可实现使用负载分担的方式转发流量。

配置思路

采用如下的思路配置M-LAG双归接入IP网络:

  1. 在Switch上配置上行接口绑定在一个Eth-Trunk中。

  2. 分别在SwitchA和SwitchB上配置V-STP、DFS Group、peer-link和M-LAG接口。

  3. 分别在SwitchA和SwitchB上配置VLANIF接口IP地址和MAC地址,作为接入设备的双活网关。

  4. 分别在SwitchA、SwitchB和SwitchC上配置OSPF功能,保证三层互通。

  5. 分别在SwitchA和SwitchB上配置Monitor Link关联上行接口和下行接口,避免因上行链路故障导致用户侧流量无法转发而丢弃。

操作步骤

1. 在Switch上配置上行接口绑定在一个Eth-Trunk中

# 配置Switch。

[~Switch] vlan batch 11

[*Switch] interface eth-trunk 20

[*Switch-Eth-Trunk20] mode lacp-static

[*Switch-Eth-Trunk20] port link-type trunk

[*Switch-Eth-Trunk20] port trunk allow-pass vlan 11

[*Switch-Eth-Trunk20] trunkport 10ge 1/0/1 to 1/0/4

[*Switch-Eth-Trunk20] quit

[*Switch] commit

2. 分别在SwitchA和SwitchB上配置V-STP、DFS Group、peer-link和M-LAG接口

# 配置SwitchA。

[~SwitchA] stp mode rstp

[~SwitchA] stp bridge-address 1-1-1

//缺省情况下,设备参与生成树计算的桥MAC是设备的MAC地址。在配置M-LAG主备设备桥MAC时,建议选取两台设备中MAC地址较小的作为参与生成树计算的桥MAC。

[*SwitchA] stp v-stp enable

//使能V-STP模式后,在双归设备之间同步STP的协议状态,让两台设备以同一个状态对外进行STP协商。

[*SwitchA] interface loopback 0

[*SwitchA-LoopBack0] ip address 10.1.1.1 32

[*SwitchA-LoopBack0] quit

[*SwitchA] dfs-group 1

//创建动态交换服务组DFS Group,并进入DFS-Group视图。在双活组网中配置M-LAG时,需要首先使用该命令创建DFS Group。

[*SwitchA-dfs-group-1] source ip 10.1.1.1

[*SwitchA-dfs-group-1] priority 150 

//缺省情况下,DFS Group的优先级为100。建议用户给两端设备配置不同的优先级,以确定M-LAG两端的设备主备状态。

[*SwitchA-dfs-group-1] quit

[*SwitchA] interface eth-trunk 1

[*SwitchA-Eth-Trunk1] trunkport 10ge 1/0/4

[*SwitchA-Eth-Trunk1] trunkport 10ge 2/0/5

[*SwitchA-Eth-Trunk1] mode lacp-static

[*SwitchA-Eth-Trunk1] peer-link 1

 //配置接口为peer-link接口。接口配置为peer-link接口后,缺省加入所有VLAN。接口配置为peer-link接口后,该接口上不能再配置其他业务。

[*SwitchA-Eth-Trunk1] quit

[*SwitchA] vlan batch 11

[*SwitchA] interface eth-trunk 10

[*SwitchA-Eth-Trunk10] mode lacp-static

[*SwitchA-Eth-Trunk10] port link-type trunk

[*SwitchA-Eth-Trunk10] port trunk allow-pass vlan 11

[*SwitchA-Eth-Trunk10] trunkport 10ge 1/0/2

[*SwitchA-Eth-Trunk10] trunkport 10ge 1/0/3

[*SwitchA-Eth-Trunk10] dfs-group 1 m-lag 1

//配置绑定动态交换服务组和用户侧接口,确保绑定的Eth-Trunk接口连接的是需要双归接入的设备,且配置绑定的m-lag-id必须保持一致。

[*SwitchA-Eth-Trunk10] quit

[*SwitchA] commit

# 配置SwitchB。

[~SwitchB] stp mode rstp

[~SwitchB] stp bridge-address 1-1-1

[*SwitchB] stp v-stp enable

[*SwitchB] interface loopback 0

[*SwitchB-LoopBack0] ip address 10.1.1.2 32

[*SwitchB-LoopBack0] quit

[*SwitchB] dfs-group 1

[*SwitchB-dfs-group-1] source ip 10.1.1.2

[*SwitchB-dfs-group-1] priority 120

[*SwitchB-dfs-group-1] quit

[*SwitchB] interface eth-trunk 1

[*SwitchB-Eth-Trunk1] trunkport 10ge 1/0/4

[*SwitchB-Eth-Trunk1] trunkport 10ge 2/0/5

[*SwitchB-Eth-Trunk1] mode lacp-static

[*SwitchB-Eth-Trunk1] peer-link 1

[*SwitchB-Eth-Trunk1] quit

[*SwitchB] vlan batch 11

[*SwitchB] interface eth-trunk 10

[*SwitchB-Eth-Trunk10] mode lacp-static

[*SwitchB-Eth-Trunk10] port link-type trunk

[*SwitchB-Eth-Trunk10] port trunk allow-pass vlan 11

[*SwitchB-Eth-Trunk10] trunkport 10ge 1/0/2

[*SwitchB-Eth-Trunk10] trunkport 10ge 1/0/3

[*SwitchB-Eth-Trunk10] dfs-group 1 m-lag 1

[*SwitchB-Eth-Trunk10] quit

[*SwitchB] commit

3.分别在SwitchA和SwitchB上配置VLANIF接口IP地址和MAC地址,作为接入设备的双活网关两端的IP和虚拟MAC配置要求完全一致,目的是为M-LAG提供相同的IP和虚拟MAC。

# 配置SwitchA。

[~SwitchA] interface vlanif 11

[*SwitchA-Vlanif11] ip address 10.2.1.1 24

[*SwitchA-Vlanif11] mac-address 0000-5e00-0101

//主备设备上M-LAG成员接口对应的VLANIF接口或者VBDIF接口的虚拟MAC地址必须配置相同。虚MAC地址格式为00-00-5E-00-01-XX或者00-00-5E-00-02-XX。

[*SwitchA-Vlanif11] quit

[*SwitchA] commit

# 配置SwitchB。

[~SwitchB] interface vlanif 11

[*SwitchB-Vlanif11] ip address 10.2.1.1 24

[*SwitchB-Vlanif11] mac-address 0000-5e00-0101

[*SwitchB-Vlanif11] quit

[*SwitchB] commit

4.分别在SwitchA、SwitchB和SwitchC上配置OSPF功能,保证三层互通

# 配置SwitchA。

[~SwitchA] interface 10ge 1/0/1

[~SwitchA-10GE1/0/1] undo portswitch

[*SwitchA-10GE1/0/1] ip address 10.3.1.1 24

[*SwitchA-10GE1/0/1] quit

[*SwitchA] ospf 1

[*SwitchA-ospf-1] area 0

[*SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.0

[*SwitchA-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255

[*SwitchA-ospf-1-area-0.0.0.0] network 10.3.1.0 0.0.0.255

[*SwitchA-ospf-1-area-0.0.0.0] quit

[*SwitchA-ospf-1] quit

[*SwitchA] commit

# 配置SwitchB。

[~SwitchB] interface 10ge 1/0/1

[~SwitchB-10GE1/0/1] undo portswitch

[*SwitchB-10GE1/0/1] ip address 10.4.1.1 24

[*SwitchB-10GE1/0/1] quit

[*SwitchB] ospf 1

[*SwitchB-ospf-1] area 0

[*SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.0

[*SwitchB-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255

[*SwitchB-ospf-1-area-0.0.0.0] network 10.4.1.0 0.0.0.255

[*SwitchB-ospf-1-area-0.0.0.0] quit

[*SwitchB-ospf-1] quit

[*SwitchB] commit

# 配置SwitchC。

[~SwitchC] interface 10ge 1/0/1

[~SwitchC-10GE1/0/1] undo portswitch

[*SwitchC-10GE1/0/1] ip address 10.3.1.2 24

[*SwitchC-10GE1/0/1] quit

[*SwitchC] interface 10ge 1/0/2

[*SwitchC-10GE1/0/2] undo portswitch

[*SwitchC-10GE1/0/2] ip address 10.4.1.2 24

[*SwitchC-10GE1/0/2] quit

[*SwitchC] ospf 1

[*SwitchC-ospf-1] area 0

[*SwitchC-ospf-1-area-0.0.0.0] network 10.3.1.0 0.0.0.255

[*SwitchC-ospf-1-area-0.0.0.0] network 10.4.1.0 0.0.0.255

[*SwitchC-ospf-1-area-0.0.0.0] quit

[*SwitchC-ospf-1] quit

[*SwitchC] commit

5. 分别在SwitchA和SwitchB上配置Monitor Link关联上行接口和下行接口

//Monitor Link是一种端口联动方案,通过监控上行链路对下行链路进行同步设置,达到上行链路故障迅速传达给下行设备,防止长时间因上行链路故障而出现流量丢失。

# 配置SwitchA。

[~SwitchA] monitor-link group 1

[*SwitchA-mtlk-group1] port 10ge 1/0/1 uplink

[*SwitchA-mtlk-group1] port eth-trunk 10 downlink 1

[*SwitchA-mtlk-group1] quit

[*SwitchA] commit

# 配置SwitchB。

[~SwitchB] monitor-link group 1

[*SwitchB-mtlk-group1] port 10ge 1/0/1 uplink

[*SwitchB-mtlk-group1] port eth-trunk 10 downlink 1

[*SwitchB-mtlk-group1] quit

[*SwitchB] commit

6. 验证配置结果

执行命令display dfs-group,查看M-LAG的相关信息。

# 查看DFS Group编号为1的M-LAG信息。

# 查看SwitchA上的M-LAG信息。

# 查看SwitchB上的M-LAG信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71067.html

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

相关文章

【教学类-15-05】20221207《八款字体的描字帖-2*4格》(大班主题《我是中国人-中国字》 中班描字)

成品样式: 80号字(适应2-3个名字的大小) 68号字(适应4个名字大小(2-3个名字也可以用,字会很小)) 打印样式: 背景需求: 前期进行多次的Python学具教学活动&a…

NLP关系抽取和事件抽取

关系抽取 关系抽取又称实体关系抽取,以实体识别为前提,在实体识别之后,判断给定文本中的任意两个实体是否构成事先定义好的关系,是文本内容理解的重要支撑技术之一,对于问答系统,智能客服和语义搜索等应用都…

研究一段WPF 3D 机械臂代码

网上下一段代码&#xff0c;运行如下&#xff1b;显示了一个3D机械臂&#xff1b; xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&#xff0c;这是WPF命名空间&#xff0c;一般写在xaml头部&#xff0c;它的是这样的&#xff0c;<Viewport3D…

vue 数据手写分页算法,定时展示

我们在业务之中&#xff0c;其实会常常用到一些数据的分段展示 &#xff0c; 比如数据量过大导致echarts无法展示&#xff0c;我们就可以将数据进行算法分页 &#xff0c; 然后套用定时器实时更新分段数据&#xff1b; 例子展示 &#xff1a; 将下列数组截取成每页5条数据的分…

鞋子商店APP源码和设计报告

实 验 报 告 课程名称 实验名称 指导教师 专业 班级 学号 姓名 一、需求分析 1.需求分析 随着互联网和手机技术的蓬勃发展&#xff0c;网购已经成为许多人&#xff0c;尤其是年轻人的主要消费方式&#xff0c;这就对手机购物APP产生了大量的需求&#xff0c;商品的展…

01入门-ThreadLocal详解-并发编程(Java)

文章目录1 简介2 基本使用2.1 常用方法2.2 小案例3 ThreadLocal与Sycronized4 应用场景4.1 转账案例构建4.2 问题4.3 解决5 后记1 简介 官方JDK源码关于ThreadLocal描述&#xff1a;ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问&#xff08;通过get和…

【opensips】客户端的注册

opensips的注册能力 opensips可以通过registrar模块实现注册的能力&#xff0c; 所有的账户信息默认是在opensips的subscibe表中&#xff0c; 默认的subscibe表结构如上图&#xff0c; id是主键&#xff0c;username是账户名domain是opensips的域名password是密码email_addre…

ChatGPT 全网最新开通账号教程

&#x1f986;博主介绍&#xff1a;小黄鸭技术 &#x1f308;擅长领域&#xff1a;Java、实用工具、运维 &#x1f440; 系列专栏&#xff1a;&#x1f4e2;开发工具 Java之路 八股文之路 &#x1f4e7;如果文章写作时有错误的地方&#xff0c;请各位大佬指正&#xff0c;一起进…

掌握Redis的Sentinel哨兵原理,助你拿到25k的offer

— — | M1 |---------| R1 | | S1 | | S2 | — — Configuration: quorum 1 master宕机&#xff0c;s1和s2中只要有1个哨兵认为master宕机就可以进行切换&#xff0c;同时会在s1和s2中选举出一个执行故障转移. 但此时&#xff0c;需要majority&#xff0c;也就是大多数…

微信小程序开发笔记 进阶篇⑥——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之后)

文章目录一、前言二、前端代码wxml三、前端代码js四、后端java五、程序流程六、参考一、前言 大部分微信小程序开发者都会有这样的需求&#xff1a;获取小程序用户的手机号码。但是&#xff0c;因为小程序用户的手机号码属于重要信息&#xff0c;为了安全&#xff0c;所以需要如…

细粒度图像分类论文研读-2022

文章目录TransFG: A Transformer Architecture for Fine-grained RecognitionAbstractintroductionMethodVision transformer as feature extractorImage SequentializationPatch EmbeddingTransFG ArchitecturePart Selection ModuleConstrastive feature learningViT-FOD&…

从理论走向实战,阿里高工熬夜整理出的 Spring 源码速成笔记太香了

不知道大家面试的时候有没有被问到过 Spring 相关问题&#xff08;循环依赖、事务、生命周期、传播特性、IOC、AOP、设计模式、源码&#xff09;&#xff1f;反正我这个小学弟前段时间就来私信我说自己面试挂在了 Spring 这一块。&#xff08;原谅我不厚道地笑了&#xff0c;如…

毕设选题推荐基于python的django框架的自媒体社推广平台系统

&#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设老哥&#x1f525; &#x1f496; 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; Java实战项目专栏 Python实…

安卓APP源码和设计报告——运动健身教学

实 验 报 告 课程名称 实验名称 指导教师 专业 班级 学号 姓名 目 录 一、设计背景31. 需求分析32. 课题研究的目的和意义3二、系统需求分析与开发环境31. 系统功能需求32.系统界面需求43.开发环境4三、系统设计4四、系统测试51.脑模拟器测试6五、总结与展望6六、重要…

YoloV7目标检测(Pytorch版)【详解】

文章目录一、网络结构1、总体网络结构&#xff08;backbone&#xff09;2、主干网络介绍&#xff08;backbone&#xff09;2.1 多分支模块堆叠2.2 下采样网络结构2.3 整个backbone代码3、FPN特征金字塔二、预测结果的解码一、网络结构 1、总体网络结构&#xff08;backbone&am…

【组件开发实践】云巧流程组件对接实践

1. 用户需求 假设A系统有如下员工请假审批流场景&#xff1a; 员工请假小于等于3天&#xff0c;只需主管直接审批&#xff1b;大于3天需要主管先审批&#xff0c;审批通过后再由二级主管进行审批。当员工请假审批流节后后&#xff0c;需要通知A系统进行业务处理&#xff08;例…

Tomcat的IO模型

Tomcat支持一下几种IO模型&#xff1a; 支持的IO模型 特点 BIO 同步阻塞式IO&#xff0c;每一个请求都会创建一个线程&#xff0c;对性能开销大&#xff0c;不适合高并发场景。 NIO 同步非阻塞式IO&#xff0c;基于多路复用Selector监测连接状态通知线程处理&#xff0c;…

<C++>多态

文章目录1. 概念2. 多态的定义和实现2.1 多态的构成条件2.2 虚函数2.3 虚函数的重写2.4 虚函数重写的两个例外&#xff1a;2.5 C11 override和final2.6 重载、覆盖(重写)、隐藏(重定义)的对比3. 抽象类3.1 概念3.2 接口继承和实现继承3. 多态的原理3.1 虚函数表3.2 多态的原理3…

S2SH小区物业管理系统计算机专业毕业论文java毕业设计网站

&#x1f496;&#x1f496;更多项目资源&#xff0c;最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 《S2SH小区物业管理系统》该项目采用技术&#xff1a;jsp struts2springhibernatecssjs等相关技术&#xff0c;项目含有源码、文档、配套开发软件…

java EE初阶 — wait 和 notify

文章目录1.wait 和 notify1.1 wait()方法1.2 notify()方法1.3 notifyAll()方法1.wait 和 notify 线程最大的问题是抢占式指向&#xff0c;随机调度。而写代码的时候&#xff0c;确定的东西会比较好。 于是就有程序猿发明了一些办法&#xff0c;来控制线程之间的执行顺序。 虽…