本文最后更新于 2024年5月31日 上午
实验说明 使用Juniper vMX进行实验。
ISIS L2 作为 IGP打通底层路由,LDP 作为公网MPLS标签分发,PE之间使用MP-IBGP
PS: 此文章只有PE的配置,用于学习和理解Juniper的MPLS VPN配置。
Juniper 系列文章:https://songxwn.com/categories/Juniper/
实验拓扑
配置ISIS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 set interfaces lo0 unit 0 family inet address 192.168.0.1 /32 set interfaces lo0 unit 0 family iso address 49 .0002 .0192 .0168 .0001 .00 set protocols isis interface lo0.0 passiveset protocols isis level 2 wide-metrics-onlyset protocols isis level 1 disableset interfaces ge-0 /0 /1 unit 0 family inet address 12.1.1.2 /24 set interfaces ge-0 /0 /1 unit 0 family isoset protocols isis interface ge-0 /0 /1 set protocols isis interface ge-0 /0 /1 point-to-pointset protocols isis interface ge-0 /0 /1 hello-padding disableset protocols isis interface ge-0 /0 /1 level 2 metric 1000
验证ISIS show isis adjacency
#确认邻居状态为UP
show route protocol isis
#查看通过ISIS学习的路由表
配置LDP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 set protocols ldp interface allset protocols ldp interface lo0.0set protocols mpls interface lo0.0set protocols mpls interface allset interfaces ge-0/0/9 unit 0 family mpls
验证LDP show ldp session
##正常状态为: Operational
show route table inet.3
#查看公网LDP分配的标签。
PS: LDP转发路径完全依赖与IGP路由的选路,且FEC默认只会匹配/32路由建立LSP。
配置MP-BGP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 set routing-options router-id 1.1.1.1set routing-options autonomous-system 100set protocols bgp group RR type internalset protocols bgp group RR local-address 1.1.1.1set protocols bgp group RR family inet unicastset protocols bgp group RR family inet-vpn unicastset protocols bgp group RR neighbor 4.4.4.4
验证BGP show bgp neighbor
#查看BGP邻居
VRF配置 1 2 3 4 5 6 7 8 9 10 11 12 13 set routing-instances VLL-VPN1 instance-type vrfset routing-instances VLL-VPN1 interface ge-0/0/0.0set routing-instances VLL-VPN1 route-distinguisher 100:1set routing-instances VLL-VPN1 vrf-target target:100:1set routing-instances VLL-VPN1 vrf-table-label
##在VRF路由表里面的,都会建立LSP发送路由到对端的MP-BGP邻居
验证VPN路由传递 show route table VLL-VPN1.inet
#查看VPN路由表,是否传递到对端PE。也可以查其分配的内网MPLS标签。
参考: https://supportportal.juniper.net/s/article/SRX-Example-Configuring-L3VPN-over-MPLS?language=en_US
配置BGP 反射器 反射器配置 1 2 3 4 set protocols bgp group RR cluster 2.2.2.2set protocols bgp group RR neighbor 4.4.4.4
客户端配置 1 2 set protocols bgp group RR neighbor 2.2.2.2
MPLS MTU / Jumbo frames 配置 由于多层的MPLS标签会占用有效负载大小,使默认的MTU 1500无法传输(MPLS的MTU会默认使用接口的MTU),所以要改大运营设备所有的接口帧大小和MTU。
MPLS标签栈象“垫层”一样,位于二层数据帧头和数据之间。在MPLS转发过程中,虽然网络层报文长度小于接口的MTU,但是增加MPLS标签后,报文长度可能超过链路层允许发送的范围,从而导致报文无法正常转发。为此,设备上定义了MPLS MTU,MPLS转发时将增加标签后的报文长度与MPLS MTU比较。报文长度大于MPLS MTU时,如果允许分片,则将报文分片后再进行转发;如果不允许分片,则直接丢弃。
参考 https://www.juniper.net/documentation/us/en/software/junos/bgp/topics/topic-map/bgp-rr.html#id-understanding-bgp-route-reflectors
https://www.h3c.com/cn/d_200805/606207_30003_0.htm#_Toc227661962
https://zh.wikipedia.org/zh-hans/%E5%B7%A8%E5%9E%8B%E5%B8%A7
https://support.huawei.com/enterprise/zh/doc/EDOC1100138290/2edd846