Linux VPN müştərisini köhnə cihazın protokoluna uyğunlaşdırın
Cihazın elan etdiyi portları oxuyun, sonra uyğun müştərini quraşdırın: GRE üzərində pppd, IKEv1 XAuth üçün strongSwan və ya portal üçün openconnect.
Dörd protokol ailəsi hələ də rəfdə duran demək olar hər cihazı əhatə edir və hər biri Linux-da fərqli şəkildə uğursuz olur. Uzaq tərəfin elan etdiyi portlar və konfiqurasiya olunmuş təkliflər paketinizi müəyyən edir, təsadüfən işlətdiyiniz distribusiya deyil. Forum yazısında nə deyilirsə onu quraşdırıb nə isə qoşulana qədər redaktə etmək — günortanın beləcə yox olmasıdır. Əvvəlcə cihazı oxuyun, ikinci quraşdırın, üçüncü yoxlayın.
Uzaq tərəfin elan etdiklərini qeyd edin
Paket menecerini açmazdan əvvəl cihazın gözlədiyi protokolu, portları və autentifikasiyanı yazın. Dörd ailə köhnə avadanlığın çoxunu əhatə edir və aşağıdakı cədvəl bütün qərarı bir ekranda verir.
| Family | Ports | Linux side |
|---|---|---|
| PPTP | TCP 1723 plus GRE, IP protocol 47 | pppd with a peer file |
| L2TP/IPsec | UDP 500, 4500, 1701 | NetworkManager plugin over strongSwan |
| IKEv1 aggressive with XAuth | UDP 500 | native strongSwan connection |
| AnyConnect-style portal | TCP 443 | openconnect with a TUN device |
Təlimat və cihazın öz firewall qaydaları onun giriş səhifəsindəki protokol adından daha etibarlıdır. IPsec elan edən cihaz yalnız IKEv1 danışa bilər və heç kimin tətbiq etmədiyi bir firmware buraxılışı IKEv2-ni sonradan əlavə edən şey ola bilər. Həm quraşdırma portunu, həm də məlumat yolunu təsdiqləyin, çünki köhnə avadanlıqla müasir şəbəkələr məhz burada ayrılır. Bu addımı səhv etmək, müştərinizi qarşı tərəfin heç vaxt sahib olmadığı funksiyaya qarşı sazlamaq deməkdir.
PPTP: pppd-ni redaktə etməzdən əvvəl GRE-ni sübut edin
Linux-da PPTP başlatdığınız demon deyil, pppd çağırışıdır və bağlantı parametrləri pppd-nin çağırıldıqda oxuduğu adlı peer faylında yaşayır. Distribusiyalar onu hələ də paketləyir, baxmayaraq ki protokolun məlum zəiflikləri onu həssas hər şey üçün yararsız edir, ona görə də onu yalnız başqa heç nə təklif etməyən cihaz üçün saxlayın. Müştəri danışıqlar apararkən GRE-ni izləyin, təxmin yerinə qısa tutma ilə. Ən çox vaxt itirən uğursuzluq autentifikasiya deyil, itkin məlumat yoludur.
pppd call branch-office
tcpdump -ni any proto gre -c 5
Quraşdırma tamamlanır və keçid heç vaxt trafik daşımırsa, etimad məlumatlarına toxunmazdan əvvəl GRE yolundan şübhələnin. Bulud təhlükəsizlik qrupları 47 protokolu üçün açıq qayda tələb edir və bəzi şəbəkələr onu görünən xəta olmadan tamamilə bloklayır. Həqiqətən istifadə edəcəyiniz şəbəkədən sınaqdan keçirin, hər şeyə icazə verən laboratoriyadan deyil.
L2TP/IPsec: bir uyğun təklif on cəhddən yaxşıdır
Masaüstü dialoqu deyil, demon jurnalını oxuyun, çünki dialoq bir neçə fərqli uğursuzluğu bir mesajda birləşdirir. NO_PROPOSAL_CHOSEN xətası birinci fazaya aiddir: müştəri serverin qəbul etməyəcəyi şifrələmə, heş və ya Diffie-Hellman qrupu təklif edib. Cihazın nəyi dəstəklədiyini sadalayın və ona uyğun bir təklif yazın, çünki təsadüfi birləşmələr çox vaxt eyni xətanı daha yavaş verir. Masaüstündə praktik müştəri strongSwan və ya Libreswan üzərində işləyən NetworkManager L2TP plaginidir.
Masaüstü plagini üçün bir məna daşıyan təklif sətri işi ötürdüyü demon üçün başqa məna daşıya bilər, ona görə sintaksisi redaktə etdiyiniz qat üçün uyğun saxlayın. Cihaz əlavə olaraq tunel sirri tələb edirsə, bu IPsec açarından ayrı mərhələdir. İçinə nə isə yazmazdan əvvəl interfeysin hansını soruşduğunu təsdiqləyin.
XAuth ilə aqressiv IKEv1 və portal halı
FortiGate tipli son nöqtə adətən XAuth ilə aqressiv rejim və konfiqurasiya olunmuş rejim ünvanı istəyir, hansı ki qrafik plagin bunu ümumiyyətlə göstərməyə bilər. Doğma demon bunu idarə edir və aşağıdakı blok tam fayl deyil, həmin konfiqurasiyanın formasıdır. Təklif dəyərləri üçün satıcının cari sənədlərinə baxın.
conn branch
keyexchange=ikev1
aggressive=yes
leftauth=psk
leftauth2=xauth
leftsourceip=%config
right=203.0.113.10
Köhnə strongSwan buraxılışları xauth=client işlədirdi, halbuki 5 versiyası leftauth2=xauth işlədir, ona görə kopyalanmış fraqment yalnız sintaksisə görə uğursuz ola bilər. TLS portalı üçün AnyConnect protokolunu danışan openconnect Cisco və əksər yenidən markalanmış məhsulları idarə edir və ona TUN cihazı və onu konfiqurasiya etmək üçün imtiyazlar lazımdır. Portal ünvanını brauzerin göstərdiyi kimi, cihazın gözlədiyi hər hansı yolu da daxil etməklə ötürün, sonra arxasındakı heç nəyi sınaqdan keçirməzdən əvvəl təyin edilmiş ünvanı yoxlayın. İnterfeysi əvvəlcədən yaratmaq quraşdırma zamanı bir növ sürprizi aradan qaldırır.
sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com
Qoşulun, sonra sabit ardıcıllıqla yoxlayın
Eyni anda yalnız bir VPN meneceri işlədin, çünki NetworkManager profili və əl ilə başladılmış demon marşrutlar və DNS üzərində çəkişəcək. Əl ilə bağlantını sınaqdan keçirməzdən əvvəl profili aşağı salın və köhnə tunel interfeysinin qalmadığını təsdiqləyin. Sonra bu ardıcıllıqla yoxlayın: tunel ünvanı, ehtiyacınız olan tək daxili hosta marşrut, ad həlli və nəhayət real sorğu. Yaşıl ikon yalnız autentifikasiyanı sübut edir, başqa heç nəyi.
ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal
Bir addım uğursuz olarsa, növbətini sınaqdan keçirmək yerinə orada dayanın, çünki qırılmış marşrutun aşağı axınındakı DNS uğursuzluğu sizə heç nə öyrətmir. Təcrübə etməzdən əvvəl işləyən profilin surətini saxlayın, çünki silinmiş bağlantı faylı asan itir və bərpası yorucudur. Təklif dəyərlərini cihaz modeli və firmware versiyası ilə eyni qeyddə saxlayın, çünki qutu dəyişdirildikdə həmin qeyd miqrasiya ilə arxeologiya layihəsi arasındakı fərqdir.