“NAT 反向路徑故障”ASA 8.3
請原諒我,因為我對 ASA 不是很有經驗,但我相信我所配置的應該可以工作。
我有一個執行版本 8.3(2) 的 ASA 5510,它連接到內部、外部和 dmz 網路,以及一個 RA VPN。從 internal/dmz 到 Internet 時,Internal 和 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’d 到外部介面。
因此,我將 DMZ 子網的靜態無 NAT 規則放入 VPN:
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
dmz: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 到 VPNType: 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
一直到最後,“允許”一直到最後。
固定的!
我不完全確定導致問題的原因,但這似乎正在發生。
讓我們再次回顧一下 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 到任何.. 而返回流量將從 DMZ_VLAN 到 VPN,因此不匹配頂級規則。
我不確定匹配第一個 NAT 是否會導致 ASA 將流量定向到內部,或者它是否只是意識到出站流量將匹配不同的 NAT。
一旦我將頂級 NAT 規則修改為更具體:
nat (inside,outside) source static IN_VLANS IN_VLANS destination static VPN VPN
一切正常!
奇怪的問題..但似乎故事的寓意是對所有事情都具體化,即使你認為它不會引起任何問題..因為它可以。