华为MPLS跨域C1方案实验配置

news2024/11/27 12:42:22

目录

配置接域内IGP路由协议与LDP协议

配置IPv4的BGP邻居

配置PE之间的Vpnv4邻居

配置PE与CE设备对接命令

ASBR上手工为PE地址分配标签


MPLS隧道——跨域解决方案C1、C2讲解_静下心来敲木鱼的博客-CSDN博客_route-policy rr permit node 10 if-match mpls-labelhttps://blog.csdn.net/m0_49864110/article/details/127634890?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167385775316782429783183%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167385775316782429783183&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-7-127634890-null-null.blog_rank_default&utm_term=mpls&spm=1018.2226.3001.4450

配置接域内IGP路由协议与LDP协议

以域AS100为例做配置(AS 200与AS100配置类似)

PE2配置

int g0/0/0

 ip add 100.0.23.2 24

int g0/0/1

 ip add 100.0.12.2 24

int loop 0

 ip add 2.2.2.2 32

isis 1

 net 49.0001.0000.0002.00

int g0/0/0

 isis enable 1

int loop 0

 isis enable 1

mpls lsr-id 2.2.2.2

mpls

mpls ldp

int g0/0/0

 mpls

 mpls ldp

P3配置

int g0/0/0

 ip add 100.0.23.3 24

int g0/0/1

 ip add 100.0.34.3 24

int loop 0

 ip add 3.3.3.3 32

isis 1

 net 49.0001.0000.0003.00

int g0/0/0

 isis enable 1

int g0/0/1

 isis enable 1

int loop 0

 isis enable 1

mpls lsr-id 3.3.3.3

mpls

mpls ldp

int g0/0/0

 mpls

 mpls ldp

int g0/0/1

 mpls

 mpls ldp

ASBR4配置

int g0/0/0

 ip add 100.0.34.4 24

int g0/0/1

 ip add 100.0.45.4 24

int loop 0

 ip add 4.4.4.4 32

isis 1

 net 49.0001.0000.0004.00

int g0/0/0

 isis enable 1

int loop 0

 isis enable 1

mpls lsr-id 4.4.4.4

mpls

mpls ldp

int g0/0/0

 mpls

 mpls ldp


配置IPv4的BGP邻居

PE2与ASBR4建立IBGP邻居关系

PE2

bgp 100

 peer 4.4.4.4 as 100

 peer 4.4.4.4 connect-interface loop 0   更新源为Loop 0

ASBR4

bgp 100

 peer 2.2.2.2 as 100

 peer 2.2.2.2 connect-interface loop 0

ASBR4与ASBR5建立EBGP邻居关系

ASBR4

bgp 100

 peer 100.0.45.5 as 200

ASBR5

bgp 200

 peer 100.0.45.4 as 100

PE7与ASBR5建立IBGP邻居关系

PE7

bgp 200

 peer 5.5.5.5 as 200

 peer 5.5.5.5 connect-interface loop 0

ASBR5

bgp 200

 peer 7.7.7.7 as 200

 peer 7.7.7.7 connect-interface loop 0

在ASBR上宣告PE的IP地址,为PE之间建立Vpnv4邻居做准备

ASBR4

bgp 100

 peer 2.2.2.2 next-hop-local 从EBGP学到的路由传递给IBGP时修改下一跳为本地更新源

 net 2.2.2.2 32

ASBR5

bgp 200

 peer 7.7.7.7 next-hop-local

 net 7.7.7.7 32


配置PE之间的Vpnv4邻居

PE2

bgp 100

 peer 7.7.7.7 as 200

 peer 7.7.7.7 connect-interface LoopBack 0   配置更新源

 peer 7.7.7.7 ebgp-max-hop 10             配置TTL跳数为10(ebgp默认为1)

 ipv4-family unicast

  undo peer 7.7.7.7 enable

 ipv4-family vpnv4                        配置Vpnv4邻居

  peer 7.7.7.7 enable

PE7

bgp 200

 peer 2.2.2.2 as 100

 peer 2.2.2.2 connect-interface LoopBack 0

 peer 2.2.2.2 ebgp-max-hop 10

 ipv4-family unicast

  undo peer 2.2.2.2 enable

 ipv4-family vpnv4

  peer 2.2.2.2 enable


配置PE与CE设备对接命令

PE2与CE1对接

PE2

创建实例

ip vpn-instance CE1

 ipv4-family

  route-distinguisher 12:1                    配置RD值

  vpn-target 200:1 export-extcommunity       配置入RT值

  vpn-target 100:1 import-extcommunity       配置出RT值

接口绑定实例

int g0/0/1

 ip bind vpn-instance CE1

 ip add 100.0.12.2 24

OSPF绑定实例

ospf 1 vpn-instance CE1

 area 0

  net 100.0.12.2 0.0.0.0

将CE路由重发布进BGP

bgp 100

 ipv4-family vpn-instance CE1

  import-route ospf 1

将BGP路由重发布到CE中

ospf 1

 import-route bgp

CE1

int g0/0/0

 ip add 100.0.12.1 24

int g0/0/1

 ip add 172.16.1.254 24

ospf 1

 area 0

  net 100.0.12.1 0.0.0.0

  net 172.16.1.0 0.0.0.255

PE7与CE8对接

PE7

创建实例

ip vpn-instance CE8

 ipv4-family

  route-distinguisher 78:1

  vpn-target 100:1 export-extcommunity

  vpn-target 200:1 import-extcommunity

接口绑定实例

int g0/0/1

 ip bind vpn-instance CE8

 ip add 100.0.78.7 24

OSPF绑定实例

ospf 1 vpn-instance CE8

 area 0

  net 100.0.78.7 0.0.0.0

将CE路由重发布进BGP

bgp 200

 ipv4-family vpn-instance CE8

  import-route ospf 1

将BGP路由重发布到CE中

ospf 1

 import-route bgp

CE8

int g0/0/0

 ip add 100.0.78.8 24

int g0/0/1

 ip add 192.168.1.254 24

ospf 1

 area 0

  net 100.0.78.8 0.0.0.0

  net 192.168.1.0 0.0.0.255

此时CE已经获取到其它站点的地址,但是CE之间是无法访问的

因为将包发往PE,PE发往P之后会将数据包丢弃(因为P没有去往其它域PE的路由)

此时就需要为PE手工配置标签来完成数据转发

但是站点之间无法访问(报文到达P设备会被丢弃)


ASBR上手工为PE地址分配标签

PE2标签→PE7

ASBR4设备上匹配PE2的地址,为其分配传递给ASBR5

ASBR5设备收到带有标签的BGP路由后,为其重新分配标签发送给PE7(P设备没有对端PE的路由)

PE7标签→PE2

ASBR5设备上匹配PE7的地址,为其分配传递给ASBR4

ASBR4设备收到带有标签的BGP路由后,为其重新分配标签发送给PE2(P设备没有对端PE的路由)

ASBR4设备配置

通过ACL配置匹配条件匹配PE2地址

acl 2000

 rule permit source 2.2.2.2 0.0.0.0

 rule deny

配置路由策略PE2-7(此路由策略作用是传递标签到ASBR5)

route-policy PE2-7 permit node 10

 if-match acl 2000

 apply mpls-label

配置路由策略PE7-2(此路由策略作用是收到ASBR5的标签后重新将标签传递给PE2)

route-policy PE7-2 permit node 10

 if-match mpls-label

 apply mpls-label

在BGP应用

bgp 100

peer 100.0.45.5 route-policy PE2-7 export 配置向ASBR5传递2.2.2.2路由时分配标签

peer 100.0.45.5 label-route-capability       配置与ASBR5开启标签交互

peer 2.2.2.2 route-policy PE7-2 export    配置向PE2传递标签路由时重新分配标签

peer 2.2.2.2 label-route-capability            配置与PE2开启标签交互

接口开启MPLS

int g0/0/1

 mpls

ASBR5设备配置

通过ACL配置匹配条件匹配PE7地址

acl 2000

 rule permit source 7.7.7.7 0.0.0.0

 rule deny

配置路由策略PE7-2(此路由策略作用是传递标签到ASBR4)

route-policy PE7-2 permit node 10

 if-match acl 2000

 apply mpls-label

配置路由策略PE2-7(此路由策略作用是收到ASBR4的标签后重新将标签传递给PE7)

route-policy PE7-2 permit node 10

 if-match mpls-label

 apply mpls-label

在BGP应用

bgp 100

peer 100.0.45.4 route-policy PE7-2 export 配置向ASBR4传递7.7.7.7路由时分配标签

peer 100.0.45.4 label-route-capability        配置与ASBR4开启标签交互

peer 7.7.7.7 route-policy PE2-7 export    配置向PE7传递标签路由时重新分配标签

peer 7.7.7.7 label-route-capability             配置与PE7开启标签交互

接口开启MPLS

int g0/0/1

 mpls

PE2设备配置

bgp 100

 peer 4.4.4.4 label-route-capability    配置与ASBR4开启标签交互

PE7设备配置

bgp 100

 peer 5.5.5.5 label-route-capability    配置与ASBR5开启标签交互

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

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

相关文章

IB地理课选课指南,SL还是HL适合呢?

IB地理科的标准级别(Standard Level, SL)课程跟高级级别(Higher Level,HL)课程的最大不同处在于,考卷的数量跟题目的数量是不同的。可是,两者之间的教学内容和科目指引(S…

二十八、Kubernetes中job详解

1、概述 在kubernetes中,有很多类型的pod控制器,每种都有自己的适合的场景,常见的有下面这些: ReplicationController:比较原始的pod控制器,已经被废弃,由ReplicaSet替代 ReplicaSet&#xff…

CentOS 7 升级安装 Python 3.9 版本

由于 yum install python3 默认安装的 Python 版本较低,现如今有更高版本的 Python 需求,就想用编译安装的方法安装一个较高版本的 Python,顺道记录一下安装过程。 注意:不要卸载自带的 python2,由于 yum 指令需要 pyt…

idea中代码git的版本穿梭Git Rest三种模式详解(soft,mixed,hard)

使用Git进行版本控制开发时难免会遇到回顾的情况,这里来解释下该如何正确的回滚 文章目录1.本地仓库回滚2.远程仓库回滚2.1错误案例2.2正确操作3.代码提交到错误的分支解决4.Git Rest三种模式详解(soft,mixed,hard)4.1操作演示reset --hard&a…

【论文简述】FlowFormer:A Transformer Architecture for Optical Flow(ECCV 2022)

一、论文简述 1. 第一作者:Zhaoyang Huang、Xiaoyu Shi 2. 发表年份:2022 3. 发表期刊:ECCV 4. 关键词:光流、代价体、Transformer、GRU 5. 探索动机:现有的方法对代价体的信息利用有限。 6. 工作目标&#xff1…

RabbitMQ 部署及配置详解(集群部署)

RabbitMQ 集群是一个或 多个节点,每个节点共享用户、虚拟主机、 队列、交换、绑定、运行时参数和其他分布式状态。一、RabbitMQ 集群可以通过多种方式形成:通过在配置文件中列出群集节点以声明方式以声明方式使用基于 DNS 的发现以声明方式使用 AWS &…

Java中的LinkedList

文章目录前言一、LinkedList的使用1.1 什么是LinkedList1.2 LinkedList的使用1.2.1 LinkedList的构造1.2.2 LinkedList的其他常用方法介绍1.2.3 LinkedList的遍历二、LinkedList的模拟实现三、ArrayList和LinkedList的区别总结前言 上一节中我们讲解了Java中的链表&#xff0c…

vue3.0中echarts实现中图地图的省份切换,并解决多次切换后地图卡死的情况

一、echarts安装及地图的准备 1、安装echarts npm install echarts2、下载china.js等json文件到项目中的文件夹 map的下载地址&#xff1a; 等审核 二、代码说明 <template><div class"center-body"><div class"map" id"map"…

fork函数详解

文章目录fork函数例子详解工作原理GDB 多进程调试fork函数 fork系统调用用于创建一个新进程&#xff0c;称为子进程&#xff0c;它与进程&#xff08;称为系统调用fork的进程&#xff09;同时运行&#xff0c;此进程称为父进程。创建新的子进程后&#xff0c;两个进程将执行fo…

jvm系列(2)--类加载子系统

目录第2章-类加载子系统内存结构概述简图详细图类加载器子系统类加载器ClassLoader角色类加载过程概述加载阶段链接阶段验证(Verify)准备(Prepare)解析(Resolve)初始化阶段类的初始化时机clinit()1&#xff0c;2&#xff0c;3说明4说明5说明6说明类加载器的分类概述虚拟机自带的…

【web安全】——文件上传的绕过方式

作者名&#xff1a;白昼安全主页面链接&#xff1a; 主页传送门创作初心&#xff1a; 舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右铭…

价值创造链路及经营计划

“价值创造过程最主要的环节是建立链接&#xff0c;北京万柳书院在网上热议&#xff0c;其背后是人与人的大量链接&#xff0c;近期热议的湖南卫视春晚亦如是&#xff0c;这种链接为价值的设计、沟通、传递创造条件&#xff1b;企业以客户为中心设计产品&#xff0c;往大了说是…

C++ string类的初步了解

目录 一. 为什么学习string类&#xff1f; 1.C语言中的字符串 2.string类 二. string类的常用接口说明 1.构造 2.容量 size和length capacity clear empty reserve resize 3.元素访问 operator[] at front、back 4.迭代器 ​编辑begin、end rbegin、rend …

数据结构初阶:排序

本期博客我们来到了初阶数据结构最后一个知识点&#xff1a;排序 排序&#xff0c;我们从小到大就一直在接触&#xff0c;按身高、成绩、学号等等不同的排序我们已经历许多&#xff0c;那么各位是按怎样的方法进行排序的呢&#xff1f; 废话不多说这期博客我们对各种排序方法…

测试开发 | 测试平台开发-前端开发之数据展示与分析

本文节选自霍格沃兹测试学院内部教材测试平台的数据展示与分析&#xff0c;我们主要使用开源工具ECharts来进行数据的展示与分析。ECharts简介与安装ECharts是一款基于JavaScript的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化…

Unity 使用OpenXR和XR Interaction Toolkit 开发 HTCVive(Vive Cosmos)

Unity 使用OpenXR和XR Interaction Toolkit 开发 HTCVive&#xff08;Vive Cosmos&#xff09; 提示&#xff1a;作者是 Unity 2020.3 以上版本做的开发。开发VR程序需要安装 Steam&#xff0c;SteamVR, (Vive Cosmos,需要再安装VIVEPORT,VIVEConsole) OpenXR 控制设备 &#x…

OpenCV(12)-OpenCV的机器学习

OpenCV的机器学习 基本概念 计算机视觉是机器学习的一种应用&#xff0c;而且是最有价的应用 人脸识别 哈尔(Haar)级联方法深度学习方法(DNN) Haar人脸识别方法 哈尔(Haar)级联方法是专门为解决人脸识别而推出的&#xff0c;在深度学习还不流行时&#xff0c;哈尔已可以商…

Android 深入系统完全讲解(21)

关键性 EGLSurface 代码位置 继续再看看&#xff0c;代码跑到 C 里面去了。 然后关键点&#xff1a; 获取本地窗口&#xff0c;创建 Surface&#xff0c;然后 toEGLHandle 进行包裹&#xff0c;变成 EGL 上下文。 EGLSurface 。 绘制的设计本质逻辑 在这里就回归一点&#xff…

Unity学习笔记--File.ReadAllLines和File.ReadAllText的使用以及注意事项(一定要看到最后!!!)

目录前言一、File.ReadAllLines参数返回例子二、File.ReadAllText参数返回例子注意事项可能出现的问题总结前言 最近在做文件存储以及读取的时候&#xff0c;需要用到C#给我们提供的类&#xff1a;File 具体使用方法可以看官方文档&#xff1a;C# File 类 这篇文章只会说File.…

深度学习基础理念(一)

文章目录1. 机器学习 Machine Learing机器学习类别2. 机器如何找函数深度学习输入类型和输出类型机器如何找函数的1. 机器学习 Machine Learing 什么是机器学习&#xff0c;顾名思义 机器 拥有会学习的能力&#xff0c;机器学习就是让机器具备能够找函数的能力 机器学习就是找…