Pobočka provozuje internetový PAT a VPN typu site-to-site na stejné bráně Cisco a VPN přestane fungovat ve chvíli, kdy se přidá NAT. Adresy uvnitř tunelu už neodpovídají tomu, co chrání crypto ACL, nebo protistrana vidí přeložené adresy, pro které nemá trasu. Cisco to řeší na dvou místech: ASA vybírá pravidlo NAT, které mapuje adresu na sebe samu, zatímco IOS drží tok mimo pravidlo překladu pomocí deny v ACL. Obě zachovávají původní adresy a ani jedno není obejitím zpracování NAT.

Nejdřív zapište tok, potom vybírejte pravidlo

Začněte tím, že zapíšete tok, který chcete chránit: zdroj v lokální LAN, vzdálený cíl a přesnou dvojici adres, kterou chrání politika IPsec. Udělejte to před úpravou pravidla, protože tato množina ukazuje, který klasifikátor nebo pravidlo NAT mělo odpovídat.

Potom najděte pravidlo, které skutečně odpovídalo, ne to, které jste zamýšleli. Na obou platformách se NAT vyhodnocuje v pořadí a dřívější pravidlo může vyhrát dřív, než se vaše výjimka zohlední. Výjimka, která vypadá správně, ale prohraje s jiným pravidlem, nikdy nepředá očekávaný paket politice ochrany. Příznak je stejný jako u chybějící výjimky, proto je nutné přečíst pořadí pravidel před změnou konfigurace.

Identity NAT na ASA je pravidlo, ne obejití

Na ASA je identity NAT pravidlo NAT, jehož přeložená adresa se rovná původní. Vybere se jako každé jiné pravidlo a stále instaluje záznam překladu, takže paket neobchází zpracování NAT. Mění se to, že adresy na síti zůstávají stejné, což politika IPsec potřebuje.

nat (inside,outside) source static LAN-NET LAN-NET destination static REMOTE-NET REMOTE-NET

Rozhraní pravidla a jeho nastavení route-lookup musí odpovídat návrhu předávání. Pravidlo, které adresu mapuje správně, ale je použito na špatnou dvojici rozhraní, se pro váš tok nevybere. Route-lookup rozhoduje, zda se přeložený paket směruje, nebo se použije původní cíl, a to určuje, zda se návratový provoz vrací tunelem.

Správa samotného ASA je samostatný případ. Pokud pro správu používáte identity NAT, platí požadavek na route-lookup specifický pro verzi a široká výjimka zkopírovaná z příkladu VPN problém SSH nevyřeší.

Deny v ACL pro NAT na IOS znamená zde nevybráno

Na IOS je internetový NAT řízen seznamem zdrojů a tento ACL je klasifikátor, ne filtr. Řádek permit vybírá provoz k překladu; řádek deny znamená, že paket zde není vybrán. Tento deny není pokyn paket zahodit, jako deny v ACL rozhraní.

Zde nevybráno je také užší než nikde nepřekládáno. Jiné pravidlo NAT, jiné rozhraní nebo route-map mohou tok stále přeložit, proto je třeba přečíst celou tabulku NAT. Paket také potřebuje trasu, odpovídající crypto ACL a povolení na skutečných hranicích řízení přístupu.

Minimální uspořádání na IOS staví deny nad permit ve stejném seznamu a pravidlo overload směřuje na tento seznam. Crypto ACL pak chrání stejnou dvojici, kterou deny vylučuje z překladu.

ip access-list extended NAT-ACL
 deny ip 10.10.0.0 0.0.0.255 192.0.2.0 0.0.0.255
 permit ip 10.10.0.0 0.0.0.255 any
ip nat inside source list NAT-ACL interface GigabitEthernet0/1 overload

Jedna ověřitelná otázka pro oba modely

Oba modely odpovídají na stejnou otázku: které pravidlo tomuto toku odpovídalo a které adresy opustily rozhraní? Zachyťte provoz na vnějším rozhraní a porovnejte zdrojovou adresu před branou a po ní. Potom zkontrolujte pohled protistrany na tunel, protože SA může být aktivní, zatímco chráněný tok se překládá jinde.

Na ASA zobrazte nat detail a tabulku překladů; na IOS ip nat translations a odpovídající čítače ACL. Pravidlo, které nikdy nenaroste, nebylo nikdy vybráno, což ukazuje na pořadí, rozhraní nebo směr, ne na konfiguraci crypto.

Kde se konfigurace obvykle pokazí

Běžné závady jsou mechanické. Deny je pod permit a nikdy neodpovídá. Klasifikátor je použit ve špatném směru, takže se překládá návratový tok. Pravidlo identity pokrývá správné adresy, ale špatnou dvojici rozhraní. Crypto ACL chrání podsíť, která už neodpovídá tomu, co pravidlo NAT předkládá.

Zapište původní a předkládanou dvojici adres vedle vlastníka pravidla, aby příští inženýr viděl, proč klasifikátor odmítá překlad, zatímco firewall aplikaci povoluje. Uchovávejte to v tikatu změny, ne v osobní poznámce. Potom po každé změně NAT spusťte tok znovu, protože pořadí pravidel je součástí konfigurace, i když se text pravidla nezměnil. Tunel, který se zvedne, není důkazem, že adresy přežily; jen zachycený paket a pohled protistrany po dekapsulaci.

Související články