实验拓扑:

保证PC1和PC2能够通过site1做中转站,互相正常通信。

配置思路:

一、骨干网上配置IGP协议,实现骨干网Hub-PE和Spoke-PE的互通。以PE1为例子:
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.1.12.1 0.0.0.0
network 10.1.13.1 0.0.0.0
注意只需要通过与公网相连的地址,不能将与CE相连的地址通告进去。并且需要将回环口通告进入OSPF中(32位),为第二步的MPLS做准备。

二、骨干网上配置MPLS基本能力和MPLS LDP,建立LDP LSP公网隧道。这里列举注意点:
mpls
label advertise non-null //不为上游设备分配特殊标签,因为在这个环境下,隧道只有两台设备,如果分配的标签为3,那么发送的时候是不会在报文中打上外层标签的,就失去了MPLS VPN的意义(使用标签传输),所以这里最好设置为不分配特殊标签。

三、Hub-PE与Spoke-PE间建立MP-IBGP对等体关系;Spoke-PE之间不建立MP-IBGP对等体关系,不交换VPN路由信息。
注意点:需要PE上全局关闭ipv4-unicast功能,因为我们不需要使用这个地址簇建立邻居关系,使用的是vpnv4地址簇:
[PE1-bgp]undo default ipv4-unicast
PE1上的其他配置:
bgp 100
undo default ipv4-unicast
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface LoopBack0

ipv4-family vpnv4 //在VPNv4环境中激活邻居
policy vpn-target
peer 2.2.2.2 enable
peer 3.3.3.3 enable
配置完成后检查外网邻居关系是否建立完成:

四、Hub-PE上创建两个VPN实例,一个用于接收Spoke-PE发来的路由,其Import Target为100:1; 另一个用于向Spoke-PE发布路由,其VPN实例的Export Target为200:1。

ip vpn-instance vpn_in //作为Spoke路由的接收端
ipv4-family
route-distinguisher 100:21
vpn-target 100:1 import-extcommunity

ip vpn-instance vpn_out //作为Hub路由的发送端
ipv4-family
route-distinguisher 100:22
vpn-target 200:1 export-extcommunity

绑定对应的接口:
interface GigabitEthernet0/0/2
ip binding vpn-instance vpn_out

interface GigabitEthernet4/0/0
ip binding vpn-instance vpn_in

五、Spoke-PE上创建一个VPN实例,其Export Target为100:1,Import Target为200:1。PE2和PE3:实例配置需要一样的,可以保证PE2和PE3不能够直接通信,需要经过PE1中转。

ip vpn-instance vpna
ipv4-family
route-distinguisher 100:1
vpn-target 100:1 export-extcommunity //对应PE1的接收端,指定PE1接收
vpn-target 200:1 import-extcommunity //对应PE1的发送端,只接收PE1的发送的路由

六、CE和PE之间使用EBGP交换VPN路由信息。Hub-PE上配置允许接收AS重复1次的路由,以接收Hub-CE发布的路由。

以PE1和CE1为例子:
bgp 100
ipv4-family vpn-instance vpn_in
peer 10.1.112.1 as-number 400

ipv4-family vpn-instance vpn_out
peer 10.1.111.1 as-number 400
peer 10.1.111.1 allow-as-loop //在out端口指邻居的时候需要配置允许AS号重复1次,因为从CE1接收的条目是PE1实例in发送来的,已经打上了AS100的标记,然后再新发送给PE的实例out,又因为实例in和实例out都是AS100的,所以如果不配置这条命令,PE1的out实例接收到条目后就因为AS号重复立马丢弃了。当PE1out实例接收到以后,自动重分发进入VPNv4实例中,在发送给PE3和PE2。

CE1配置:
bgp 400
peer 10.1.111.254 as-number 100
peer 10.1.112.254 as-number 100

七、检测PE2和PE3是否能够直接通信(正常)。

分析路由传递过程:(以CE2的路由传递到CE3为例子)

首先在CE2上将PC2网段的路由条目通告进BGP传递给PE2,PE2自动从实例中重分发进入VPNv4地址簇中,然后通过MPLS VPN发送给PE1,PE1接收后:

按照私网交叉重分发进入实例in。

然后再发送给自己的EBGP邻居CE1,CE1接收后会将从EBGP邻居发送的条目发送给自己EBGP邻居,也就是实例out,对于实例out来说,其上允许接收AS重复的条目,于是接收以后自动重分发进去VPNv4实例中,再打上vpn-target 200:1发给自己的IBGP邻居PE3,PE3接收后通过私网交叉引入实例vpna,再通过EBGP发送给CE3,完成单向的路由传递。

分析通信过程:(站点2的PC和站点1的PC互相通信)

PC2将报文发送给CE2,CE2通过路由信息将报文传递给PE2,PE2查看FIB表:
[PE2]dis fib vpn-instance vpna //注意查看的是vpna的FIB表,因为是这个实例接收的

在这里我们继续查看详细的信息FIB表:还可以查看到对应的内层标签为1031,所以我们先打上内层标签
[PE2]dis fib vpn-instance vpna verbose

注意:MPLS VPN中的内层标签不仅是需要看网段地址进行分配,还需要根据RD值进行分配。

然后因为目的地址10.1.101.0的隧道ID不为0(0x1),表示要进入对应的隧道,进行MPLS VPN转发,所以我们继续查看LFIB表:

简易的LFIB表中其实也是分为了两个表项,BGP LSP表示的是接收的报文需要打上私网标签,LDP LSP表示的是在MPLS VPN中传输过程时需要打上的公网标签,公网抓包报文显示:

查看详细信息中可以看到对应的隧道编号,在这里打上的外网标签为1025(和报文中的符号),隧道的目的地址为1.1.1.1,那么为什么是1.1.1.1呢?因为其借助了BGP条目的下一跳作为目的地址。

报文到达了PE1以后,出标签为Null,首先剥离外层标签:

然后查看对应的内层标签表:1031。

这时PE1知道了对应转发的条目是通过10.1.101.0/24这个路由条目进行转发,通过的实例是vpn_out,并且将标签进行剥离,查看对应实例的路由条目进行转发即可:

注意:LFIB表上的内层标签的分配是接着外层标签分配的,例如外层标签分配到了1030,内网标签从1031进行分配。

MPLS virtual private network Spoken-Hub网络实验(华为设备)相关推荐

  1. MPLS Virtual Private Network

    目录 传统Virtual Private Network 1.产生 2.网络结构 3.Virtual Private Network模型 3.1.Overlay Virtual Private Net ...

  2. MPLS virtual private network PE-CE之间的路由协议(OSPF)

    基础配置: OSPF 协议是PE和CE之间路由协议的另一种选择,如果要将VPN用户路由传递到其他PE,那么需要在PE上把OSPF路由引入到MP-BGP,在远端PE上需要将MP-BGP的VPNv4路由引 ...

  3. 华为数通笔记-MPLS virtual private network

    简介 BGP MPLS VPN是一种L3VPN,它使用BGP在服务提供商骨干网发布VPN路由,使用MPLS,在骨干网中传递VPN路由. CE:用户边缘设备,与PE有相连的接口,感知不到VPN路由的存在 ...

  4. MPLS virtual private network 跨域方案实现原理

    概述: 随着MPLS技术的成熟,其应用越来越流行,尤其是在VPN方面.通过运营商提供的VPN服务,将分布在各地的站点通过运营商的网络连接起来,避免了租用专线,节省了大量的成本.近年来,由于MPLS V ...

  5. MPLS virtual private network报文转发过程

    概述: 首先数据流由CE 到PE使用的是IP转发,这个很容易理解.而数据流要经过骨干网,因为骨干网内部Р路由器没有私网路由,也就是没办法使用P转发,这时就应该想到用MPLS标签转发技术.在IP报文进入 ...

  6. Virtual Private Network虚拟专用网络-在Linux上搭建专用通道

    一.VPN VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络.例如某公司员工出差到外地,他想访问企业内网的服务器资源,这种访问就属于远程访问. 在传统的企业网络配置中,要进行远程访问,传统 ...

  7. 【计算机网络学习笔记17】网络安全、加密技术、“Virtual Private Network”技术

    [计算机网络学习笔记17]网络安全.加密技术."Virtual Private Network"技术 一.网络安全概述 1.1 网络系统的安全目标: 1.可用性(Availabil ...

  8. 企业路由器配置L2TP 站点到站点模式Virtual Private Network指南_3(外网访问内网资源)

    应用场景:  企业路由器提供多类VPN功能.其中L2TP VPN可以实现企业站点之间搭建安全的数据传输通道,将接入Internet的企业分支机构与总部网络通过安全隧道互联,实现资源.信息共享. 资源说 ...

  9. Virtual Private Network

    VPN技术的运行机制与发展 虚拟专用网络(Virtual Private Network,VPN)是利用不可靠的公用互联网络作为信息传输媒介,通过附加的安全隧道.用户认证和访问控制等技术实现与专用网络 ...

  10. 【SEED Labs 2.0】Virtual Private Network (V*N) Lab

    本文为 SEED Labs 2.0 - Virtual Private Network (V*N) Lab 的实验记录. 文章目录 0. 实验目标 1. 生成证书 2. 设置 Docker 3. 编写 ...

最新文章

  1. supervisor 守护多个进程_supervisor守护进程管理实操笔记
  2. 2015山东信息学夏令营 Day4T3 生产
  3. python安装、anaconda安装、pycharm安装(学习笔记,自己重新整理后的内容,最新版本工具安装)
  4. java 如何调用static_java 关键字static详细介绍及如何使用
  5. 华为手机解锁码计算工具_一部华为手机解锁无数翻译,你浪费了此功能吗?
  6. java中的provide,vue3 provide ref
  7. 【Kafka】kafka-eagle几个指标含义
  8. checkstyle配置文件说明
  9. 网络测试利器netperf安装和使用
  10. js进阶 14-9 ajax事件有哪些
  11. 使用DirectPlay进行网络互联(1)
  12. 计算机做电池模拟,探讨锂电领域常用模拟计算方法
  13. 计算机图形学-消隐算法
  14. html写下三角,html文字下方小三角的实现方法
  15. 浏览器控制台批量删除新浪微博
  16. 对物理量“角速度”与“波矢”的理解
  17. ddgr:一个从终端搜索 DuckDuckGo 的命令行工具
  18. 互联网人员电脑上必备的免费办公软件
  19. JavaScript 笔记-放大镜案例
  20. Day 02- Vue3 技术_分析工程结构

热门文章

  1. 每日算法系列【LeetCode 312】戳气球
  2. 深入理解成分句法分析中的Dynamic Oracle
  3. pandas—pandas.crosstab交叉表
  4. bug6-_SymbolicException: Inputs to eager execution function cannot be Keras symbolic
  5. 深度学习2.0-12.神经网络与全连接层之数据集的加载
  6. 《统计学习方法》——感知机
  7. 《Effective Java 3rd》读书笔记——泛型
  8. 重走0到100的路,小程序路在何方?
  9. Java 常见问题总结
  10. AndroidStudio 文件目录如何“刷新”