ASA hairpin: internet çıxışı, yoxsa saytlararası VPN ayağı?
Müştəri hovuzu internetə və ya sayt VPN-inə çıxa bilər. NAT yazmazdan əvvəl hansı ayağın lazım olduğunu qərarlaşdırın, sonra marşrutu, selektoru və cavab yolunu yoxlayın.
Eyni ASA arxasındakı iki uzaqdan giriş istifadəçisi trafiki eyni xarici interfeysdən göndərə və tamamilə fərqli rəftar görə bilər. Biri ictimai veb-sayta gedir, ona görə paketə mənbə tərcüməsi və internet marşrutu lazımdır. Digəri həmin interfeysdə bitən saytlararası tunelin arxasındakı serverə gedir, ona görə paketə identiklik, uyğun tunel selektoru və müştəri hovuzuna cavab yolu lazımdır. Eyni interfeys icazəsi hər ikisi üçün ilkin şərtdir və heç biri üçün həll deyil.
İki ayaq, bir interfeys
NAT qaydası yazmazdan əvvəl hansı ayağı qurduğunuzu qərarlaşdırın, çünki qaydalar bir-birini əvəz etmir. A ayağı müştəridən internetədir: hovuz ünvanı içəri, tərcümə olunmuş ictimai ünvan çıxarı, eyni interfeysdən geri. B ayağı müştəridən başqa bir IPsec peer-in qarşı tərəfindəki özəl prefiksədir: hovuz ünvanı qorunur, yenidən şifrələnir və hovuza necə cavab verməyi bilməli olan peer-ə çatdırılır.
Hər ikisinə ilk növbədə eyni interfeys icazəsi lazımdır. O olmadan ASA paketi gəldiyi interfeysdən çıxarmaqdan imtina edir və nasazlıq siyasət problemi deyil, marşrut problemi kimi görünür:
same-security-traffic permit intra-interface
Bu bir sətir yönləndirmə quruluşuna icazə verir, necə ki ASA NAT arayışı eyni interfeys yolları üçün təsvir edir. O, müştəri marşrutu əlavə etmir, resursa icazə vermir, ünvan tərcümə etmir və IPsec selektoru üzərində razılaşmır, ona görə ondan sonra daha üç-dörd şey əlavə etməyi gözləyin və onun qəbulunu tərəqqi kimi oxumayın.
A ayağı: müştəri internet istəyir
İnternet çıxışı üçün hovuz ünvanı paket cihazdan çıxmazdan əvvəl özəl olmaqdan çıxmalıdır. Adi PAT dizaynında qayda hovuzu xarici interfeys ünvanına tərcümə edir və geri qayıdış vəziyyəti müştəri tərəfli axını bərpa edir:
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
Sonra müştərinin həqiqətən ASA-dan bu trafiki daşımağı istədiyini təsdiqləyin. Split-tunel istisnası ictimai təyinatı telefonun öz bağlantısı ilə göndərir, bu da ASA-ya heç vaxt çatmır və heç bir NAT qaydası heç göndərilməmiş paketi düzəltmir. Qrup siyasətinin split-tunel siyahısını sınaqdan keçirdiyiniz təyinatla müqayisə edin.
Ayağın qalanı adidir: xarici interfeysdən istifadə oluna bilən default və ya konkret marşrut, axına icazə verən giriş siyasəti və seçdiyiniz resolver siyasətinə uyğun idarə olunan DNS. Burada route-lookup aşağıdakı səbəblə əlavə edin, çünki giriş və çıxış interfeysi eynidir.
B ayağı: müştəri özəl sayt istəyir
Bu ayaq daha çox yerdə sıradan çıxır, ona görə onu ardıcıllıqla yazın. Birinci müştəri marşrutu: təyinat prefiksi split-tunel siyahısında olmalıdır, əks halda müştəri onu tunelə qoymaz. İkinci tunel selektoru: saytlararası kripto ACL hovuz ünvanından uzaq prefiksə qədər əhatə etməlidir, təkcə yerli LAN-dan uzaq prefiksə qədər deyil. Üçüncü identiklik, ki hovuz ünvanı yolda internet PAT-a tərcümə olunmasın.
nat (outside,outside) source static VPN_POOL VPN_POOL
destination static SITE_PREFIX SITE_PREFIX route-lookup
Qarşı tərəf insanların sınamağı unutduğu hissədir. Peer-ə hovuza geri marşrut və onu əhatə edən selektor lazımdır, və onun öz siyasəti görəcəyi mənbə ünvanlarına icazə verməlidir. Əgər sayt əvəzində tərcümə olunmuş görünüşlə istifadə olunursa, bu etibarlı dizayndır, amma onda hər iki peer, hər iki selektor və hər iki marşrut cədvəli tərcümə olunmuş ünvanlar barədə razılaşmalıdır.
Qayda sırasını da yoxlayın. İdentiklik qaydasının üstündə geniş PAT qaydası özəl mübadiləni identiklik qaydası qiymətləndirilməmişdən əvvəl tərcümə edəcək və simptom NAT xətası deyil, uyğun SA-sı olmayan sayt tuneli olacaq.
Hansı ayağı qurduğunuzu deyən sınaq
Konfiqurasiyanı oxuyub ümid etmək əvəzinə ASA-nın öz yol qiymətləndirməsindən istifadə edin. packet-tracer input outside tcp 10.80.0.25 40000 203.0.113.10 443 detailed bir axın üçün NAT qərarını, marşrutu və ACL nəticəsini göstərir; özəl təyinatla təkrarlayın. Əgər NAT mərhələsi özəldən-özələ axını yenidən yazırsa, B ayağı lazım olan paket üçün A ayağını qurmusunuz.
Daha iki əmr boşluğu bağlayır. show nat detail packet-tracer-in izlədiyi qayda sırasını çap edir, və show crypto ipsec sa gözlədiyiniz cüt üçün selektorun olub-olmadığını göstərir. Çatışmayan SA selektor və ya peer konfiqurasiyası məsələsidir, NAT qaydasının düzəldə biləcəyi bir şey deyil.
Hər ayağı xidmət etdiyi trafiklə yoxlayın
A ayağını müştəridən adi ictimai sorğu ilə, B ayağını isə həqiqətən mövcud olan özəl resursa sorğu ilə qəbul edin. Sonra hər birini rədd edilən resursla təkrarlayın, çünki “icazə verilib” və “giriş siyasəti ilə icazə verilib” eyni sübut deyil və hub-dan başlayan ping müştəri yollarından heç birini sınaqdan keçirmir.
İki sınaq qeydini biletdə ayrı saxlayın: mənbə ünvanı, təyinat, uyğun gələn NAT qaydası və nəticə. Növbəti hesabat “VPN pozulub” deyəndə, bu cüt bir dəqiqə içində hansı ayağın gerilədiyini sizə deyir və cavab adətən hamının ilk şübhələndiyi eyni interfeys sətri deyil, marşrut və ya selektor olur.