网上很多实验有关于hub and spoke模型的mpls vpn都是PE-hub and CE-hub 有两个接口的,具体拓扑图如下
我有看到一个教程实验说,其实PE-hub and CE-hub 可以只有一个接口,需要hub site向spoke sites 宣告默认路由。
拓扑图如下:
具体细节实现:
一、在PE-hub只需建立一个vrf,它需要接收各××× sites 传来的路由,同时也需要将一条默认路由分发给××× sites ,让××× sites 的 ××× 流量引导向 CE-hub。
R3:
ip vrf a
rd 1:1
route-target export 1:1
route-target import 3:3
!
ip vrf b
rd 2:2
route-target export 1:1
route-target import 3:3
R5:
ip vrf a
rd 3:3
route-target export 3:3
route-target import 1:1
二、在mp-bgp 路由协议通告中,需要注意的是分发给各 ××× sites 的默认路由的下一跳要是 CE-hub 连 PE-hub 端的端口。
R5:
router bgp 1
address-family ipv4 vrf a
redistribute connected
【这条命令很关键,只有你重分布了CE-hub 连 PE-hub 端的端口才能将下面的默认路由下一跳设置为CE-hub 连 PE-hub 端的端口,不然在 mp-bgp vrf a 的路由表中是没有CE-hub 连 PE-hub 端的端口的,你再怎么设置默认路由也不会出现在mp-bgp vrf a 的路由表】
default-information originate
no synchronization
exit-address-family
三、在CE-hub中也需要一条路由再将流量返回到PE-hub。
R5:
router ospf 2 vrf a
log-adjacency-changes
network 192.168.3.0 0.0.0.255 area 0
default-information originate always
最后达到的实验结果:
R1#traceroute 22.22.22.22 source loo 0
Type escape sequence to abort.
Tracing the route to 22.22.22.22
1 192.168.1.2 144 msec 184 msec 228 msec
2 100.0.0.2 [MPLS: Labels 102/204 Exp 0] 980 msec 776 msec 888 msec
3 192.168.3.1 [MPLS: Label 204 Exp 0] 516 msec 512 msec 732 msec
4 192.168.3.2 712 msec 636 msec 548 msec
5 192.168.3.1 556 msec 652 msec 592 msec
6 100.0.1.1 [MPLS: Labels 101/21 Exp 0] 1120 msec 1384 msec 1980 msec
7 192.168.2.2 [MPLS: Label 21 Exp 0] 1528 msec 1632 msec 1528 msec
8 192.168.2.1 1604 msec 1228 msec 1292 msec
R3:
R3#show ip route vrf a