ASA VPN hairpin: směrování dvou tunelů přes jedno rozhraní
Provoz vzdáleného uživatele může odejít stejným rozhraním ASA, kterým přišel, ale povolení hairpin, rozsah tunelu, NAT a ACL jsou čtyři samostatná rozhodnutí.
Vzdálený uživatel se připojí k ASA, požádá o hostitele za pobočkou a ASA odešle tento požadavek stejným rozhraním, kterým uživatel přišel. Nic z toho nevyžaduje druhý fyzický port. Vyžaduje ale čtyři nezávislá rozhodnutí, která lidé obvykle slijí do jednoho: povolení hairpin, tunel, který chrání správné adresy, pravidlo NAT, které zachová zdroj, který jste slíbili, a přístupová politika, která službu povolí.
Jeden paket, dva tunely
Sledujte tok a pořadí operací přestane být záhadné. Paket dorazí uvnitř tunelu vzdáleného přístupu, dešifruje se a stane se běžným IP paketem se zdrojem z klientského poolu. ASA jej pak směruje, porovná s crypto ACL typu lokalita-lokalita, znovu zašifruje a odešle přes vnější rozhraní k pobočce.
Adresy níže jsou ilustrativní, ale tvar je důležitý: zdrojem je pool, ne vnitřní LAN ASA.
remote client 10.77.0.20
-> remote-access tunnel, terminated on ASA outside
-> decrypted, routed, matched against site-to-site policy
-> site-to-site tunnel, sent from ASA outside
-> branch host 10.60.20.10Z toho plynou dvě věci. Klient potřebuje trasu pro prefix pobočky přes své připojení vzdáleného přístupu, což znamená, že split-tunnel nebo seznam vnucených tras jej musí obsahovat. A pobočka musí vědět, jak vracet provoz na 10.77.0.20 nebo na adresu, kterou nahradil váš návrh NAT.
Povolení hairpin je globální
Příkaz, ke kterému lidé sahají, je same-security-traffic permit intra-interface. Umožňuje provozu vstoupit a vystoupit stejným rozhraním, což je přesně to, co tato cesta potřebuje. Je to také globální nastavení: jeho zapnutím se změní chování jiných toků, které náhodou procházejí stejným rozhraním dvakrát.
Proto patří do záznamu o změně, nikoli do ladicí relace. Zeptejte se, co dalšího na zařízení teď může jít cestou stejného rozhraní a zda by mělo. Na vytíženém okraji s hostujícími sítěmi nebo překrývajícími se partnerskými tunely není odpověď automaticky ne. Napište důvod vedle nastavení, protože příští inženýr najde příkaz, ne rozhovor.
Rozsah ochrany a NAT jsou oddělené
Tunel typu lokalita-lokalita chrání to, co vybere jeho crypto ACL. Pokud tento ACL uvádí jako zdroj vnitřní podsíť ASA, pool vzdáleného přístupu chráněn není a paket bude buď zahozen, nebo odeslán v otevřené podobě, podle chování platformy u neodpovídajícího provozu. Přidejte pool do chráněného toku, pokud návrh zachovává adresy poolu.
NAT pak rozhodne, zda adresa poolu přežije. Identity NAT ji zachová a pobočka vidí 10.77.0.20 jako zdroj. Překlad mění smlouvu: pobočka nyní vrací provoz na přeloženou adresu a její vlastní politika to musí přijmout. Pořadí pravidel rozhoduje, zda se crypto ACL shoduje před překladem, nebo po něm, takže čtěte skutečný tok, místo abyste předpokládali, které pravidlo vyhraje.
Nemažte obecná internetová pravidla PAT, aby fungoval jeden tranzitní případ. Cílená výjimka nebo záměrné identity pravidlo se vysvětlují a vracejí snadněji než díra ve výstupní politice.
Šifrování není autorizace
Funkční tunel dokazuje jen to, že se dva protějšky shodují na klíčích a selektorech. Nic neříká o tom, zda tento uživatel smí danou službu dosáhnout. VPN filtr nebo skupinová politika připojená ke spojení vzdáleného přístupu stále musí povolit cíl v pobočce a port a ACL rozhraní na vnější cestě stále platí.
Otestujte odpověď v obou směrech. Spojení, které uspěje, zatímco sousední služba by měla selhat, je informativnější než jeden úspěšný ping, protože ukazuje, že politika je selektivní, ne dokořán otevřená. Pokud zakázaný test uspěje, tunel není viník; viníkem je politika. Uchovejte oba výsledky v záznamu o změně, aby další člověk věděl, jaké chování bylo zamýšleno.
Hairpin, nebo druhé rozhraní
Hairpin tranzit udržuje návrh malý a stojí jedno globální nastavení. Samostatné rozhraní nebo trasový tunel s vlastním virtuálním rozhraním izoluje tranzitní cestu a dává politiku pro každé rozhraní, za cenu adresování a další crypto mapy nebo profilu. Ani jedno není správnější; selhávají různě.
Trasové návrhy jsou jiné uspořádání, ne zaškrtávací políčko ve stejné konfiguraci. Pokud na ně přejdete, výše uvedená diskuse o crypto ACL založeném na politikách přestane platit a práci se výběrem začne dělat směrovací tabulka.
Ověřujte ze skutečného klienta
Sonda spuštěná z ASA má jinou zdrojovou adresu a cestu z poolu do pobočky neprocvičí. Pomocí packet-tracer zkontrolujte pětici, pak otevřete skutečné spojení z reálného vzdáleného klienta, protože trasovač simuluje a nenahrazuje vlastní směrování a politiku klienta.
Po plánované změně se připojte ke službě, která má fungovat, pak k té, která má být odmítnuta, a poté potvrďte návratovou trasu pobočky. Příklady hairpin NAT pro VPN od Cisco drží povolení intra-interface, NAT a ACL viditelně oddělené, a to je mentální model, který stojí za to kopírovat.