基本配置完成以后查看邻居建立和路由学习等基本情况。
邻居建立情况:
PE1-AS1#sh ip bgp ***v4 all summary
(...truncated for brively)
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
5.5.5.5 4 1 18 21 7 0 0 00:14:36 1
6.6.6.6 4 1 18 21 7 0 0 00:14:08 1
14.1.1.1 4 65123 18 19 7 0 0 00:13:17 1
41.1.1.1 4 65123 18 17 7 0 0 00:13:07 1
邻居关系都正常建立。
路由接收情况
PE1-AS1#show ip bgp ***v4 all
(...truncated for brively)
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:4 (default for vrf FROM-SPOKE)
*> 172.16.10.0/24 14.1.1.1 0 0 65123 i
*>i172.16.20.0/24 5.5.5.5 0 100 0 65123 i
*>i172.16.30.0/24 6.6.6.6 0 100 0 65123 i
Route Distinguisher: 1:5
*>i172.16.20.0/24 5.5.5.5 0 100 0 65123 i
Route Distinguisher: 1:6
*>i172.16.30.0/24 6.6.6.6 0 100 0 65123 i
Route Distinguisher: 1:456 (default for vrf FROM-HUB)
*> 172.16.10.0/24 41.1.1.1 0 0 65123 i
RD为1:456只收到一条路由,也就是从FROM-HUB的路由表里只有一条路由,FROM-SPOKE路由都接收到了。
spoke端的PE的路由情况
PE2-AS1#show ip bgp ***v4 all
(...truncated for brively)
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:5 (default for vrf ×××-A)
*>i172.16.10.0/24 4.4.4.4 0 100 0 65123 i
*> 172.16.20.0/24 25.1.1.2 0 0 65123 i
Route Distinguisher: 1:456
*>i172.16.10.0/24 4.4.4.4 0 100 0 65123 i
也就是说只从HUB接收到一条172.16.10.0的路由。
看看R4有没有给他发?
PE1-AS1#show ip bgp ***v4 all neighbors 5.5.5.5 advertised-routes
(...truncated for brively)
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:4 (default for vrf FROM-SPOKE)
*> 172.16.10.0/24 14.1.1.1 0 0 65123 i
Route Distinguisher: 1:5
*>i172.16.20.0/24 5.5.5.5 0 100 0 65123 i
Route Distinguisher: 1:6
*>i172.16.30.0/24 6.6.6.6 0 100 0 65123 i
Route Distinguisher: 1:456 (default for vrf FROM-HUB)
*> 172.16.10.0/24 41.1.1.1 0 0 65123 i
如上所示,确实只发了一个172.16.10.0
查看HUB端的路由表。
PE1-AS1#show ip route vrf FROM-SPOKE
Routing Table: FROM-SPOKE
(...truncated for brively)
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 3 subnets
B 172.16.30.0 [200/0] via 6.6.6.6, 00:09:47
B 172.16.20.0 [200/0] via 5.5.5.5, 00:10:02
B 172.16.10.0 [20/0] via 14.1.1.1, 00:10:55
14.0.0.0/24 is subnetted, 1 subnets
C 14.1.1.0 is directly connected, FastEthernet0/0.14
PE1-AS1#show ip route vrf FROM-HUB
Routing Table: FROM-HUB
(...truncated for brively)
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 1 subnets
B 172.16.10.0 [20/0] via 41.1.1.1, 00:12:20
41.0.0.0/24 is subnetted, 1 subnets
C 41.1.1.0 is directly connected, FastEthernet0/0.41
FROM-HUB没有收到172.16.20.0和172.16.30.0的路由。FROM-SPOKE收到了所有的路由。因为FROM-HUB的路由是从CE1-A来的,看看CE1-A的路由情况。
CE1-A#show ip bgp
(...truncated for brively)
Network Next Hop Metric LocPrf Weight Path
*> 172.16.10.0/24 0.0.0.0 0 32768 i
情况大概明了了:CE1-A没有收到来自其他CE的路由,因此,PE1-AS1的FROM-HUB就没有收到去往spoke端的路由,也无从发送。
造成CE1-A没有其他CE的路由的原因很明显,各个CE所处的AS号码相同,跨越ISP传输时,造成path环路。
解决办法:as-override。在PE1-AS1的FROM-SPOKE地址族下对其邻居配置此命令。
PE1-AS1:
router bgp 1
address-family ipv4 vrf FROM-SPOKE
neighbor 14.1.1.1 as-override
再看看CE1-A的路由。
CE1-A#show ip bgp
(...truncated for brively)
Network Next Hop Metric LocPrf Weight Path
*> 172.16.10.0/24 0.0.0.0 0 32768 i
*> 172.16.20.0/24 14.1.1.4 0 1 1 i
*> 172.16.30.0/24 14.1.1.4 0 1 1 i
下一跳指向VRF FROM-SPOKE。
此时查看PE1-AS1的FROM-HUB路由表依然没有172.16.20.0和172.16.30.0的路由。原因与上面的原因一样,path环路,路由从1
进入as65123再回到as1又会造成环路。
解决办法:allowas-in。在PE1-AS1的FROM-HUB地址族下对其邻居配置此命令。
PE1-AS1:
router bgp 1
address-family ipv4 vrf FROM-HUB
neighbor 41.1.1.1 allowas-in
再来看看路由。
PE1-AS1#show ip bgp ***v4 all
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:4 (default for vrf FROM-SPOKE)
*> 172.16.10.0/24 14.1.1.1 0 0 65123 i
*>i172.16.20.0/24 5.5.5.5 0 100 0 65123 i
*>i172.16.30.0/24 6.6.6.6 0 100 0 65123 i
Route Distinguisher: 1:5
*>i172.16.20.0/24 5.5.5.5 0 100 0 65123 i
Route Distinguisher: 1:6
*>i172.16.30.0/24 6.6.6.6 0 100 0 65123 i
Route Distinguisher: 1:456 (default for vrf FROM-HUB)
*> 172.16.10.0/24 41.1.1.1 0 0 65123 i
*> 172.16.20.0/24 41.1.1.1 0 65123 1 1 i
*> 172.16.30.0/24 41.1.1.1 0 65123 1 1 i
SPOKE端的PE上RD1:456下的路由都有了。
PE2-AS1#sh ip b *** all
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:5 (default for vrf ×××-A)
*>i172.16.10.0/24 4.4.4.4 0 100 0 65123 i
* i172.16.20.0/24 4.4.4.4 0 100 0 65123 1 1 i
*> 25.1.1.2 0 0 65123 i
*>i172.16.30.0/24 4.4.4.4 0 100 0 65123 1 1 i
Route Distinguisher: 1:456
*>i172.16.10.0/24 4.4.4.4 0 100 0 65123 i
*>i172.16.20.0/24 4.4.4.4 0 100 0 65123 1 1 i
*>i172.16.30.0/24 4.4.4.4 0 100 0 65123 1 1 i
但是注意后面的Path,还有一个65123,那么这个路由传给其他spoke端的PE,再往CE传递的时候又会造成环路的问题。下面是CE2上的BGP表。
CE2-A#sh ip b
Network Next Hop Metric LocPrf Weight Path
*> 172.16.20.0/24 0.0.0.0 0 32768 i
因此需要在SPOKE端的PE上再执行一次as-override。
PE2-AS1/PE3-AS1:
address-family ipv4 vrf ×××-A
neighbor X.X.X.X remote-as 65123
之后CE就可以正常接受路由了。
CE2-A#sh ip b
Network Next Hop Metric LocPrf Weight Path
*> 172.16.10.0/24 25.1.1.5 0 1 1 i
*> 172.16.20.0/24 0.0.0.0 0 32768 i
*> 172.16.30.0/24 25.1.1.5 0 1 1 1 1 i
如上所示,再也看不见65123了,作用效果跟remove-private-as的作用差不多。4个1,有2个是被重写的,不重写的话应该是这样的:1 65123 1 65123。我们再配置as-override的时候,后面可以跟一个允许重写次数的参数。
下转测试与总结:
http://edges.blog.51cto.com/705035/423014转载于:https://blog.51cto.com/edges/423011