Split tunneling nevyjme verejný host z pravidiel NAT na ASA
Trasa split-include vtiahne verejný host do tunela, kde ASA musí urobiť hairpin a preložiť zdroj. Vynechajte ktorýkoľvek z dvoch krokov a tok spadne.
Split tunneling sa zvyčajne opisuje ako spôsob, ako udržať firemnú prevádzku vnútri tunela a zvyšok internetu mimo firewallu. Obe polovice tohto opisu sú nesprávne rovnakým spôsobom. Split tunneling je rozhodnutie o trase, ktoré robí klient, a rozhodnutie o trase nehovorí nič o tom, čo sa stane s paketom po tom, ako dosiahne headend.
Jedna partnerská služba na verejnej adrese, ktorá trvá na tom, že uvidí adresu vášho sídla, stačí na to, aby ten príbeh zrútila.
Mýtus: split tunneling vyťahuje firewall z cesty
Presvedčenie je, že akýkoľvek cieľ mimo privátnych rozsahov zostáva na miestnom internetovom pripojení, takže ho firewall nikdy nevidí a nikdy preň nepotrebuje pravidlo. Platí to len dovtedy, kým cieľ nie je v zozname tunela. V okamihu, keď operátor pridá verejný host do ACL split-include, klient pošle túto prevádzku do tunela a ASA ju musí smerovať, filtrovať a prekladať ako každý iný dešifrovaný tok. Na klientovi sa nezmenilo nič okrem zoznamu cieľov.
Klient sa nestal routerom. Riadil sa politikou, ktorú ste mu dali.
Čo trasa split-include skutočne robí
V nastavení vzdialeného prístupu Cisco ASA nesie skupinová politika split-tunnel-policy tunnelspecified a split-tunnel-network-list, ktorý pomenúva štandardný ACL. Každý riadok permit v tomto ACL je cieľ, ktorý má klient poslať do tunela, a všetko ostatné ďalej používa miestnu predvolenú trasu.
Pridanie jedného hosta je jediný riadok a je to jediná časť zmeny, ktorú klient vidí: access-list RA-SPLIT standard permit host 203.0.113.20.
Potom klienta znovu pripojte. Politika sa vymieňa pri pripojení, takže nadviazaná relácia si ponechá starý zoznam a zmena vyzerá, akoby nič neurobila.
Paket prichádza a odchádza na tom istom rozhraní
Teraz sledujte tok po dešifrovaní. Paket prišiel cez VPN tunel na vonkajšie rozhranie, jeho cieľom je verejná adresa a smerovacia tabuľka ho pošle späť tým istým vonkajším rozhraním smerom k internetu. Prevádzka, ktorá na jedno rozhranie vstúpi a zase z neho vystúpi, sa zahadzuje, ak ASA nedostane pokyn ju povoliť, a to robí same-security-traffic permit intra-interface. Bez toho spojenie zlyhá spôsobom, ktorý vyzerá ako problém smerovania, ale nie je.
Toto nastavenie je globálne. Povoľuje hairpinning pre každý tok, ktorý ho potrebuje, nielen pre tento partnerský host, takže patrí do revidovanej zmeny, nie do rýchleho testu.
Prečo je PAT obmedzený na cieľ povinný
Zdrojová adresa dešifrovaného paketu je stále VPN adresa klienta, zvyčajne z poolu, ako je 10.77.0.0/24. Táto adresa nemá na verejnom internete trasu, takže partner buď nikdy neodpovie, alebo odpovie do prázdna.
Preklad opraví zdroj a cieľ nechá nedotknutý. Keďže objekty sú už definované inde, ručné pravidlo obmedzené na tento cieľ má tento tvar:
same-security-traffic permit intra-interface
object network RA_POOL
subnet 10.77.0.0 255.255.255.0
object network PARTNER_HOST
host 203.0.113.20
nat (outside,outside) source dynamic RA_POOL interface destination static PARTNER_HOST PARTNER_HOSTČasť destination static je dôležitá. Ak ju vynecháte, pravidlo sa zmení na široký preklad, ktorý môže zodpovedať oveľa väčšiemu objemu prevádzky, než sa zamýšľalo, a široké identity pravidlo skôr v poradí ho môže úplne prebiť. Skontrolujte show nat detail a poradie sekcií, než budete predpokladať, že vaše pravidlo je to, ktoré zodpovedá.
PAT na rozhraní tiež znamená, že partner vidí adresu rozhrania ASA, ktorá môže byť znova preložená vyššie. Ak zmluva uvádza adresu, potvrďte ju od začiatku do konca, nie na jednom skoku.
Dokážte to správnym testovacím cieľom
Použite samotný partnerský host, nie všeobecnú stránku what-is-my-ip. Tá stránka je takmer isto mimo split zoznamu, takže hlási vašu miestnu internetovú adresu a o tejto ceste nehovorí nič. Otvorte nové spojenie k službe partnera a spýtajte sa, aký zdroj videli, alebo spustite packet-tracer input outside tcp 10.77.0.10 12345 203.0.113.20 443 detailed a čítajte fázy NAT a smerovania riadok po riadku. Traceroute z klienta je slabšia kontrola, pretože ukazuje cestu, ktorá už prebehla, a nie politiku, ktorá ju vybrala.
Potom skontrolujte, čo sa nesmie zmeniť. Bežná webová stránka musí stále vychádzať z miestneho pripojenia a privátny prostriedok v zozname tunela musí zostať dostupný. Zmena, ktorá opraví partnera a pokazí jedno z tých dvoch, je iná chyba.
Fungujúca verzia tohto návrhu je krátka: jeden host v ACL split, povolenie hairpinu, jedno pravidlo PAT obmedzené na cieľ. Všetko ostatné v tom príbehu je mýtus.