锐捷(十五)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在转发平面上有点难理解,有一些关键点需要注意,大家点击链接可以参考我上篇发过的一个文章࿱…...

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

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

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

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

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

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

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

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

分布式一致性算法Raft原理图释
什么是分布式一致性算法Raft 分布式一致性算法Raft:指在分布式场景下实现集群数据同步的解决方案 掌握了这个算法,就可以较容易地处理绝大部分场景的容错和数据一致性需求 Raft三大角色 跟随者(Follower):普通群众…...

网络安全-字典生成-crunch
网络安全-字典生成-crunch crunch工具,在kali已经集成好了 2是代表最小字符长度 4是最大字符长度 生成了一个2M的文件 还有我们来查看这个密码本 从abcd26个英文字母的2位到4位的组合,他全部排列了一次 还可以自定义数字,特殊字符…...

闪光桐人の实习日记
2023年2月13日 1,认识了职场礼仪,学习了职场礼仪的重要性 尊重->心情愉悦->建立信任与好感->合作机遇的敲门砖 2,学习了职场礼仪中的邮件礼仪 模板管理中设置自己的名片 部门写到三级部,如果部门名太长要换一行 发送…...

PostgreSQL 常见配置参数
max_wal_size : 两个检查点(checkpoint)之间,WAL可增长的最大大小,即:自动WAL checkpoint允许WAL增长的最大值。该值缺省是1GB。如果提高该参数值会提升性能,但也是会消耗更多空间、同时会延长崩溃恢复所需…...

JAVA 常用类型之String结构
String在java中我们是用来操作字符串的,但它的底层结构确是一个char[]数组,通过数组的方式将每个字符进行保存。 使用时:String str"ABCD",内部存value确是:value[A,B,C,D]; 如下图: 参考String源…...

二三层网络设备封装与解封装原理
1、寻址转发(寻址指的是寻找IP地址) 路由表放在一个公共的地方,比如主控板上,由主控板 的CPU运行路由协议,计算路由,生成和维护路由表。 转发表与路由表: 转发表是根据路由表生成的。路由表中…...

9、MyBatis框架——使用注解开发实现数据库增删改查操作、一级缓存、二级缓存、MyBatis实现分页
目录 一、使用注解开发实现数据库增删改查操作 1、搭建项目 2、使用注解开发操作数据库 二、一级缓存 1、一级缓存失效的情况 三、二级缓存 1、手动开启二级缓存cacheEnabled 2、二级缓存机制 四、MyBatis实现分页 1、配置环境 2、startPage()开启分页 3、PageInfo…...

C++STL剖析(六)—— set和multiset的概念和使用
文章目录🌟 前言🍑 树型结构和哈希结构🍑 键值对1. set的介绍和使用🍑 set的模板参数列表🍑 set的构造🍑 set的使用🍅 insert🍅 find🍅 erase🍅 swap…...

SpringColud第四讲 Nacos的Windows安装方式和Linux的安装方式
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: 目录 1.Windows安装Nacos 1.1.下载 1.2.解压 1.3.修改相关配置: 1.4.启动: 1.5.登录: 2.Linux的安装方式Nacos 2.1.…...

微服务项目【网关服务限流熔断降级分布式事务】
网关服务限流熔断降级 第1步:启动sentinel-dashboard控制台和Nacos注册中心服务 第2步:在网关服务中引入sentinel依赖 <!-- sentinel --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-…...