MPLS VPN的基本配置
MPLS-VPN是指采用MPLS(多协议标记转换)技术在骨干的宽带IP网络上构建企业IP专网,实现跨地域、安全、高速、可靠的数据、语音、图像多业务通信,并结合差别服务、流量工程等相关技术,将公众网可靠的性能、良好的扩展性、丰富的功能与专用网的安全 、灵活、高效结合在一起。本文主要展示一些基本配置。
MPLS-VPN配置
1.CE和PE(IGP)
2.区分CE相同路由(RD)
3.VRF(Virtual Routing Forwarding)
4.RT(路由的导入导出)
①配置各路由器接口以及PE-P-PE内部IGP,保证用于建立iBGP邻居的各路由器环回接口的可达性
PE1(config)#router isis
PE1(config-router)#net 49.0000.0000.0001.00
PE1(config-router)#int f0/0
PE1(config-if)#ip router isis
PE1(config-if)#int lo0
PE1(config-if)#ip router isis #只启用PE-P对接接口的ISIS路由功能,但是不要忽略了环回接口也需要启用
PE1(config-router)#is-type level-1 #优化ISIS配置,使路由器只发送level-1 Hello(只维护level-1 LSDB)
P、PE2:配置同PE1。基本的接口配置省略。
②启用PE-P-PE各个相连接口的MPLS功能
P(config)#int f1/0
P(config-if)#mpls ip
P(config-if)#exit
P(config-if)#int f2/0
P(config-if)#mpls ip
PE1、PE2:配置同P基本相同
③在PE上定义并配置VRF参数
PE1(config)#ip vrf vpna
PE1(config-vrf)#rd 100:1
PE1(config-vrf)#route-target import 100:1
PE1(config-vrf)#route-target export 100:1
PE1(config-vrf)#exit
PE1(config)#ip vrf vpnb
PE1(config-vrf)#rd 200:2
PE1(config-vrf)#route-target import 200:2
PE1(config-vrf)#route-target export 200:2
PE2:配置同PE1
④将VRF与相应的接口进行关联(PE与CE相连接的接口)
PE1(config-vrf)#int f2/0
PE1(config-if)#ip vrf forwarding vpna
% Interface FastEthernet2/0 IP address 14.1.1.1 removed due to enabling VRF vpna
PE1(config-if)#ip add 14.1.1.1 255.255.255.252
PE1(config-if)#int f1/0
PE1(config-if)#ip vrf forwarding vpnb
% Interface FastEthernet1/0 IP address 15.1.1.1 removed due to enabling VRF vpnb
PE1(config-if)#ip add 15.1.1.1 255.255.255.252
PE2:配置基本同PE1。
⑤配置PE到PE的iBGP连接(MP-BGP)
PE1(config)#router bgp 100
PE1(config-router)#bgp router-id 1.1.1.1
PE1(config-router)#nei 3.3.3.3 remote-as 100
PE1(config-router)#nei 3.3.3.3 update-source lo0
PE1(config-router)#address-family vpnv4
PE1(config-router-af)#nei 3.3.3.3 activate
PE1(config-router)#address-family ipv4 vrf vpna
PE1(config-router)#address-family ipv4 vrf vpnb
PE2:配置基本同PE1。
⑥配置PE到CE 的vrf 路由(注意这里与传统路由的区别)
a)静态路由
PE1(config)#ip route vrf vpna 10.1.1.1 255.255.255.255 14.1.1.2
PE1(config)#ip route vrf vpnb 10.1.1.1 255.255.255.255 15.1.1.2
PE1(config)#router bgp 100
PE1(config-router)#address-family ipv4 vrf vpna
PE1(config-router-af)#redistribute static
PE1(config-router-af)#exit-address-family
PE1(config-router)#address-family ipv4 vrf vpnb
PE1(config-router-af)#redistribute static
PE2:配置基本同PE1。
CE1_vpna(config)#ip route 0.0.0.0 0.0.0.0 14.1.1.1
CE1_vpnb、 CE2_vpna 、CE2_vpnb:配置都是只需要添加一条缺省路由指向对端的PE设备。
b)OSPF
PE1(config)#router ospf 1 vrf vpnb
PE1(config-router)#router-id 1.1.1.1
PE1(config-router)#redistribute bgp 100 subnets
PE1(config-router)#network 15.1.1.1 0.0.0.0 area 0
PE1(config-router)#exit
PE1(config)#router bgp 100
PE1(config-router)#address-family ipv4 vrf vpnb
PE1(config-router-af)#redistribute ospf 1
PE2:配置基本同PE1。
CE1_vpnb(config)#router ospf 1
CE1_vpnb(config-router)#router-id 10.1.1.1
CE1_vpnb(config-router)#net 10.1.1.1 0.0.0.0 a 0
CE1_vpnb(config-router)#net 15.1.1.2 0.0.0.0 a 0
CE1_vpna、 CE2_vpna 、CE2_vpnb:配置基本同CE1_vpnb。
c)BGP
PE1(config-router)#address-family ipv4 vrf vpnb
PE1(config-router-af)#neighbor 15.1.1.2 remote-as 500
PE1(config-router-af)#neighbor 15.1.1.2 activate
PE2:配置基本同PE1。
CE1_vpnb(config-router)#router bgp 500
CE1_vpnb(config-router)#nei 15.1.1.1 remote-as 100
CE1_vpnb(config-router)#network 10.1.1.1 mask 255.255.255.255
CE1_vpnb(config-router)#network 15.1.1.0 mask 255.255.255.252
CE1_vpna、 CE2_vpna 、CE2_vpnb:配置基本同CE1_vpnb。
MPLS VPN排错
1.查看哪些接口启用了MPLS
P#show mpls interface
Interface IP Tunnel Operational
FastEthernet1/0 Yes (tdp) No Yes
FastEthernet2/0 Yes (tdp) No Yes
2.查看LDP邻居建立情况
PE1#sh mpls ldp discovery detail
Local LDP Identifier:
1.1.1.1:0
Discovery Sources:
Interfaces:
FastEthernet0/0 (tdp): xmit/recv
Hello interval: 5000 ms; Transport IP addr: 1.1.1.1
TDP Id: 2.2.2.2:0
Src IP addr: 12.1.1.2; Transport IP addr: 2.2.2.2
Hold time: 15 sec; Proposed local/peer: 15/15 sec
Reachable via 2.2.2.2/32
Local LDP Identifier 是每台LSR都必须有的,这个ID用6个字节表示,前4个节字称为Rotuer-ID,先选loopback地址最大的,然后是物理接口,它的选举方法和OSPF Rotuer-ID相同,后面2个字节是表示标签空间的,也就是标签是基于设备还是基于接口,如果是基于设备,就是0,可以从上面看出,1.1.1.1:0中,1.1.1.1表示R1的Rotuer-ID,而0表示标签是基于设备的。
Transport IP addr默认是选用Rotuer-ID的地址,这个地址在建邻居时非常重要,是会话的源地址,如果这个地址对方没有路由可达,那么就不可能建起邻居。所以一定要保证双方Transport IP 是路由相通的。
3.其它命令
router# show mpls ldp neighbor #LDP邻居正常状态为Operational(简写为Oper)
router# show mpls forwarding-table #查看LFIB表
router# show ip route vrf vrf_name #查看vpn的私网路由表
router# show ip cef vrf vrf_name #查看vpn的私网转发表
router# show ip bgp summary #查看BGP邻居的基本状况
router# show ip bgp vpnv4 all #查看BGP中关于VPNv4路由的信息
router# show ip bgp vpnv4 all labels #查看BGP私网路由对应的标签
router# show ip vrf interfaces #显示vrf 接口信息
router# sh ip route vrf YJGQSP #查看VPN路由表
router# sh ip bgp vpnv4 vrf YJGQSP summary #查看BGP邻居建立情况
router# ping vrf YJGQSP 10.199.82.1 source 10.199.82.5 #测试VPN通信
router# sh ip bgp vpnv4 vrf YJGQSP neighbors 96.0.183.1 advertised-routes #查看本路由器向邻居通告了哪些路由
router# sh ip bgp 10.199.82.0
测试MPLS VPN
1.测试CE到CE的连通性
CE1_vpnb#ping 10.1.3.1 source 10.1.1.1 #因为没有将直连的网段重分发到vpn路由表中,所以需要添加环回接口来测试
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.3.1, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 76/124/176 ms
2.测试PE到CE的连通性
PE1#ping vrf vpnb 10.1.3.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.3.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/94/156 ms
MPLS VPN排障思路
1.查看私网路由表
show ip route vrf vrf_name
show ip cef vrf vrf_name
2.若没有正确学习到私网路由,则:
①MP-BGP邻居是否正常建立
show ip bgp vpnv4 all summary
show ip bgp vpnv4 vrf vrf_name summary
②本路由器是否正确通告路由
③对端是否正确学习
④本端RT export与对端RT import是否匹配
3.若已经正确学习都私网路由,则:检查公网标签是否正确
show mpls forwarding-table
show mpls ldp neighbor