BGP 源基路由问题

网络工程 思科 路由 转变 bgp 互联网服务供应商
2021-07-22 14:01:04

这个问题很难解释,但我会尽力而为,我有以下情况。

在此处输入图片说明

我有一个 ISP,我得到了 2x40G 的下降,您可以在图中看到Link-A并且Link-B(都来自同一个 BGP AS)Link-A 和 Link-B 都具有关联的子网Subnet-A,并且Subnet-B两者都是/23,我们运行了很多公共应用程序,所以我们需要很多公网IP。

问题:

我的 ISPDefault在两个链路上发送 BGP路由,因为我们不想保存完整的 BGP 表。现在我如何告诉我的 BGPSubnet-A走路Link-A由和Subnet-B走路Link-B由?简而言之,链接源基础路由?有没有其他方法可以用来实现这个方案

  • 我试图避免,PBR因为它是一种静态路由。
  • 我应该使用负载共享吗?
  • 本地偏好可以解决这个问题吗?
  • 或者这个解决方案不可行?
2个回答

您可以通过跟踪 IP SLA 使 PBR 更加动态。

在此示例中,配置了两个 IP SLA,一个用于跟踪 Link-A 上的 1.1.1.1 的可用性,另一个跟踪 Link-B 上的 1.1.1.1

只要 SLA 监控通过该链路的可达性,PBR 就会将子网 A 中源地址的任何内容发送到 3.3.3.3(链路 A 下一跳)。只要 SLA 监控可达性,尽管下一跳已启动,来自子网 B 的任何内容都将被发送到 4.4.4.4(链路 B 下一跳)。

如果其中一个 SLA 未启动,则路由将回退到全局表并在这种情况下遵循默认路由。

ip sla 1
 icmp-echo 1.1.1.1 source-interface G0/1

ip sla 2
 icmp-echo 1.1.1.1 source-interface G0/2


ip sla schedule 1 life forever start-time now
ip sla schedule 2 life forever start-time now

track 1 ip sla 1 reachability
track 2 ip sla 2 reachability

ip access-list standard Subnet-A
 permit 192.168.1.0 0.0.0.255

ip access-list standard Subnet-B
 permit 192.168.2.0 0.0.0.255

route-map Choose-ISP permit 10
 match ip address Subnet-A
 set ip next-hop verify-availability 3.3.3.3 1 track 1

route-map Choose-ISP permit 20
 match ip address Subnet-B
 set ip next-hop verify-availability 4.4.4.4 1 track 2

所以我知道你有一个 / 23 并且想要一个特定的块退出链接 A 并且某个块退出正确的链接 b?您可以在其中一个链接中通告每个 / 24 以确保链接 A / 24 始终通过该链接,但这不是最佳方案,因为您会遇到冗余故障。另一种选择是在两侧宣布两个 / 24,并在您希望在该链接上变得更糟的前缀中添加一个前缀。因此,您不会停止通知双方,恶化的链路 A 不会从不可预测的链路 A 中获益,而您反转另一个链路。现在,如果它只是子网中机器的输出,您可以执行 src nat 以便子网 A 客户端使用链接 A 的 ISP 的 ip / 30 离开互联网