我们将基于路由的VPN隧道从两个站点(总共4个路由器)中的一对Cisco路由器转移到同一个共享VPC(XPN)中的两个不同的VPN网关。 通过BGP共享路由到单个云端路由器。 我们这边的两个站点每个都有一个不同的AS,每对在同一个AS内同一个AS,但是成对之间的对等是EIGRP。 我将eigrp重新分配给BGP(反之亦然),并使用路由映射和特定的度量标准。 在一个站点,我也重新分配给OSPF,另一个从静态分配。 每个站点的“本地”路由来自ospf / static,而来自eigrp的“远程”路由。
所以作为例子…
AS 65001宣布10.1.1.0/24的度量值为50(它是OSPF的本地路由rdis),而172.16.1.1/24的度量值为100(这是从EIGRP获知的远程路由)。
AS 65002以度量值50(它是一个本地路由,rdis来自静态)和10.1.1.0/24(度量值为100)(这是从EIGRP学习到的远程路由)宣告了172.16.1.1/24。
实际上有62条路线宣布,但你得到的照片。 62条路线的列表仅以公制为单位。
现在我的问题…云路由器采取从65001的所有路由,并使其主要/活动,无论公制,并忽略从65002较低的度量路由,除非我删除隧道/对等为65001。
所以我的交通总是得到它需要去的地方,但是采取次优路线。
这两个星期前工作正常,从那时起,它只是在一定程度上停止了工作。
我把AS 65002路由器中的一个改成了65001(只是使用了邻居语句local-as,并且还更新了GCP端,因为我也使用AS 65002来从这些路由器对等到Azure),但是没有似乎改变了这种行为。
我用一个简单的AS来解决这个问题,在出站路由映射上的“远程”路由上,大概是这样的:
router bgp 65001 neighbor 169.254.xy route-map DISTtoBGP out ! route-map DISTtoBGP permit 10 match ip address prefix-list LOCtoBGP ! route-map DISTtoBGP permit 20 match ip address prefix-list REMtoBGP set as-path prepend 65001 ! ip prefix-list LOCtoBGP seq 10 permit 10.1.0.0/16 le 24 !ip prefix-list LOCtoBGP ... ! ip prefix-list REMtoBGP seq 10 permit 172.16.0.0/16 le 24 !ip prefix-list REMtoBGP ...
这是kludgy,将需要手动维护,但它的作品。
谢谢Navi,你关于ASpath长度的问题指出了简单的工作。