我有一个多宿主networking设置。 我正在使用Cisco 7200向提供商A和B提供BGP广告。对于每个提供商,我有一个单独的/ 24我正在使用。 我正在预先影响块A到提供者A,块B到提供者B.这工作正常。 如果任一提供者宕机,故障转移工作很好。
但是,我也想以同样的方式影响OUTBOUNDstream量stream向每个提供商。 也就是说,当stream量进入我的路由器时,我想根据源IP地址将stream出量关联到提供者。 就这样,每个提供商都会向我发布一条默认路由。
我相信我可以使用路由策略来实现这一点,但是我不想在策略中硬编码IP地址,因为它们可以dynamic改变。
那么,我有什么select来影响出站路由?
从我所了解的你想要来自ProviderA的stream量回到ProviderA和来自ProviderB的stream量返回到ProviderB。
我不明白“我不想硬编码IP地址”,因为/ 24不会dynamic的。 所以我会做一个基于源地址的路线图。 这不是100%的好,因为你可能已经收到来自ProviderB链接的ProviderA IP的stream量,即使有AS预先计划,你也会将stream量发送回ProviderA而不是ProviderB,但是大部分时间都可以。
access-list 101 permit ip PROVIDER_A_SUBNET 0.0.0.255 any access-list 102 permit ip PROVIDER_B_SUBNET 0.0.0.255 any route-map SOURCE_ROUTING permit 10 match ip address 101 set ip next-hop PROVIDER_A_ROUTER route-map SOURCE_ROUTING permit 20 match ip address 102 set ip next-hop PROVIDER_B_ROUTER
然后在接收需要出去的数据的接口上应用policy route-map SOURCE_ROUTING 。
离散的直接对等体之间的出站stream量的path通常通过使用本地优先属性来操纵,并且可以通过邻居,ASN或前缀select性地应用于所接收的路由。
但是,如果您只收到来自每个提供商的默认路由,那么您的选项将非常有限。 是否有一个原因,你不运行默认免费,如路由器容量?
Radius看起来已经得到了你想要的工作。 另一种select是思科性能路由(PfR) 。 PfR是一个更加复杂的解决scheme,但是允许您根据Cisco IP SLA的指标和其他因素select使用哪个提供商。 如果路由图和其他标准的BGP控制不够充分的话,那么将来可以考虑一下。
更好的方法是只对出站stream量进行负载平衡。 虽然您可以按照build议进行操作并设置特定于提供者的下一跳,但是如果其中一个链路出现故障,则该提供者的出站stream量将会死亡,因为下一跳是硬设置的。
所以你要做的就是为两个提供者标记本地的pref。
router bgp xxxx neighbor <provider A peer IP> route-map DEFAULT-ROUTE-ONLY in neighbor <provider B peer IP> route-map DEFAULT-ROUTE-ONLY in ! just an example ip prefix-list DEFAULT-ONLY seq 10 permit 0.0.0.0/0 ! match only the default route, don't allow anything else route-map DEFAULT-ROUTE-ONLY match ip address prefix-list DEFAULT-ONLY set local-preference 150 ! this sets the local pref for the default routes the same and load balances outbound
由于互联网stream量在多path上没有问题,因此来自提供者A的出站stream量经过提供者B的链路并不是什么大不了的事情。 另外,您还可以获得自动故障转移的优势。