锐捷(十五)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目录,直接复…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...