ASA VPN hairpin: dviejų tunelių maršrutizavimas per vieną sąsają
Nuotolinio naudotojo srautas gali išeiti per tą pačią ASA sąsają, per kurią atėjo, tačiau hairpin leidimas, tunelio apimtis, NAT ir ACL yra keturi atskiri sprendimai.
Nuotolinis naudotojas prisijungia prie ASA, prašo mazgo už filialo, ir ASA siunčia tą užklausą per tą pačią sąsają, per kurią atėjo naudotojas. Nieko to nereikalauja antro fizinio prievado. Ko reikia, tai keturių nepriklausomų sprendimų, kuriuos žmonės linkę sujungti į vieną: leidimo daryti hairpin, tunelio, apsaugančio tinkamus adresus, NAT politikos, išsaugančios pažadėtą šaltinį, ir prieigos politikos, įgaliojančios paslaugą.
Vienas paketas, du tuneliai
Sekite srautą ir operacijų tvarka nustoja būti paslaptinga. Paketas atvyksta nuotolinės prieigos tuneliu, iššifruojamas ir tampa įprastu IP paketu, kurio šaltinis yra klientų telkinys. Tada ASA jį maršrutizuoja, sugretina su svetainės su svetaine crypto ACL, vėl užšifruoja ir siunčia per išorinę sąsają link filialo.
Toliau pateikti adresai yra iliustraciniai, bet forma svarbi: šaltinis yra telkinys, o ne ASA vidinis LAN.
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.10Iš to kyla du dalykai. Klientui reikia maršruto į filialo prefiksą per savo nuotolinės prieigos ryšį, o tai reiškia, kad split-tunnel arba siunčiamas maršrutų sąrašas turi jį apimti. O filialas turi žinoti, kaip grąžinti srautą į 10.77.0.20 arba į adresą, kurį pakeitė jūsų NAT dizainas.
Hairpin leidimas yra globalus
Komanda, į kurią žmonės griebiasi, yra same-security-traffic permit intra-interface. Ji leidžia srautui įeiti ir išeiti per tą pačią sąsają, o būtent to šiam keliui ir reikia. Tai taip pat globalus nustatymas: jį įjungus pasikeičia kitų srautų, kurie netyčia du kartus kerta tą pačią sąsają, elgsena.
Todėl jis priklauso pakeitimų įrašui, o ne derinimo sesijai. Paklauskite, kas dar įrenginyje dabar gali rinktis tos pačios sąsajos kelią ir ar kai kas nors to turėtų. Užimtame krašte su svečių tinklais ar persidengiančiais partnerių tuneliais atsakymas nėra automatiškai ne. Parašykite priežastį šalia nustatymo, nes kitas inžinierius ras komandą, o ne pokalbį.
Apsaugos apimtis ir NAT yra atskiri
Svetainės su svetaine tunelis apsaugo tai, ką pasirenka jo crypto ACL. Jei tas ACL nurodo ASA vidinį potinklį kaip šaltinį, nuotolinės prieigos telkinys neapsaugotas ir paketas bus arba atmestas, arba išsiųstas atviru tekstu, priklausomai nuo platformos elgsenos su nesutampančiu srautu. Pridėkite telkinį prie apsaugoto srauto, kai dizainas išsaugo telkinio adresus.
Tada NAT nusprendžia, ar telkinio adresas išliks. Identity NAT jį išsaugo, ir filialas mato 10.77.0.20 kaip šaltinį. Vertimas pakeičia sutartį: filialas dabar grąžina srautą į išverstą adresą, o jo paties politika turi tai priimti. Taisyklių tvarka nusprendžia, ar crypto ACL sutampa prieš vertimą, ar po jo, todėl skaitykite faktinį srautą, o ne spėkite, kuri laimi.
Netrinkite bendrųjų interneto PAT taisyklių, kad veiktų vienas tranzito atvejis. Tikslinė išimtis ar sąmoninga identity taisyklė yra lengviau paaiškinama ir atšaukiama nei skylė išėjimo politikoje.
Šifravimas nėra įgaliojimas
Veikiantis tunelis įrodo tik tai, kad du partneriai sutaria dėl raktų ir selektorių. Jis nieko nesako apie tai, ar šis naudotojas gali pasiekti tą paslaugą. Prie nuotolinės prieigos ryšio prijungtas VPN filtras ar grupės politika vis tiek turi leisti filialo paskirties vietą ir prievadą, o išorinio kelio sąsajos ACL vis dar galioja.
Išbandykite atsakymą abiem kryptimis. Ryšys, kuris pavyksta, kai kaimyninė paslauga turėtų nepavykti, yra informatyvesnis už vieną sėkmingą ping, nes parodo, kad politika yra atrankinė, o ne plačiai atverta. Jei draudžiamas testas pavyksta, kaltas ne tunelis, o politika. Išsaugokite abu rezultatus pakeitimų įraše, kad kitas žmogus žinotų, kokia elgsena buvo numatyta.
Hairpin ar antra sąsaja
Hairpin tranzitas išlaiko dizainą mažą ir kainuoja vieną globalų nustatymą. Atskira sąsaja ar maršrutu pagrįstas tunelis su savo virtualia sąsaja izoliuoja tranzito kelią ir suteikia politiką kiekvienai sąsajai, už adresavimo ir dar vieno crypto map ar profilio kainą. Nė vienas nėra teisingesnis; jie nepavyksta skirtingai.
Maršrutu pagrįsti dizainai yra kitoks išdėstymas, o ne varnelė toje pačioje konfigūracijoje. Jei pereinate prie tokio, aukščiau pateikta diskusija apie politika pagrįstą crypto ACL nustoja galioti ir maršrutų lentelė pradeda atlikti pasirinkimo darbą.
Tikrinkite iš tikro kliento
Iš ASA paleista zondas turi kitą šaltinio adresą ir nepraeis kelio nuo telkinio iki filialo. Naudokite packet-tracer penketukui patikrinti, tada atidarykite tikrą ryšį iš faktinio nuotolinio kliento, nes sekiklis imituoja ir nepakeičia paties kliento maršrutizavimo ir politikos.
Po planuoto pakeitimo prisijunkite prie paslaugos, kuri turėtų veikti, paskui prie tos, kuri turėtų būti atmesta, ir tada patvirtinkite filialo grįžimo maršrutą. Cisco VPN hairpin NAT pavyzdžiai matomai atskiria intra-interface leidimą, NAT ir ACL, ir tai yra mąstymo modelis, kurį verta kopijuoti.