MPLS VPN

前略,mpls vpn 作为学到的第一个综合案例,复杂程度,应用内容,以及配置量都是很多的,本想静下心抽一天专心做一个整理,但最后应为种(wo)种(xiang)原(bai)因(lan).总之姑且挂个施工中摆烂中

总之应为一些事情(摸了!爽!)做的比我想象的还要粗糙,也没做完,总之先挂着作为小整理吧,希望以后能施工一下,休整一下( 如果能做完的话再把骚话补上去吧 新年快乐(2023/1/26 第一次施工)

假期这就结束了,结束的如此突然(2023/1/28 第二次施工 第三次施工)

又到四点了 不过姑且算是把跨域做完了 总结也姑且算总结了 下次施工就不一定什么时候了吧(2023/1/29 第四次施工)


MPLS VPN 实现原理
  • mpls vpn 从路由器身份可以分为三部分

ce pe 与p 设备

ce设备: 作为客户端的路由器,一般不需要特别设置,与pe设备相连,可以通过动态路由协议,如bgp,ospf,isis.如果想使用静态路由协议的话,必须使用引入的方法.

pe设备:pe设备是mpls vpn中配置最为复杂的位置,一般在此路由器中要配置vpn实例,并将VPN实例绑定在端口上

p设备:作为mpls VPN骨干网络设备 一般也不需要配置其他过多配置,p设备内不一定要有目标地址路由,但作为骨干网络中的设备,需要有下一跳地址.

  • mpls vpn 实现 需要在骨干网络中配置 mpls ldp 在公网中构建隧道

在核心骨干网络中也要使用BGP,建立IBGP邻居,在公网中运行动态路由协议 主要为了mpls ldp能成功给公网分配隧道

PE设备中 要创建vpn实例 在实例中 要配置RD ,irt,ert,其中 RD作为唯一标识符,最好是唯一的.

rt则可以相同 irt要对应对端的ert,两端标识可以设置为相同.


MPLS VPN PE中 BGP与其他IGP协议相互的引入

BGP中引入 不能直接引入,直接引入则只能引入正常ipv4路由,应先进入

ipv4 vpninstand (vpn实例名)

进入之后正常引入IGP 路由

IGP路由引入时是正常引入的,但IGP路由创建时 应绑定vpn实例

BGP协议是特殊的,bgp协议只要启动IPv4邻居后,作为ebgp他会自动发送给对端


ospf协议的防环问题

在使用ospf协议中,在mpls vpn环境下经常会出现应为ospf防环设计导致ospf lsdb中存在路由但路由不学习的情况

这种情况一般有两种情况

  1. DN比特位,这种情况会出现在3/5/7类LSA中
  2. VPN-tag 这种只会在5/7类LSA中出现这两种在DN比特位的情况下,如果DN比特位标记为1,则不会计算该LSA,可以通过三种办法来解决
    1. dn-bit-set disable(不设置DN比特位 在发送端)
    2. dn-bit nocheck (不检查DN比特位 在接收端)
    3. vpn- (该命令使用后在引入bgp的时候 默认拒绝了IGP)

vpn route tag

这种情况只会出现在5/7类lsa中,是作为dn比特位之后的第二重保险当pe发现lsa中的vpn 路由表及和本地配置的相同就会忽略这条lsa

  • 可以通过route-tag 配置

mpls vpn 配置过程中曾经遇到的坑
  • 骨干网络bgp部分
    • bgp建立邻居时 使用loopback地址,指向的对端也应该是环回口地址
    • 在路由反射器收到bgpv4路由时要查询是否是活跃路由,bgp不会传播非活跃路由
    • 建立EBGP邻居时 如果特殊情况不使用物理口的情况下,如非直连EBGP邻居时,应配置max hop
    • 建立EBGP邻居时,如需要传递IP路由,正常情况下 EBGP发送给IBGP邻居时下一跳不改变,这时候要对IBGP邻居配置修改下一条地址为本地地址
  • MPLS LDP部分
    • 查询 MPLS LDP LSP 查看隧道是否建立成功
    • 曾经出现过一个坑,应为之前测试的时候跑了一条静态路由协议,其中骨干网络配置的是rip协议,应为静态路由优先级高于rip,所以静态盖过去了rip协议的路由,而ldp协议在外侧路由器应为rip路由被盖过去了,下一条不可达,所以LDP生成失败.
  • PE 部分
    • pe配置时,主要注意相互引入问题
    • bgp部分,要在bgp ipv4 vpn实例 中引入其他igp协议
    • 其他igp协议在配置时要绑定在vpn 实例中
  • ospf 防环部分
    • ospf内置两种防环功能
    • DN比特位 有DN比特位的LSP 不会进行路由计算
    • VPN tag 有VPN tag的 会检查与本身的VPN tag设置 如果相同则不计算该LSP
  • 跨域
    • 在optingA中 跨域部分的IGP协议 选择OSPF会比较麻烦 注意DN比特位
    • 在optingB中 ASBR相连的接口应开启mpls 但不需要开启mpls ldp
    • 在optingC中 建立EBGP邻居如果要传输ipv4路由应注意设置下一跳地址本地
    • 在optingC1中 BGP标签路由两端都要开启
    • 在optingC2中 mpls ldp标签 即使配置触发给bgp标签路由分配标签也要注意 ldp只会给igp路由协议分配必须将BGP标签路由引入到igp路由协议中

mpls vpn 跨域

mpls vpn 跨域 目前主要拥有三种方案,方案c中又拥有两种方法

  • VPN-OptionA
  • VPN-OptionB
  • VPN-OptionC(c1,c2)

VPN-OptionA

跨域VPN-OptionA是基本BGP/MPLS IP VPN在跨域环境下的应用,ASBR之间不需要运行MPLS,也不需要为跨域进行特殊配置。这种方式下,两个AS的边界路由器ASBR直接相连,ASBR同时也是各自所在自治系统的PE。两个ASBR都把对端ASBR看作自己的CE设备,通过EBGP对等体关系向对端发布IPv4路由。

optionA的实现方法是将两个跨域 视为两段 ,其中没一个区域的配置与通常无异,在跨域部分通过路由协议建立,将vpnv4路由再ASBR上作为ipv4路由在发送给对端

为了实现这个过程,实际上是有四台设备配置了vpn实例,两台PE设备,与两端的ASBR设备

VPN-OptionA 大致配置思路总结

在ASBR上 启用一个VPN实例,思路上将另一个跨域整体视为一个CE设备,将ASBR视为一个PE设备,将从真正pe接收到的vpnv4路由 再通过通常路由的方式传出给对端域.

在ASBR上创建vpn实例,与本域vpn-tag相连接,在ASBR上 启动态路由协议,并绑定在VPN实例中

通过vpn实例中的IGP协议正常传输ip路由,这里的纯IP路由是原vpnv4路由转换而来的.

到对端将收到的ip路由重新引入到bgp协议中 变成vpnv4路由再次走公网隧道直到对端PE


VPN-OptionB

跨域vpn-optionB 原理是在跨域的部分 建立ebgp邻居,也就是在ASBR上建立EBGP邻居,通过MP-BGP 建立私网隧道,通过私网隧道传输VPNV4路由

在这个过程中,ASBR要能接收到私网路由,故ASBR要开启VPNV4功能,有两种方案,PE与ASBR直接建立邻居,并在ASBR中关闭police,接受全部的VPNV4路由,另一种方法则是通过如反射器或者其他方法,将VPNv4的路由传给ASBR,总之要完成PE的vpv4路由能够发给ASBR.

之后要开启两个ASBR之间相互的mpls功能,这里不需要开启LDP分配公网标签,只需要MP-BGP分配的私网标签即可.

可以在vpnv4视图下配置apply-label per-nexthop 缺省情况下,ASBR在向其他的MP-BGP对等体发布VPNv4路由时,同时为每一条路由分配一个标签。配置该命令后,ASBR为具有相同路由下一跳和出标签的路由分配一个标签。

VPN-OptionB 大致配置思路总结

ASBR之间相互建立EBGP邻居,并且在ASBR相互连接的链路上开启mpls功能,使链路中存在私网标签,将跨域的部分视为只经过一次中转,整个过程中路由还是以vpnv4路由的形式传递到对端.

ASBR之间创建EBGP邻居,并相互开启vpnv4邻居

在ASBR中要开启vpnv4邻居,并且关闭police,接受全部vpnv4路由,过程不重要,总之是要能接收到PE发出的vpnv4路由无论是相互直接建立IGBP邻居还是通过RR反射都可以.

可以在ASBR中配置apply-label per-nexthop 缺省情况下,ASBR在向其他的MP-BGP对等体发布VPNv4路由时,同时为每一条路由分配一个标签。配置该命令后,ASBR为具有相同路由下一跳和出标签的路由分配一个标签。精简ASBR的标签包减少设备维护压力.

注意要使能ASBR之间链路的mpls功能,保证能建立私网隧道.


VPN-OptionC

ASBR之间要建立EBGP邻居 用于传递私网标签隧道

C1中: ASBR建立ebgp邻居 并通过ipv4传递对端pe路由,两端pe建立EBGP邻居 并开启vpnv4邻居从控制层面直接传递vpv4路由

传输层面:在所有传递bgp标签路由的路由器都要开启 label-route-capability,配置两条策略一条策略用于发布bgp标签路由,策略应用于发往对端ASBR

另一条策略设置匹配条件,匹配BGP标签路由,给bgp标签路由再分配一个标签用于发往本地AS内部 去往PE的方向

C2中:控制层面与c1相同

传输层面配置两条策略一条策略用于发布bgp标签路由,策略应用于发往对端ASBR并配置label-route-capability

将bgp标签路由引入到igp协议中

在ASBR的 mpls中 设置mpls触发 lsp-trigger bgp-label-route 给bgp标签路由建立LDP LSP

c1与c2只在控制层面有区别,c1用于AS内全部建立了BGP邻居,c2则AS内不需要都建立BGP邻居


新年快乐

他乡纵有当头月,不及故乡一盏灯