L2TP/IPsec nə üçün IPsec ilə yanaşı UDP 1701-ə də ehtiyac duyur
L2TP birincinin içində gedən ikinci protokoldur, buna görə son nöqtə dekapuslyasiyadan sonra UDP 1701-i yenə də çatdırmalıdır, heç bir aralıq qurğu onu görməsə belə.
IKE və ESP-yə icazə verib UDP 1701-ə icazə verməyən firewall-lar L2TP bağlantılarını sanki etimad məlumatı problemi kimi görünən şəkildə pozur. Səbəb odur ki, L2TP birincinin içində hərəkət edən ikinci protokoldur. IPsec mübadiləni daşıyır və təsdiqləyir, L2TP isə UDP 1701 üzərində öz tunelini işlədir və yerli yığın onu yenə də çatdırmalıdır. Hər başlığın harada göründüyünü bilmək hansı cihazın hansı qaydaya ehtiyacı olduğunu izah edir.
İki protokol, iki port dəsti
L2TP/IPsec bağlantısı UDP 500 üzərində IKE, tərcümə olan yerdə UDP 4500 üzərində NAT keçidi və olmayan yerdə IP protokolu 50 kimi ESP istifadə edir. L2TP özü UDP 1701 üzərində tunel protokoludur və IPsec qarşı tərəfi təsdiqlədikdən sonra işləyir. İki yarı fərqli şəkildə sıradan çıxır və onlar haqqında hesabat verən jurnal sətirləri fərqli komponentlərdən gəlir. Yalnız birinci yarısını əhatə edən qayda dəsti danışıqlar aparan və sonra tunel mərhələsində ölən bağlantı yaradır.
Port nömrələri nəqliyyat son nöqtələrini təsvir edir, ESP isə heç port deyil. Buna görə yalnız TCP və UDP qaydaları təqdim edən firewall interfeysi tam IPsec siyasətini ifadə edə bilməz. Protokol 50-yə protokol kimi icazə verilməlidir və yalnız UDP-ni qeyd edən qayda heç vaxt ona uyğun gəlməyəcək.
Qapaq portu izah edir
Şəbəkədə L2TP/IPsec bağlantısı adətən 500 üzərində IKE və 4500 üzərində qablaşdırılmış ESP göstərir. UDP 1701 başlığı qorunan yükün içində oturur, buna görə xarici interfeysdə tutulan paket onu göstərmir. Yerli host həmin datagramı L2TP demonuna yenə də çatdırmalıdır və çatdırılma dekapuslyasiyadan sonra baş verir. Buna görə 1701 qaydası son nöqtənin öz firewall-una aiddir, heç bir aralıq qurğu bu portu görməsə belə.
Emal sırası çaşqınlığın çoxunu izah edir. Əgər yığın IPsec siyasətini host filtrindən əvvəl tətbiq edirsə, dekapuslyasiya olunmuş L2TP paketi UDP 1701 kimi uyğunlaşdırılır; sıra tərsdirsə, qayda dəstinin gördüyü xarici portlardır. Hər iki davranış praktikada mövcuddur, buna görə eyni qayda dəsti bir platformada işləyir, digərində sıradan çıxır.
Yolu sıra ilə yoxlayın
Əvvəlcə xarici interfeysdə paket tutun və IKE ilə qablaşdırılmış ESP-nin hər iki istiqamətdə hərəkət etdiyini təsdiqləyin. Sonra dekapuslyasiya olunmuş trafik üçün yerli firewall sayğaclarına baxın. Sıra vacibdir, çünki heç nə göstərməyən paket tutma problemin host-un yuxarı axınında olduğunu bildirir.
sudo tcpdump -ni eth0 'udp port 500 or udp port 4500'
sudo nft list ruleset | grep -i -A2 1701
sudo ss -lunp | grep 1701
Paket tutma mübadilənin birinci yarısını təsdiqləyir və qarşı tərəfin cavab verib-vermədiyini göstərir. Qayda siyahısı 1701 qaydasının olub-olmadığını və hər hansı atma siyasətinə nisbətən harada durduğunu göstərir. Soket siyahısı L2TP demonunun bağlandığını və dinlədiyini təsdiqləyir, heç vaxt başlamamış xidməti istisna edir. Qaydayı dəyişməzdən əvvəl üçünü də oxuyun, çünki itkin dinləyici və filtrlənmiş port istifadəçidən eyni şikayəti doğurur.
Port skanının göstərə bilmədiyi şey
Düzgün konfiqurasiya edilmiş serverə qarşı UDP 1701-in xarici skanı adətən heç nə bildirmir və bu gözlənilən nəticədir. Port internetə açıq deyil; ona yalnız IPsec qarşı tərəfi təsdiqlədikdən sonra çatmaq olur. Bağlı nəticəni nasazlıq kimi qəbul etmək bağlı qalmalı olan portun açılmasına gətirib çıxarır. Skan tunelin içini görə bilmədiyi kimi tətbiq trafikini də görə bilmir.
Əvəzində real klientlə sınaqdan keçirin və çatdığı mərhələni oxuyun. Bağlantı danışıqlar aparıb sonra dayanırsa, şübhəli L2TP demonu və ya yerli filtrdir; heç danışıqlar aparmırsa, xarici portlardır. Bu tək bölgü hansı qaydanın əlavə olunacağı ilə bağlı təxminlərin çoxunu aradan qaldırır və protokol qatları bunu sirr deyil, proqnozlaşdırıla bilən edir.