我感觉答案是政策路由,但我希望有人能澄清这一点。
基本上,我无法让 NAT 与两个 WAN 接口一起工作。
我有两个 WAN 接口:fe0/1(静态,200.200.200.2/30,gw 200.200.200.1/30)和 fe0/0/0(Dialer1)。
我已经为各种 IP 设置了永久静态路由,以便通过 fe0/1 路由出去。我相信这没问题——我可以从 IOS shell 跟踪路由,它从 fe0/1 出去。我还为 Dialer1 设置了 NAT;LAN 上的机器可以毫无问题地出去。但是,LAN 上的机器无法从 fe0/1 出去(ping static.routed.ip.address
不起作用)。
以下是我的配置中的相关内容:
access-list 1 permit 192.168.0.0 0.0.0.255
ip nat inside source list 1 interface Dialer1 overload
我尝试添加一个池并将其与访问列表 1 关联;我还创建了另一个access-list 15
具有相同 LAN ip 网络地址的池,但它们似乎都只是“替换”了 NAT 方案,以便我的静态路由适用于 fe0/1(使用 LAN 进行测试ping static.routed.ip.address
),但停止对 Dialer1(fe0/0/0)工作。
策略路由是这里唯一的出路吗?
编辑
我应该澄清的是,是的,我确实需要对两个接口进行 NAT 过载:我选择设置静态路由而不是策略路由,因为我并不真正关心源 IP/掩码是什么,而是关心目的地:任何与我的静态路由的目标地址匹配的 LAN 数据包都需要从 fe0/1 WAN 接口出去。
就像我说的,这在任何时候都可以从路由器上运行,如果我运行,也可以从 LAN 上运行:
ip nat inside source list 1 interface FastEthernet0/1 overload
但这会杀死 Dialer1(默认路由)的出站 NAT,从而杀死所有其他出站流量。
答案1
我认为答案route-map
在于以下思科支持网站中引用的内容:
https://supportforums.cisco.com/docs/DOC-3987
带有路由映射选项的动态 NAT 配置可用于实现基于目标的 NAT 场景,其中需要将相同的本地或全局地址转换为多个全局或本地地址。此类配置会在 NAT 表中创建一个扩展转换条目。当网络多宿主到不同的提供商或合作伙伴网络,并且必须将相同的内部本地地址转换为多个配置池中可用的不同内部全局地址时,它特别有用。
编辑:用路线图测试,有效。
答案2
如果没有看到更多的配置就很难说,但是如果您只是基于目标 IP 地址进行路由而不想基于源地址进行路由,我不认为您需要路由图,但那是我过去所使用的。
我认为您提供的问题可能是您的 nat 访问列表仅指定源地址,因此它不知道将其应用于哪个池。相反,您希望流量基于以下两个条件匹配特定池:目的地和源地址。例如可能是这样的:
access-list nat-dest-1 permit 192.168.0.0 0.0.0.255 12.12.12.0 0.0.0.255
access-list nat-dest-2 permit 192.168.0.0 0.0.0.255 13.13.13.0 0.0.0.255
我想你可能会发现这个思科文档很有帮助,它包括路由图和传统的 acl 方法。