“NAT 反向路径失败” ASA 8.3

“NAT 反向路径失败” ASA 8.3

请原谅我,因为我对 ASA 不是很有经验,但我相信我所配置的应该可以起作用。

我有一台运行 8.3(2) 版本的 ASA 5510,它连接到内部、外部和 DMZ 网络以及 RA VPN。从内部/DMZ 到互联网时,内部和 DMZ 网络都配置了动态 NAT。这些动态 NAT 都按预期工作。

尝试通过 VPN 访问 DMZ 网络时出现问题。

我在 ASA 上收到的错误消息如下:

%ASA-5-305013: Asymmetric NAT rules matched for forward and reverse flows; Connection for icmp src outside:x.x.x.x dst dmz: y.y.y.y (type 8, code 0) denied due to NAT reverse path failure

我认为发生这种情况的原因是从 DMZ 返回的流量将与动态 NAT 规则匹配,并被 nat 到外部接口。

因此,我为 VPN 的 DMZ 子网添加了一条静态无 NAT 规则:

nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN

但是...我仍然收到错误。

现在,我更加困惑了。添加静态 NAT 后,我的sh nat看起来如下:

1 (inside) to (outside) source static any any destination static VPN VPN description VPN No NAT
    translate_hits = 3, untranslate_hits = 1198

2 (dmz) to (outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN
    translate_hits = 0, untranslate_hits = 0

如果我将 DMZ 到外部规则移到内部到外部规则之上,那么我可以访问 DMZ,但无法从 VPN 访问内部。

我不确定为什么这些规则的顺序会产生影响,因为如果顶部规则不匹配,它应该继续在列表中流动。

任何帮助都将不胜感激,尽管我的感觉告诉我,我只是在明显的地方犯了一个愚蠢的错误。

编辑:更多信息。

接口安全级别:

内部:100
非军事区:50
外部:0

NAT 规则来自show run nat

nat (inside,outside) source static any any destination static VPN VPN description VPN No NAT
nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN

object network DMZ_VLAN
 nat (dmz,outside) dynamic interface

object network In_VLAN
 nat (inside,outside) dynamic interface

正如我所言,访问列表不应适用,sysopt connection permit-vpn除非我误解了这个命令,否则它应该启用来自 VPN 的流量,而不管 ACL 如何。

此外,ICMP 流量正在接受检查,因此返回流量应该不受访问列表的影响(再次,除非我误解了流量检查)

网络:

内部:10.1.4.0/24
DMZ:10.1.254.0/24
VPN:10.1.10.0/24

Packet-tracer从 DMZ 到 VPN

Type: NAT
Subtype: 
Result: ALLOW
Config:
nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN
Additional Information:
Static translate 10.1.254.1/0 to 10.1.254.1/0

一直packet-tracer到最后都是“允许”......

答案1

固定的!

我不完全确定到底发生了什么导致了这个问题,但这似乎是正在发生的事情。

让我们再次回顾一下 NAT 规则。

nat (inside,outside) source static any any destination static VPN VPN
nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN

请注意这两条规则之间的区别,这两条规则(应该)针对不同的接口做同样的事情。

顶部 NAT 之所以像那样完全开放(any any)是因为实际上有多个网络可以来自我们的网络内部,所以我们认为将其保持开放比定义可能出现的每个网络更容易。

似乎已经发生的问题是,当流量从 VPN 进入时,ASA 似乎会在决定通过防火墙的路径之前查看其 NAT。因此,它会根据顶级 NAT 检查流量,并且匹配,因为它肯定是从 VPN 到任何 NAT。而返回流量将从 DMZ_VLAN 到 VPN,因此不符合顶级规则。

我不确定匹配第一个 NAT 是否会导致 ASA 将流量引导到内部,或者它是否只是意识到出站流量将匹配不同的 NAT。

一旦我修改了顶部 NAT 规则,使其更加具体:

nat (inside,outside) source static IN_VLANS IN_VLANS destination static VPN VPN

一切都很完美!

奇怪的问题...但这个故事的寓意似乎是对所有事情都要具体,即使你认为它不会引起任何问题...因为它会引起问题。

答案2

好吧,稍微不那么乱了。不过,我还是没有看到任何网络定义;是什么让你认为使用 nonat 在这里有用?所涉及的网络可以解开这个谜团,但目前我们还不知道。

DMZ(大多具有公共 IP)通常不会直接连接到 VPN(大多没有)。

以下内容引起了我的注意:

因此,我为 VPN 的 DMZ 子网添加了一条静态无 NAT 规则:

nat (dmz,outside) 源静态 DMZ_VLAN DMZ_VLAN 目标静态 VPN VPN

然而,这样做恰恰相反:nat (X,Y)是静态自然 X

它也不是一个诺纳特规则。

到 VPN 的非 AT 应该源自另一个接口:

nat 0 (outside,dmz) DMZ VPN

这会将 DMZ IP 呈现给 VPN 接口,而不应用外部接口的规则。

当然,您也可以从外部对 DMZ 进行正常的 nat,但通常不鼓励这样做,因为您正在创建从较低安全性到较高安全性的访问。

答案3

阿兹,

从 VPN 客户端访问 DMZ。Cisco ASA 9.x

感谢您的信息,因为它帮助我解决了问题。我的 ASA 代码是 9.x,不再使用 nonats,而是使用静态 NAT。我发现与你的情况相同,在我的防火墙上,我有一些与目标 VPN 网络应用的任何 NAT。删除它并添加具体内容解决了我的问题,并且可以确认从我的 VPN 客户端访问内部和 DMZ。我使用以下几行解决了我的问题。希望这对其他人有所帮助。

删除了问题 NATS,从任意到 VPN 网络 IP:10.10.8.x

no nat (inside,any) source static any any destination static OBJ-10.10.8.0-24 OBJ-10.10.8.0-24 no-proxy-arp description NONAT
no nat (outside,any) source static any any destination static OBJ-10.10.8.0-24 OBJ-10.10.8.0-24 no-proxy-arp description NONAT

为下面的 VPN 网络内部和 DMZ 访问添加了特定的 NAT。

nat (inside,outside) source static NETWORK_OBJ_10.0.0.0_8 NETWORK_OBJ_10.0.0.0_8 destination static NETWORK_OBJ_10.10.8.0_24 NETWORK_OBJ_10.10.8.0_24 no-proxy-arp route-lookup
nat (dmz,outside) source static OBJ-10.10.7.0-24 OBJ-10.10.7.0-24 destination static NETWORK_OBJ_10.10.8.0_24 NETWORK_OBJ_10.10.8.0_24 no-proxy-arp route-lookup

相关内容