ASA VPN hairpin: enkursigi du tunelojn tra unu interfaco
La trafiko de fora uzanto povas eliri la saman ASA-interfacon per kiu ĝi alvenis, sed hairpin-permeso, tunela amplekso, NAT kaj ACL-oj estas kvar apartaj decidoj.
Fora uzanto konektiĝas al la ASA, petas gastigan komputilon malantaŭ filio, kaj la ASA sendas tiun peton el la sama interfaco per kiu la uzanto alvenis. Nenio pri tio postulas duan fizikan pordon. Kion ĝi postulas, estas kvar sendependaj decidoj, kiujn homoj emas kunfandi en unu: permeso fari hairpin, tunelo kiu protektas la ĝustajn adresojn, NAT-politiko kiu konservas la fonton, kiun vi promesis, kaj alirpolitiko kiu rajtigas la servon.
Unu paketo, du tuneloj
Sekvu la fluon kaj la ordo de operacioj ĉesas esti mistera. La paketo alvenas ene de la fora alirtunelo, estas malĉifrita kaj fariĝas ordinara IP-paketo kun fonto el la klienta baseno. La ASA tiam enkursigas ĝin, komparas ĝin kun la crypto ACL de loko al loko, ĉifras ĝin denove kaj sendas ĝin el la ekstera interfaco al la filio.
La subaj adresoj estas ilustraj, sed la formo gravas: la fonto estas la baseno, ne la interna LAN de la 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.10Du aferoj sekvas. La kliento bezonas itineron por la filia prefikso tra sia fora alirkonekto, kio signifas ke la split-tunnel aŭ la puŝita itinlisto devas inkluzivi ĝin. Kaj la filio devas scii kiel resendi trafikon al 10.77.0.20 aŭ al tiu adreso, kiun anstataŭigis via NAT-dezajno.
Hairpin-permeso estas tutmonda
La komando al kiu homoj sin turnas estas same-security-traffic permit intra-interface. Ĝi permesas al trafiko eniri kaj eliri la saman interfacon, kio estas ĝuste tio, kion ĉi tiu vojo bezonas. Ĝi ankaŭ estas tutmonda agordo: ebligi ĝin ŝanĝas la konduton de aliaj fluoj, kiuj hazarde trapasas la saman interfacon dufoje.
Tial ĝi apartenas al ŝanĝprotokolo, ne al sencimiga sesio. Demandu, kio alia sur la aparato povus nun preni vojon tra la sama interfaco, kaj ĉu io el tio devus. Sur okupata rando kun gastaj retoj aŭ interkovrantaj partnertuneloj, la respondo ne estas aŭtomate ne. Skribu la kialon apud la agordo, ĉar la sekva inĝeniero trovos la komandon kaj ne la konversacion.
Protekta amplekso kaj NAT estas apartaj
La tunelo de loko al loko protektas tion, kion elektas ĝia crypto ACL. Se tiu ACL nomas la internan subreton de la ASA kiel fonton, la fora albaseno ne estas protektita kaj la paketo aŭ estos forĵetita aŭ sendita malkaŝe, laŭ la konduto de la platformo por neparecaj trafikoj. Aldonu la basenon al la protektita fluo kiam la dezajno konservas basenajn adresojn.
Poste NAT decidas ĉu la basena adreso pluvivas. Identity NAT konservas ĝin, kaj la filio vidas 10.77.0.20 kiel fonton. Traduko ŝanĝas la kontrakton: la filio nun resendas trafikon al la tradukita adreso, kaj ĝia propra politiko devas akcepti tion. La ordo de reguloj decidas ĉu la crypto ACL kongruas antaŭ aŭ post traduko, do legu la efektivan fluon anstataŭ supozi, kiu venkas.
Ne forigu la ĝeneralajn interretajn PAT-regulojn por ke unu traira kazo funkciu. Celita escepto aŭ intenca identity-regulo estas pli facile klarigebla kaj malfarebla ol truo en la elira politiko.
Ĉifrado ne estas rajtigo
Funkcianta tunelo pruvas nur, ke du partneroj konsentas pri ŝlosiloj kaj selektiloj. Ĝi diras nenion pri tio, ĉu ĉi tiu uzanto rajtas atingi tiun servon. La VPN-filtro aŭ grupa politiko ligita al la fora alirkonekto ankoraŭ devas permesi la filian celon kaj pordon, kaj la interfaca ACL sur la ekstera vojo ankoraŭ validas.
Testu la respondon en ambaŭ direktoj. Konekto, kiu sukcesas dum najbara servo devus malsukcesi, estas pli informa ol unu sukcesa ping, ĉar ĝi montras ke la politiko estas selektema kaj ne larĝe malfermita. Se la malpermesita testo sukcesas, la tunelo ne kulpas; la politiko kulpas. Konservu ambaŭ rezultojn en la ŝanĝprotokolo, por ke la sekva persono sciu, kiu konduto estis intencita.
Hairpin aŭ dua interfaco
Hairpin-trairo tenas la dezajnon malgranda kaj kostas unu tutmondan agordon. Aparta interfaco, aŭ itinbazita tunelo kun propra virtuala interfaco, izolas la trairan vojon kaj donas al vi politikon por ĉiu interfaco, kontraŭ la kosto de adresado kaj plia crypto map aŭ profilo. Neniu estas pli ĝusta; ili malsukcesas malsame.
Itinbazitaj dezajnoj estas alia aranĝo, ne markobutono en la sama agordo. Se vi transiras al tia, la supra diskuto pri politikbazita crypto ACL ĉesas validi kaj la enkursiga tabelo komencas fari la elekton.
Kontrolu el la reala kliento
Provo lanĉita de la ASA havas alian fontadreson kaj ne trairos la vojon de la baseno al la filio. Uzu packet-tracer por kontroli la kvinopon, poste malfermu realan konekton el la fakta fora kliento, ĉar la spurilo simuladas kaj ne anstataŭas la propran enkursigadon kaj politikon de la kliento.
Post planita ŝanĝo, konektiĝu al servo, kiu devus funkcii, poste al unu, kiu devus esti rifuzita, kaj poste konfirmu la revenan itineron de la filio. La la ekzemploj de Cisco pri VPN hairpin NAT tenas intra-interface-permeson, NAT kaj ACL-ojn videble apartaj, kaj tio estas la pensmodelo inda je kopiado.