ASA hairpin: výstup do internetu alebo vetva VPN medzi lokalitami?
Pula klientov môže odchádzať do internetu alebo do lokálnej VPN. Rozhodnite, ktorú vetvu potrebujete, ešte pred písaním NAT, potom skontrolujte trasu, selektor a spätnú cestu.
Dvaja používatelia vzdialeného prístupu za tým istým ASA môžu posielať prevádzku z toho istého vonkajšieho rozhrania a dostať úplne iné zaobchádzanie. Jeden ide na verejnú webovú lokalitu, takže paket potrebuje preklad zdroja a internetovú trasu. Druhý ide na server za tunelom medzi lokalitami, ktorý tiež končí na tomto rozhraní, takže paket potrebuje identitu, zodpovedajúci selektor tunela a spätnú cestu do klientskej pule. Povolenie pre to isté rozhranie je predpokladom pre obe a riešením pre ani jedno.
Dve vetvy, jedno rozhranie
Rozhodnite, ktorú vetvu staviate, skôr než napíšete pravidlo NAT, pretože pravidlá nie sú zameniteľné. Vetva A je klient do internetu: adresa z pule dnu, preložená verejná adresa von, späť tým istým rozhraním. Vetva B je klient k privátnemu prefixu na druhej strane iného IPsec partnera: adresa z pule zostáva zachovaná, znova sa šifruje a doručí partnerovi, ktorý musí vedieť, ako pule odpovedať.
To, čo obe najprv potrebujú, je povolenie pre to isté rozhranie. Bez neho ASA odmietne preposlať paket z rozhrania, na ktorom prišiel, a zlyhanie vyzerá ako problém smerovania, nie ako problém politiky:
same-security-traffic permit intra-interface
Ten jediný riadok povoľuje schému preposielania, ako opisuje referencia NAT pre ASA pre cesty tým istým rozhraním. Nepridáva trasu klienta, neautorizuje prostriedok, neprekladá adresu ani nevyjednáva selektor IPsec, preto po ňom očakávajte pridanie ďalších troch alebo štyroch vecí a nečítajte jeho prijatie ako pokrok.
Vetva A: klient chce internet
Pri výstupe do internetu musí adresa z pule prestať byť privátna skôr, než paket opustí zariadenie. V bežnom návrhu PAT pravidlo prekladá pulu na adresu vonkajšieho rozhrania a spätný stav obnovuje tok smerom ku klientovi:
object network VPN_POOL
subnet 10.80.0.0 255.255.255.0
nat (outside,outside) after-auto source dynamic VPN_POOL interface route-lookup
Potom potvrďte, že klient skutočne požiadal ASA, aby tento tok niesol. Vylúčenie z rozdeleného tunela posiela verejný cieľ cez vlastné pripojenie telefónu, ktoré sa k ASA vôbec nedostane, a žiadne pravidlo NAT neopraví paket, ktorý nebol nikdy odoslaný. Porovnajte zoznam rozdeleného tunela skupinovej politiky s cieľom, ktorý testujete.
Zvyšok vetvy je bežný: použiteľná predvolená alebo konkrétna trasa z vonkajšieho rozhrania, prístupová politika, ktorá tok povoľuje, a DNS spracované podľa zvolenej politiky resolvera. Pridajte route-lookup tu z rovnakého dôvodu ako nižšie, keďže vstupné a výstupné rozhranie sú totožné.
Vetva B: klient chce privátnu lokalitu
Táto vetva zlyháva na viacerých miestach, preto ju píšte po poriadku. Najprv trasa klienta: cieľový prefix musí byť v zozname rozdeleného tunela, inak ho klient do tunela neumiestni. Potom selektor tunela: krypto ACL medzi lokalitami musí pokrývať adresu pule až po vzdialený prefix, nielen lokálnu LAN po vzdialený prefix. Nakoniec identita, aby sa adresa pule cestou nepreložila do internetového PAT.
nat (outside,outside) source static VPN_POOL VPN_POOL
destination static SITE_PREFIX SITE_PREFIX route-lookup
Vzdialená strana je časť, ktorú ľudia zabúdajú testovať. Partner potrebuje trasu späť do pule a selektor, ktorý ju zahŕňa, a jeho vlastná politika musí povoliť zdrojové adresy, ktoré uvidí. Ak sa lokalita používa cez preložený pohľad, je to platný návrh, ale potom sa obaja partneri, oba selektory a obe smerovacie tabuľky musia zhodnúť na preložených adresách.
Skontrolujte aj poradie pravidiel. Široké pravidlo PAT nad pravidlom identity preloží privátnu výmenu skôr, než sa pravidlo identity vôbec vyhodnotí, a príznakom je tunel lokality bez zodpovedajúceho SA, nie chyba NAT.
Test, ktorý vám povie, ktorú vetvu ste postavili
Použite vlastné vyhodnotenie cesty na ASA namiesto čítania konfigurácie a dúfania. packet-tracer input outside tcp 10.80.0.25 40000 203.0.113.10 443 detailed ukazuje rozhodnutie NAT, trasu a výsledok ACL pre jeden tok; zopakujte to s privátnym cieľom. Ak fáza NAT prepisuje tok z privátneho do privátneho, postavili ste vetvu A pre paket, ktorý potreboval vetvu B.
Ďalšie dva príkazy uzatvárajú medzeru. show nat detail vypíše poradie pravidiel, ktoré packet-tracer sledoval, a show crypto ipsec sa ukáže, či pre očakávanú dvojicu existuje selektor. Chýbajúci SA je vec konfigurácie selektora alebo partnera, nie niečo, čo pravidlo NAT opraví.
Overte každú vetvu prevádzkou, ktorej slúži
Prijmite vetvu A bežnou verejnou požiadavkou klienta a vetvu B požiadavkou na privátny prostriedok, ktorý skutočne existuje. Potom každú zopakujte so zamietnutým prostriedkom, pretože „povolené“ a „schválené prístupovou politikou“ nie sú ten istý dôkaz, a ping vzniknutý v hube necvičí ani jednu klientsku cestu.
Držte oba záznamy testov v tikete oddelene: zdrojová adresa, cieľ, pravidlo NAT, ktoré sa zhodovalo, a výsledok. Keď nasledujúca správa povie „VPN je rozbitá“, táto dvojica vám do minúty povie, ktorá vetva sa zhoršila, a odpoveďou je zvyčajne trasa alebo selektor, nie riadok toho istého rozhrania, ktorý všetci podozrievajú ako prvý.