VPN tuneli heç vaxt qoşulmur: paketlər əslində harada dayanır
Heç vaxt formalaşmayan tunel hər iki tərəfdə boş jurnal buraxır. GRE, ESP və ya UDP 4500-ün düşdüyünü izləyin və serveri redaktə etməzdən əvvəl operator NAT-ını müəyyən edin.
Müştəri yenidən cəhd etməyə davam edir, jurnal əl sıxma tamamlanmadan dayanır və server heç nə qeyd etmir. Bu obraz diqqəti etimad məlumatlarından uzağa, yolun özünə yönəldir: iki tərəf arasında nəsə tunelin ehtiyac duyduğu protokolu daşımaqdan imtina edir. Hər iki konfiqurasiyaya toxunmadan əvvəl paketlərin harada dayandığını müəyyənləşdirin, çünki filtrlənmiş protokol da yanlış parol da əksər müştərilərdə eyni mehriban xəta verir. Testlər məsrəfə görə sıralanıb, ən ucuz olan birinci.
Trafikin harada dayandığını sübut edin
Eyni anda müştərinin çıxış interfeysində və serverdə tutma edin. Nəyin getdiyini nəyin gəldiyi ilə müqayisə edin və fərqin hansı istiqamətdə göründüyünü qeyd edin.
Serverdə heç nə olmaması yolun və ya ilk NAT-ın trafiki atdığını bildirir; cavabsız gəlişlər isə serverdəki firewall və ya mövcud olmayan qayıdış marşrutunu göstərir. Tunelləri tez-tez sonlandıran marşrutlaşdırıcı çox vaxt faydalı jurnal saxlamır, ona görə də tutma qeydə çevrilir. Təyinat portunu və protokol nömrəsini yazın, çünki hər iki nasazlıq müştəri dialoqunda eyni görünür.
PPTP 47-ci protokol olmadan ölür
PPTP idarəetməni TCP 1723 üzərində, məlumatlarını isə GRE içində daşıyır; GRE port nömrəsi deyil, IP protokolu 47-dir. Yalnız 1723-ü yönləndirmək klassik nəticəni verir: bağlantı autentifikasiyadan keçir, sonra səssizləşir, çünki yükü daşıyan protokol üçün heç bir qayda yoxdur. Müştəri bunu rədd edilmiş paroldan ayıra bilmir, buna görə tutma konfiqurasiya düzəlişlərindən əvvəl gəlməlidir.
Keçirmə daxil olan yönləndirmənin əks istiqamətində işləyir və proqram təminatı çox vaxt hər ikisi üçün bir etiket istifadə edir, hamını çaşdırmağa kifayətdir. Linux müştərisində yerli firewall GRE-ni marşrutlaşdırıcı işə qarışmadan çox əvvəl ata bilər, ona görə 47-ci protokolun öz qaydası lazımdır və conntrack köməkçisi yüklənməlidir. Ubuntu-nun ufw-si bu qaydaları before faylında saxlayır, çünki adi icazə qaydaları protokol nömrəsini ifadə edə bilmir. Sonra maşını yenidən başlatmaq əvəzinə firewall-u yenidən yükləyin.
# /etc/ufw/before.rules, inside *filter
-A ufw-before-input -p gre -j ACCEPT
sudo ufw allow 1723/tcp
sudo modprobe nf_conntrack_pptp
sudo conntrack -L | grep greİki NAT arxasında L2TP və IPsec
L2TP IPsec içində açar mübadiləsi üçün UDP 500, NAT aşkar edildikdə UDP 4500 və protokol 50 kimi ESP tələb edir. Bunların hər biri ayrıca filtrlənir, ona görə birinə icazə verən qayda digər ikisi haqqında heç nə sübut etmir. Ardıcıl iki marşrutlaşdırıcı hər paketi iki dəfə çevirir və son nöqtələr nəyin razılaşdırıldığı barədə artıq razılaşmır.
Xarici modemi körpü rejiminə keçirin və ya daxili marşrutlaşdırıcıda NAT-ı söndürün ki, ictimai ünvan tuneli sonlandıran cihaza çatsın. Heç biri mümkün deyilsə, tunel ikiqat NAT sərhədinin içindən başladılmalıdır, orada sonlandırılmamalıdır.
Operator şəbəkələri və ünvan paylaşımı
WAN ünvanının 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 və ya 100.64.0.0/10 daxilində olması marşrutlaşdırıcının ictimai ünvanı olmadığını bildirir və internetdən heç bir daxil olan yönləndirmə ona çata bilməz. Operator səviyyəli NAT əlavə olaraq gözləmədiyi protokolları filtrləyir və GRE mobil xətlərdə tez-tez zərər çəkən olur. WAN ünvanını marşrutlaşdırıcının özündə müqayisə edin, arxasındakı müştəri üçün axtarış saytının bildirdiyi ünvanla deyil.
Eyni marşrutlaşdırıcını naqilli xəttdə işlətmək bir testdə operator tapıntısını konfiqurasiya xətasından ayırır. Operator protokolu rədd edirsə, qalan variantlar 443 üzərində başqa nəqliyyat və ya içəridən başladılan tuneldir.
Portları bağlamazdan əvvəl dinləyicilərin siyahısını oxuyun
Narahatlıq doğuran port skanı çox vaxt sadəcə aktiv gələn funksiya dəstidir. Dinləyiciləri inventarlaşdırın, hər soketi bir funksiyaya uyğunlaşdırın, sonra portu bloklamaq əvəzinə funksiyanı söndürün ki, iki görünüş bir-birindən uzaqlaşmasın.
ss -lntup
systemctl list-units --type=service --state=running | grep -i vpn
nc -vz 203.0.113.10 1723
nc -vzu 203.0.113.10 4500SoftEther-in standart parametrləri yaxşı nümunədir: TCP 443, 992 və 5555, L2TP/IPsec və DNS-tunel funksiyaları öz soketlərini əlavə edir. Həmin funksiyaları söndürmək dinləyiciləri gizlətmək əvəzinə silir və kənar hostdan edilən yoxlama operatorun portu ümumiyyətlə buraxıb-buraxmadığını göstərir. Yerli olaraq cavab verən dinləyici yuxarı axında yenə bağlı ola bilər, ona görə marşrutlaşdırıcının öz WAN ünvanını kənar xidmətin bildirdiyi ilə müqayisə edin.