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

锐捷(十五)mpls vxn跨域optionc场景

一 实验拓扑

二 实验需求

ce1和ce2为两个分公司,要求两个分公司之间用mpls vxn 进行通信,组网方式是optionc。

三 实验分析

optionc在转发平面上有点难理解,有一些关键点需要注意,大家点击链接可以参考我上篇发过的一个文章:锐捷(十四)mpls vxn optionc的关键问题所在和具体问题分析,看完这个博客在参考配置实验会非常轻松。

我上面同样有一个optiona的配置实验大家也可以参考:锐捷(十三)mpls vxn optionA基础配置实验

锐捷optionc的主要配置思路:

  • 先建立单区域as域内底层的igp和ldp

  • pe1和pe2启用vrf并接口绑定vrf实例

  • 配置asbr1和asbr2之间的ebgp邻居关系

  • 配置pe1和pe2的MPBGP邻居关系

  • 在asbr上宣告pe上的路由,将bgp重分布进ospf

  • 配置asbr之间的打标签功能

  • 配置asbr和pr之间的传递标签功能

  • 配置pe和ce之间的路由传递

四 实验配置

4.1先建立单区域as域内底层的igp和ldp

这个不在多说,连个域内通过ospf和mpls ldp宣告接口上的路由,配置完成后检查路由表和标签转发表

4.2 pe1和pe2启用vrf并接口绑定vrf实例

注意绑定实例后ip地址会清除,pe1和pe2实例的rd值要区别,rt值要导入等于导出

R1:

pe1(config)#ip vrf vrlab1
pe1(config-vrf)#rd 1:1
pe1(config-vrf)#route-target both 100:1
pe1(config)#int g0/0
pe1(config-if-GigabitEthernet 0/0)#ip vrf forwarding vrlab1
% Interface GigabitEthernet 0/0 IP address removed due to enabling VRF vrlab1
pe1(config-if-GigabitEthernet 0/0)#ip address 12.1.1.2 24

R7:

pe2(config)#ip vrf vrlab2
pe2(config-vrf)#rd 1:2
pe2(config-vrf)#route-target both 100:1
pe2(config)#int g0/0
pe2(config-if-GigabitEthernet 0/0)#ip vrf forwarding vrlab2
% Interface GigabitEthernet 0/0 IP address removed due to enabling VRF vrlab1
pe1(config-if-GigabitEthernet 0/0)#ip address 78.1.1.17 24

4.3配置asbr1和asbr2之间的ebgp邻居关系

在这里将2.2.2.2(pe的lo地址)宣告出去

R4:

asbr1(config)#router bgp 100
asbr1(config-router)#show thneighbor 45.1.1.5 remote-as 200address-family ipv4network 2.2.2.2 mask 255.255.255.255neighbor 45.1.1.5 activateexit-address-family

R5:

asbr2(config)#router bgp 200
asbr2(config-router)#show thneighbor 45.1.1.4 remote-as 100address-family ipv4network 7.7.7.7 mask 255.255.255.255neighbor 45.1.1.4 activateexit-address-family

4.4配置pe1和pe2的MPBGP邻居关系

主要要在vpnv4地址族下建立vpnv4邻居

R2:

pe1(config)#router bgp 100
pe1(config-router)#show thneighbor 7.7.7.7 remote-as 200neighbor 7.7.7.7 ebgp-multihop 255neighbor 7.7.7.7 update-source Loopback 0address-family ipv4no neighbor 7.7.7.7 activateexit-address-familyaddress-family vpnv4 unicastneighbor 7.7.7.7 activateneighbor 7.7.7.7 send-community extendedexit-address-family

R7:

pe1(config)#router bgp 200
pe1(config-router)#show thneighbor 2.2.2.2 remote-as 200neighbor 2.2.2.2 ebgp-multihop 255neighbor 2.2.2.2 update-source Loopback 0address-family ipv4no neighbor 2.2.2.2 activateexit-address-familyaddress-family vpnv4 unicastneighbor 2.2.2.2 activateneighbor 2.2.2.2 send-community extendedexit-address-family

注意:以上操作的前提是pe1的2.2.2.2和pe2的7.7.7.7能通

但是!!!!!!此时是建立不起来bgp vpnv邻居的,具体原因很简单,是因为asbr之间 没有ldp,外层标签到了asbr后传不不出去

4.5配置asbr之间的打标签功能

R4:

asbr1(config)#int g0/1
asbr1(config-if-GigabitEthernet 0/1)#label-switching 
asbr1(config)#router bgp 100
asbr1(config-router)#neighbor 45.1.1.5 send-label 

R5:

asbr2(config)#int g0/0
asbr2(config-if-GigabitEthernet 0/1)#label-switching 
asbr2(config)#router bgp 200
asbr2(config-router)#neighbor 45.1.1.4 send-label 

此时发现邻居pe之间的mpebgp还是起不来,问题还是一样,asbr1上的路由传递到asbr2后无法传递,因为mpls ldp只传递igp路由,而2.2.2.2是通过bgp邻居起来的,所以mpls ldp无法为2.2.2.2打标签,所以这里也要做一些配置让mpls能学到bgp的路由

4.6配置asbr和pr之间的传递标签功能

R4:

asbr1(config)#mpls router ldp 
asbr1(config-mpls-router)#advertise-labels for bgp-routes

R5:

asbr2(config)#mpls router ldp 
asbr2(config-mpls-router)#advertise-labels for bgp-routes

此时,pe1和pe2终于建立起来mpebgp邻居关系了

4.7配置pe和ce之间的路由传递

我之所以后来再写这个地方是为想把先写完整个optionc的核心架构

R2:

pe1(config)#router bgp 100
pe1(config-router)#address-family ipv4 vrf vrlab1
pe1(config-router-af)#redistribute ospf 99
pe1(config)#router ospf 99 vrf vrlab1
pe1(config-router)#redistribute bgp subnets
pe1(config-router)#network 12.1.1.2 0.0.0.0 area 0

R7:

pe2(config)#router bgp 200
pe2(config-router)#address-family ipv4 vrf vrlab2
pe2(config-router-af)#redistribute ospf 99
pe2(config)#router ospf 99 vrf vrlab2
pe2(config-router)#redistribute bgp subnets
pe2(config-router)#network 78.1.1.7 0.0.0.0 area 0

R1:

ce1(config)#router ospf 99
ce1(config-router)#network 12.1.1.1 0.0.0.0 area 0
ce1(config-router)#network 11.11.11.11 0.0.0.0 area 0

R8:

ce1(config)#router ospf 99
ce1(config-router)#network 78.1.1.8 0.0.0.0 area 0
ce1(config-router)#network 88.88.88.88 0.0.0.0 area 0

查看效果:

此时说明ce的路由已传递到vpnv4路由

ce上也应该学到了对方ce的路由

ping测试:

实验成功!!!!


注意:锐捷的optionc方案在asbr打标签的地方和华为的不太一样,华为是用的route-policy打上一个三层标签,而锐捷只需要#neighbor 45.1.1.4 send-label这一条命令。

欢迎各位大佬在评论区或私信批评指正!!

相关文章:

锐捷(十五)mpls vxn跨域optionc场景

一 实验拓扑二 实验需求ce1和ce2为两个分公司,要求两个分公司之间用mpls vxn 进行通信,组网方式是optionc。三 实验分析optionc在转发平面上有点难理解,有一些关键点需要注意,大家点击链接可以参考我上篇发过的一个文章&#xff1…...

2023备战金三银四,Python自动化软件测试面试宝典合集(七)

马上就又到了程序员们躁动不安,蠢蠢欲动的季节~这不,金三银四已然到了家门口,元宵节一过后台就有不少人问我:现在外边大厂面试都问啥想去大厂又怕面试挂面试应该怎么准备测试开发前景如何面试,一个程序员成长之路永恒绕…...

redis 主从复制

在redis的持久化RDB与AOF详解文章中,我们知道如果redis宕机了,我们可以通过AOF 和 RDB 文件的方式恢复数据,从而保证数据的丢失(或少量损失)从而提高稳定性。但是,如果我们数据只存在一台redis服务器中&…...

如何用Redis实现延迟队列

背景前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想…...

项目文件相关总结

风险登记册 风险登记册记录了已识别单个风险的详细信息。其主要内容包括: 已识别的风险清单潜在的风险责任人潜在的风险应对措施清单风险管理计划要求的其他信息供方选择标准 供方选择标准用于确保选出的建议书将提供最佳质量的所需服务,主要内容 包括: 能力和潜力产品成本…...

ZooKeeper集群搭建步骤

一、准备虚拟机准备三台虚拟机,对应ip地址和主机名如下:ip地址Hostname192.168.153.150ant163192.168.153.151ant164192.168.153.152ant165修改hostname,并使之生效[rootlocalhost /]# hostnamectl set-hostname zookeeper1 //修改hostname …...

网际协议IP

网际协议IP 文章目录网际协议IP[toc]虚拟互联网IP地址及其表示方法分类IP地址(两级)无分类编址 CIDR网路前缀地址块地址掩码子网划分(三级IP地址)IP地址和MAC地址地址解析协议ARPIP数据报的格式IP数据报首部的固定部分中的各字段IP数据报首部的可变部分分…...

Python 语言参考手册、教程、标准库

官方文档:https://docs.python.org/zh-cn/3.11/ Python 语言参考手册 介绍了 Python 句法与“核心语义”。在力求简明扼要的同时,我们也尽量做到准确、完整。有关内置对象类型、内置函数、模块的语义在 Python 标准库 中介绍。有关本语言的非正式介绍&am…...

数据库连接池 BoneCP、HikariCP 等

文章目录 数据库连接池 BoneCP、HikariCP 等BoneCPDruidTomcat Jdbc PoolHikariCPC3p0DbcpLRUPSCachePS数据库连接池 BoneCP、HikariCP 等 BoneCP 官方说法 BoneCP 是一个高效、免费、开源的 Java 数据库连接池实现库 设计初衷就是为了提高数据库连接池性能,根据某些测试数…...

博客系统 SSM 超强硬核良心推荐之第一弹 - 预备工作

硬核 ! 从 0 到 1 完美实现 SSM 版本的博客系统 , 学会保准不吃亏!一 . SSM 版本相比于 Servlet 版本的亮点二 . 初始化数据库三 . 前端页面3.1 注册页面3.2 登录功能3.3 文章总列表页3.4 自己的文章列表页3.5 文章详情页3.6 编写博客页面大家好 , 这是新的专栏 , 博客系统 SSM…...

[Web] 简单瀑布流布局实现

目前的纯 CSS 布局, 是没办法实现比较完美的瀑布流布局的. 参考: CSS总结:瀑布流布局 - 黑白程序员 我使用 JS CSS, 并且自动布局实现了较为简单, 观赏性好的瀑布流布局. 代码 HTML: <!DOCTYPE html> <html lang"en"> <head><link rel&quo…...

多线程之死锁,哲学家就餐问题的实现

1.死锁是什么 死锁是这样一种情形&#xff1a;多个线程同时被阻塞&#xff0c;它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞&#xff0c;因此程序不可能正常终止。 2.哲学家就餐问题 有五个哲学家&#xff0c;他们的生活方式是交替地进行思考和进餐…...

UTF-8编码

介绍 UTF-8 编码 UTF-8 是一种针对 Unicode 的可变长度字符编码。 针对 Unicode&#xff1a;UTF-8 是 Unicode 的实现方式之一。相当于 Unicode 规定了字符对应的代码值&#xff0c;这个代码值需要转换为字节序列的形式&#xff0c;用于数据存储、传输。代码值到字节序列的转…...

likeshop单商户SaaS版V1.8.2说明!

likeshop单商户SaaS版V1.8.2主要更新如下&#xff1a; 新增 前端登录引导用户填写头像昵称 PC端—注册页面显示服务协议和隐私政策 PC端—首次进入商城弹出协议提示 PC端—结算页新增门店自提的配送方式 后台—PC端菜单导航栏的跳转链接支持添加自定义链接 ​​ ​​ ​ 优…...

算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零

算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零 最后一块石头的重量 II 1049. 最后一块石头的重量 II - 力扣&#xff08;LeetCode&#xff09; 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xf…...

nginx-host绕过实例复现

绕过Nginx Host限制第一种处理方法Nginx在处理Host的时候&#xff0c;会将Host用冒号分割成hostname和port&#xff0c;port部分被丢弃。所以&#xff0c;我们可以设置Host的值为2023.mhz.pw:xxx"example.com&#xff0c;这样就能访问到目标Server块&#xff1a;第二种处理…...

Java学习记录day9

类与对象 内部类 成员内部类 在一个类的内部定义的类。 public class Outer {private int a 10;public void outMethod() {System.out.println("这是外部类中的方法");}// 成员内部类public class Inner{private int b 10;public void innerMethod() {// 外部类…...

ActiveReports.NET 17.0 Crack by Xacker

一个完整的报告解决方案&#xff0c;用于在您的业务应用程序中设计、定制、发布和查看报告。 ActiveReports.NET 通过直观的 Visual Studio 集成报表设计器和丰富的控件帮助您提供精美的报表。ActiveReports 提供基于代码的跨平台报告、易于使用的设计器和灵活的 API。适用于桌…...

【计算机网络】传输层TCP协议

文章目录认识TCP协议TCP协议的格式字段的含义序号与确认号六个标志位窗口大小确认应答(ACK)机制超时重传机制连接管理机制三次握手四次挥手滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况总结认识TCP协议 传输控制协议 &#xff08;TCP&#xff0c;T…...

Mysql5.7安装【Windows版】

文章目录一、下载二、添加到环境变量三、添加配置文件my.ini四、安装Mysql 修改密码一、下载 下载地址 滑倒最下面有一个MySQL Community Server 选择要下载的版本 二、添加到环境变量 下载好了之后开始解压 把bin目录添加到环境变量 可以点击进入bin目录&#xff0c;直接复…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...