İki VPN klienti, iki publik ünvan: SNAT-ı uyğunlaşdırın
Mənbəyə görə SNAT publik ünvan seçə bilər, ancaq şlüz hələ də klientləri bir-birindən ayıra bildikcə. Qaydanı yazmazdan əvvəl qalan mənbəyi yoxlayın.
İki VPN klienti iki fərqli publik IPv4 ünvanından çıxa bilər və bunu edən qayda çoxlarının gözlədiyindən qısadır. Bunu işlədən şey iptables sintaksisi deyil, paketin çıxış zəncirinə çatanda malik olduğu vəziyyətdir: oradakı mənbə ünvanı hələ də klientləri bir-birindən ayıra bilməlidir. Əgər əvvəlki masquerade hər ikisini artıq bir ünvanda birləşdiribsə, heç bir klient-üzrə qayda bu fərqi bərpa edə bilməz. Əvvəlcə bu məsələni həll edin, sonra tərcüməni yazın.
Hansı şəxsiyyət şlüzə qədər qorunub qalır
Qayda paketin mənbə ünvanına uyğun gəlir, VPN istifadəçi adına və ya klient proqramının göstərdiyi ada deyil. Paketi yolda daha əvvəl çevirən hər şey qaydanızın hələ nə görə biləcəyini müəyyən edir. nat cədvəlini sıra ilə işə salın və mənbənin hələ də hər klient üçün ayrı olduğu nöqtəni tapın.
iptables -t nat -S POSTROUTING
Bu siyahını yuxarıdan oxuyun. Yuxarıya yaxın masquerade qaydası hər uyğun axın üçün mənbəni yenidən yazır və ondan sonra yerləşdirilən klient-üzrə girişlər artıq mövcud olmayan ünvana uyğun gəlir. İki LAN cihazı bir tuneli paylaşdıqda və tək daxili ünvan kimi gəldikdə, dizayn firewall-dan əvvəl dəyişməlidir: mənbə diapazonlarını ayrı saxlayın və ya hər birinə öz daxili ünvanını verin.
Daxili ünvanın təyinini autentifikasiya edilmiş klientə bağlayın. Həmin ünvanı başqa cihaza vermək onunla birlikdə çıxış siyasətini də ötürür və mənbə çevrilməsi tək başına şəxsiyyət sübutu deyil.
Çevirmə ünvan uydura bilməz
Hər publik ünvan bu çıxış nöqtəsinə təyin edilməli və ya oraya marşrutlaşdırılmalıdır və cavablar öz yolunu oraya geri tapmalıdır. Heç kimin geri marşrutlaşdırmadığı ünvandan trafik göndərən qayda uzaq tərəfdə atılır və ya onu heç vaxt istəməmiş hosta cavab verilir. Bulud provayderinin instansiyası adətən paket çıxmazdan əvvəl publik ünvanını şəxsi interfeys ünvanına çevirir, buna görə SNAT mənbəyi provayderin qəbul edəcəyi ünvan olmalıdır, konsolun göstərdiyi dəyər deyil. Provayderin ünvan modelini oxuyun və publik dəyəri hər paketə köçürmək əvəzinə ona əməl edin.
Təcrübədə bu, firewall-a toxunmazdan əvvəl provayder konsolunda marşrutlaşdırılmış prefiksi yoxlamaq və xəritələmə birə-bir olduqda şəxsi interfeys ünvanını çevirmə mənbəyi kimi istifadə etmək deməkdir. Aşağıdakı nümunələrdə istifadə olunan ünvanlar sənədləşdirmə diapazonlarından gəlir, buna görə də ilk dəyişdirilməli olan ünvan mətninin özüdür.
Ümumi masquerade-dən əvvəl daxil edin
Heç nə əlavə etməzdən əvvəl çıxış interfeysini və cari zənciri təsdiqləyin. Birincisi qaydanın hansı paketlərə uyğun gələ biləcəyini, ikincisi isə onun qarşısında artıq nəyin durduğunu göstərir.
ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers
Birinci əmr internetə gedən paketin həqiqətən hansı interfeysdən çıxdığını göstərir. İkincisi zənciri sətir nömrələri ilə çap edir. Ümumi masquerade girişi yuxarıda qalmalı olduğunuz sətirdir.
iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78
Yuxarıdakı iki qayda hər biri bir daxili ünvana uyğun gəlir, uyğunluğu çıxış interfeysi ilə məhdudlaşdırır və mənbəyi açıq şəkildə təyin edir. Əlavə etmək əvəzinə daxil edin: 1-ci mövqedə onlar masquerade sətrindən əvvəl qiymətləndirilir. İkisi arasındakı sıra vacib deyil, çünki mənbələri fərqlidir. ens3 dəyərini marşrut əmrinin bildirdiyi ilə əvəz edin və digər firewall menecerlərini eyni qarmaqlardan uzaq saxlayın, çünki iki alətin bir cədvəl yazması düzgün qaydanın təsirsiz qalmasının adi səbəbidir.
Mənbəyi yeni axınla sübut edin
Vəziyyətli NAT axın başlayanda çevrilməni bağlayır və sonrakı paketlər üçün onu təkrar istifadə edir, buna görə dəyişiklikdən əvvəl açılmış sessiya dəyişiklikdən sonra köhnə mənbəyini saxlayır. Yalnız yeni başladılmış bağlantı qaydanı sübut edir.
conntrack -L -s 10.88.4.20 -p tcp --dport 443
Həmin girişin cavab istiqamətini oxuyun: təyinatı uzaq son nöqtənin mənbə kimi gördüyü ünvandır. Onu nəzərdə tutduğunuz publik ünvanla müqayisə edin və köhnə ünvanı daşıyan girişi pozulmuş qayda deyil, çox erkən başlamış axının sübutu kimi qəbul edin. Klientdən yeni bağlantı açmağı xahiş edin, sonra sorğunu təkrarlayın. Testi məcbur etmək üçün bütün izləmə cədvəlini boşaltmaq şlüzdəki hər digər sessiyanı kəsir.
Çevirmə hələ də marşrutu seçmir, axını filtrdən keçirmir və daxil olan xidməti yayımlamır. Səhv marşrut və çatışmayan icazə qaydası mükəmməl SNAT qaydasından sonra da uğursuzluğa davam edir. IPv6-nı və hər hansı ikinci dərəcəli çıxış yolunu da yoxlayın, sonra daxili-publik cütlərini firewall sənədləşdirməsində qeyd edin ki, növbəti dəyişiklik qayda mətnindən deyil, xəritələmədən başlasın.