Split tunelis paprastai aprašomas kaip būdas išlaikyti įmonės srautą tunelio viduje, o likusį internetą už ugniasienės. Abi šio aprašymo pusės klysta taip pat. Split tunelis yra kliento priimtas maršruto sprendimas, o maršruto sprendimas nieko nesako apie tai, kas nutinka paketui jam pasiekus headend.

Viena partnerio paslauga viešuoju adresu, kuri reikalauja matyti jūsų pagrindinės buveinės adresą, pakanka šiai istorijai sugriauti.

Mitas: split tunelis pašalina ugniasienę iš kelio

Tikima, kad bet kokia paskirties vieta už privačių diapazonų lieka vietinėje interneto jungtyje, todėl ugniasienė jos niekada nemato ir jai niekada nereikia taisyklės. Tai galioja tik tol, kol paskirties vieta nėra tunelio sąraše. Tą akimirką, kai operatorius prideda viešąjį hostą į split-include ACL, klientas siunčia tą srautą į tunelį, o ASA turi jį maršrutizuoti, filtruoti ir versti kaip bet kurį kitą iššifruotą srautą. Kliente niekas nepasikeitė, išskyrus paskirties vietų sąrašą.

Klientas netapo maršrutizatoriumi. Jis laikėsi politikos, kurią jam davėte.

Ką iš tikrųjų daro split-include maršrutas

Cisco ASA nuotolinės prieigos konfigūracijoje grupinė politika turi split-tunnel-policy tunnelspecified ir split-tunnel-network-list, kuris įvardija standartinį ACL. Kiekviena to ACL permit eilutė yra paskirties vieta, kurią klientas turi siųsti į tunelį, o visa kita toliau naudoja vietinį numatytąjį maršrutą.

Vieno hosto pridėjimas yra viena eilutė, ir tai vienintelė pakeitimo dalis, kurią klientas gali pamatyti: access-list RA-SPLIT standard permit host 203.0.113.20.

Po to iš naujo prijunkite klientą. Politika keičiamasi prisijungimo metu, todėl jau sukurta sesija išlaiko seną sąrašą ir pakeitimas atrodo nieko nepadaręs.

Paketas ateina ir išeina per tą pačią sąsają

Dabar sekite srautą po iššifravimo. Paketas atėjo per išorinę sąsają VPN tuneliu, jo paskirties vieta yra viešasis adresas, o maršrutizavimo lentelė siunčia jį atgal per tą pačią išorinę sąsają interneto link. Srautas, kuris įeina ir išeina per vieną sąsają, išmetamas, nebent ASA leidžiama jį praleisti, ir būtent tai daro same-security-traffic permit intra-interface. Be to ryšys nepavyksta taip, kaip atrodo maršrutizavimo problema, bet ja nėra.

Šis nustatymas yra globalus. Jis leidžia hairpinning kiekvienam srautui, kuriam to reikia, ne tik šiam partnerio hostui, todėl jis priklauso peržiūrėtam pakeitimui, o ne greitam testui.

Kodėl paskirties vieta apribotas PAT nėra pasirenkamas

Iššifruoto paketo šaltinio adresas vis dar yra kliento VPN adresas, paprastai iš poolo, pavyzdžiui, 10.77.0.0/24. Šis adresas neturi maršruto viešajame internete, todėl partneris arba niekada neatsako, arba atsako į niekur.

Vertimas pataiso šaltinį ir palieka paskirties vietą nepaliestą. Kadangi objektai jau apibrėžti kitur, rankinė taisyklė, apribota šia paskirties vieta, turi tokią formą:

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

Dalis destination static yra svarbi. Jei jos atsisakysite, taisyklė taps plačiu vertimu, kuris gali atitikti daug daugiau srauto nei numatyta, o ankstesnė tvarkoje plati identity taisyklė gali ją visiškai nugalėti. Patikrinkite show nat detail ir sekcijų tvarką prieš manydami, kad jūsų taisyklė yra atitinkanti.

Sąsajos PAT taip pat reiškia, kad partneris mato ASA sąsajos adresą, kuris gali būti dar kartą išverstas aukščiau. Jei sutartis įvardija adresą, patvirtinkite jį nuo galo iki galo, o ne vienu šuoliu.

Įrodykite tinkama testavimo paskirties vieta

Naudokite patį partnerio hostą, o ne bendrą what-is-my-ip puslapį. Tas puslapis beveik neabejotinai yra už split sąrašo, todėl jis praneša jūsų vietinį interneto adresą ir nieko nesako apie šį kelią. Atidarykite naują ryšį su partnerio paslauga ir paklauskite, kokį šaltinį jie pastebėjo, arba paleiskite packet-tracer input outside tcp 10.77.0.10 12345 203.0.113.20 443 detailed ir skaitykite NAT bei maršrutizavimo etapus eilutę po eilutės. Traceroute iš kliento yra silpnesnė patikra, nes ji rodo kelią, kuris jau įvyko, o ne politiką, kuri jį pasirinko.

Tada patikrinkite, kas neturėtų keistis. Įprasta svetainė vis tiek turi išeiti per vietinę jungtį, o privatus išteklius tunelio sąraše vis tiek turi būti pasiekiamas. Pakeitimas, kuris sutvarko partnerį ir sugadina vieną iš šių dviejų, yra kita klaida.

Veikianti šio dizaino versija yra trumpa: vienas hostas split ACL, hairpin leidimas, viena paskirties vieta apribota PAT taisyklė. Visa kita istorijoje yra mitas.

Susiję straipsniai