Split tunelování se obvykle popisuje jako způsob, jak udržet firemní provoz uvnitř tunelu a zbytek internetu mimo firewall. Obě poloviny tohoto popisu jsou špatné stejným způsobem. Split tunelování je rozhodnutí o trase, které dělá klient, a rozhodnutí o trase neříká nic o tom, co se stane s paketem poté, co dorazí do headendu.

Jedna partnerská služba na veřejné adrese, která trvá na tom, že uvidí adresu vašeho sídla, stačí k tomu, aby ten příběh rozbila.

Mýtus: split tunel vytahuje firewall z cesty

Věří se, že jakýkoli cíl mimo privátní rozsahy zůstává na místním internetovém připojení, takže ho firewall nikdy nevidí a nikdy pro něj nepotřebuje pravidlo. To platí jen tehdy, dokud cíl v seznamu tunelu není. Ve chvíli, kdy operátor přidá veřejný host do ACL split-include, klient pošle tento provoz do tunelu a ASA ho musí směrovat, filtrovat a překládat jako každý jiný dešifrovaný tok. Na klientovi se nezměnilo nic kromě seznamu cílů.

Klient se nestal routerem. Řídil se politikou, kterou jste mu dali.

Co trasa split-include skutečně dělá

V nastavení vzdáleného přístupu na Cisco ASA nese skupinová politika split-tunnel-policy tunnelspecified a split-tunnel-network-list, který pojmenovává standardní ACL. Každý řádek permit v tomto ACL je cíl, který má klient poslat do tunelu, a vše ostatní dál používá místní výchozí trasu.

Přidání jednoho hostu je jediný řádek a je to jediná část změny, kterou klient vidí: access-list RA-SPLIT standard permit host 203.0.113.20.

Potom klienta znovu připojte. Politika se vyměňuje při připojení, takže navázaná relace si ponechá starý seznam a změna vypadá, jako by nic neudělala.

Paket přichází a odchází na stejném rozhraní

Nyní sledujte tok po dešifrování. Paket přišel přes VPN tunel na vnější rozhraní, jeho cílem je veřejná adresa a směrovací tabulka ho pošle zpět stejným vnějším rozhraním směrem k internetu. Provoz, který na jedno rozhraní vstoupí a zase z něj vystoupí, se zahazuje, pokud ASA nedostane pokyn ho povolit, což dělá same-security-traffic permit intra-interface. Bez toho spojení selže způsobem, který vypadá jako problém směrování, ale není.

Toto nastavení je globální. Povoluje hairpinning pro každý tok, který ho potřebuje, ne jen pro tento partnerský host, takže patří do revidované změny, ne do rychlého testu.

Proč je PAT omezený na cíl povinný

Zdrojová adresa dešifrovaného paketu je stále VPN adresa klienta, obvykle z poolu, jako je 10.77.0.0/24. Tato adresa nemá na veřejném internetu trasu, takže partner buď nikdy neodpoví, nebo odpoví do prázdna.

Překlad opraví zdroj a cíl nechá nedotčený. Protože objekty jsou už definované jinde, ruční pravidlo omezené na tento cíl 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

Část destination static je důležitá. Když ji vynecháte, pravidlo se změní na široký překlad, který může odpovídat mnohem většímu provozu, než je zamýšleno, a široké identity pravidlo dříve v pořadí může toto pravidlo úplně přebít. Zkontrolujte show nat detail a pořadí sekcí, než budete předpokládat, že vaše pravidlo je to, které odpovídá.

PAT na rozhraní také znamená, že partner vidí adresu rozhraní ASA, která může být výše znovu přeložena. Pokud smlouva uvádí adresu, potvrďte ji od začátku do konce, ne na jednom skoku.

Dokažte to správným testovacím cílem

Použijte samotný partnerský host, ne obecnou stránku what-is-my-ip. Ta stránka je téměř jistě mimo split seznam, takže hlásí vaši místní internetovou adresu a o této cestě neříká nic. Otevřete nové spojení ke službě partnera a zeptejte se, jaký zdroj viděli, nebo spusťte packet-tracer input outside tcp 10.77.0.10 12345 203.0.113.20 443 detailed a čtěte fáze NAT a směrování řádek po řádku. Traceroute z klienta je slabší kontrola, protože ukazuje cestu, která už proběhla, a ne politiku, která ji vybrala.

Potom zkontrolujte, co se změnit nemá. Běžný web musí stále vycházet z místního připojení a privátní prostředek v seznamu tunelu musí být stále dostupný. Změna, která opraví partnera a rozbije jedno z toho, je jiná chyba.

Fungující verze tohoto návrhu je krátká: jeden host v ACL split, povolení hairpinu, jedno pravidlo PAT omezené na cíl. Všechno ostatní v tom příběhu je mýtus.

Související články