我有一个多宿主网络设置。我正在使用 Cisco 7200 向提供商 A 和 B 进行 BGP 广告。对于每个提供商,我都有一个单独的 /24 正在使用。我正在准备将块 A 影响到提供者 A,并将块 B 影响到提供者 B。这工作正常。如果任一提供程序出现故障,故障转移就可以很好地工作。
但是,我还想影响 OUTBOUND 流量以相同的方式流向每个提供商。也就是说,当流量进入我的路由器时,我想根据源 IP 地址将其流出与提供商相关联。照原样,每个提供商都只向我宣传一条默认路由。
我相信我可以使用路由策略来实现这一点,但我不想在策略中硬编码 IP 地址,因为它们可能会动态变化。
那么,我有哪些选择来影响出站路由?
据我了解,您希望来自 ProviderA 的流量返回 ProviderA,而来自 ProviderB 的流量返回 ProviderB。
我不太明白“我不想对 IP 地址进行硬编码”,因为 /24 不会是动态的。所以我会根据源地址做一个路线图。这不是 100% 好,因为您可能已经从 ProviderB 链接收到了 ProviderA IP 上的流量,即使在 AS 之前,您也会将流量发送回 ProviderA 而不是 ProviderB,但大多数情况下都可以。
然后应用
policy route-map SOURCE_ROUTING
在接收需要出去的数据的接口上。离散直接对等点之间的出站流量路径最典型地通过使用本地首选项属性进行操作,并且可以通过邻居、ASN 或前缀有选择地应用于接收的路由。
但是,如果您只收到来自每个提供商的默认路由,那么您的选择将非常有限。是否有您不使用默认设置的原因,例如路由器容量?
Radius 看起来已经得到了你想要的工作。另一种选择是思科性能路由 (PfR)。PfR 是一个复杂得多的解决方案,但允许您根据 Cisco IP SLA 的指标和可能的其他因素来选择使用哪个提供商。如果路由映射和其他标准 BGP 控制还不够,将来可以看看。
更好的方法是对出站流量进行负载平衡。虽然您可以按照建议进行操作并设置特定于提供商的下一跳,但如果其中一个链接出现故障,则该提供商的出站流量将停止,因为下一跳是硬设置的。
因此,您要做的是将两个提供商的本地首选项标记为相同。
让提供商 A 的出站流量通过提供商 B 的链接并不是什么大问题,因为互联网流量在多条路径上没有问题。此外,您还可以获得自动故障转移的优势。