思科ASA – NAT反向path行为

最近遇到了一个问题,即向接口添加dynamicNAT会打破所有通过RPF故障接口的转换stream量。 我们发现,添加该命令导致NAT反向path过滤开始丢弃接口上的大部分stream量,此前RPF检查没有发生(或者至less以前没有出现在packet-tracer结果中)。

该接口已经有数百个NAT免除,静态和dynamic策略NAT,但是添加了第一个dynamicNAT(带有小的/ 29个源限制,以及与99%的翻译无关的目标接口)引发了这些故障。

这是什么打破了它:

 nat (Public) 33 172.16.14.0 255.255.255.248 outside tcp 0 0 udp 0 global (Voice) 33 10.0.8.180 netmask 255.255.255.255 

RPF中引用的规则失败是内部的主要PAT规则; 没有任何关于添加的configuration应该干扰成功反向的规则:

 Phase: 9 Type: NAT Subtype: rpf-check Result: DROP Config: nat (public) 0 0.0.0.0 0.0.0.0 outside nat-control match ip Public any inside any no translation group, implicit deny policy_hits = 7274 Additional Information: 

在添加NAT之前的完整packet-tracer结果: http : //pastey.net/149630及之后: http : //pastey.net/149631

所以,问题是:这是真的如何NAT RPF的行为 – 只有过滤接口一旦该接口有一个dynamicNAT连接? 为什么一个dynamicNAT触发它,但是dynamic策略NAT(performance完全一样,但指定的源和目标而不是源)没有? 还是一直在发生,只是有一个隐式的允许在接口上,直到有一个dynamic的NAT,然后变成隐式否定,如果没有规则匹配?

5520运行8.2.2,如果有关系的话。

看看第一个数据包跟踪结果,看起来你已经启用了nat控制。 如果在启用nat控制的情况下向外部接口添加dynamicnat,则接口的所有通信必须匹配nat语句。 Cisco ASA 550系列configuration指南 – configurationNAT控制

这就是为什么一旦dynamicnat被应用,你会看到行为的变化。 NAT控制正在被应用到外部,而你现有的外部NAT规则并不适合这种情况。 难以看到configuration更具体。 最简单的解决scheme将是禁用NAT控制(没有NAT控制)。

你是否试图从较低的安全接口到较高的NAT? 如果是这样,你需要做静态NAT,因为据我所知,在这种情况下你不能使用dynamicNAT。

如果您有多个WAN接口,则NAT可能会将您的数据包从错误的接口转出,并且由于地址错误( 参考:Cisco ),uRPF可能会丢弃数据包。 您是否有任何机会启用Cisco快速转发?