双路由器,双 ISP NAT 问题

网络工程 思科 路由 纳特 BGP
2022-02-08 02:35:54

我有以下拓扑:

2 个边缘路由器 - 每个都通过 eBGP 连接到不同的 ISP,通告相同的 PI 空间

EIGRP 在路由器和交换机之间运行以实现可达性。

在两个边缘路由器的内部接口上,我都有"ip nat inside",在 ISP 上行链路接口上,我有"ip nat outside".

然后,我在两个边缘路由器上都有以下 nat 语句:

ip nat pool POOLNAME x.x.x.54 x.x.x.70 netmask 255.255.255.128
ip nat inside source list 31 pool POOLNAME overload

我可以从访问列表 31 中配置的相应子网中看到两个边缘路由器上的 nat 转换,但是流量实际上并没有传递到外部。

我还在两个边缘路由器上将默认路由从 BGP 重新分配到 EIGRP。

注意- 当我从等式中删除 router2 时,流量开始再次完美地通过 router1,或者如果我将 ISP2 连接到 router1,NAT'ing 会按预期工作并正确传递流量。

这是什么原因,我该如何解决,以便两个边缘路由器都正确地向外部进行 NAT?

谢谢

1个回答

每个路由器上的转换表独立于另一个路由器上的转换表。听起来你有一个不对称的路由问题。您需要路由器之间的链接是外部接口,以便返回到路由器 1 以在路由器 2 上进行转换的流量将通过路由器 2 外部接口。路由器 2 不会尝试转换返回流量,除非它通过路由器 2 上的外部接口,反之亦然。


编辑:

根据您的评论,您可能能够通过您的网络设置到另一个路由器的虚拟或物理接口。将该接口设置为外部接口,并通过该接口创建到所有其他路由器的外部接口的静态路由。这将使路由的 AD 为1,并且它应该优先于到其他路由器上的那些接口的任何内部路由。您还可以在该接口上运行 iBGP。