Ubuntu yeniləməsi L2TP/IPsec-i pozdu? IKEv1 təkliflərini müqayisə edin
Profil və parol dəyişmədi, amma 1-ci faza indi uğursuz olur. Müştərinin qəbul etdiyi təkliflər dəyişdi, server isə həmişə təklif etdiyini təklif etməyə davam edir.
Bağlantı cümə axşamı işləyirdi, yeniləmə cümə günü keçirildi, bazar ertəsi isə müştəri “connecting” vəziyyətində fırlanıb əl çəkir. Eyni noutbuk, eyni server, eyni hesab, eyni əvvəlcədən paylaşılan açar. Profildə heç nə redaktə olunmayıb, buna görə də aşkar şübhəlilər, parol və firewall, vaxtınızı boşa xərcləyir.
Dəyişən şey maşınınızın təklif etməyə hazır olduğu transformasiyalar siyahısıdır. Ubuntu-da istifadə olunan hər iki IPsec steki, strongSwan və Libreswan, artıq təhlükəsiz saymadıqları alqoritmləri kənarlaşdırır, onların önündə duran NetworkManager plaqini isə fərqli cədvəllə hərəkət edən öz siyahısına malikdir. 3DES, SHA1 və 1024 bitlik Diffie-Hellman qrupuna bərkidilmiş server qəbul etdiyi heç nəyi eşitməyə bilər.
Yeniləmə əslində nəyi dəyişdi
IKEv1 təklifini iki qat qidalandırır. Daemon kompilyasiyaya daxil edilmiş standart təklif dəsti göndərir, L2TP plaqini isə ya ona güvənir, ya da öz siyahısını verir. NetworkManager-l2tp 1.2.16-dan əvvəl plagin güvənirdi, ona görə təklifiniz quraşdırılmış daemonun məqbul saydığı şey idi. 1.2.16-dan etibarən plagin Windows və Apple müştərilərindən modellənmiş sənədləşdirilmiş siyahı göndərir və bu siyahı köhnə standartdan genişdir, lakin növbənin önündəki hər köhnə kombinasiyanı artıq ehtiva etmir.
Bu ayrılıq insanların qarışıq hesab etdiyi uğursuzluq modelini izah edir: eyni Ubuntu buraxılışındakı iki maşın fərqli davrana bilər, çünki birində distribusiya paketi, digərində backport var, halbuki hər ikisindəki daemon versiyası xəta hesabatında eyni görünür. Yeniləmənin əlaqəli heç nəyi dəyişmədiyi qənaətinə gəlməzdən əvvəl plagin versiyasını yoxlayın, təkcə daemon versiyasını deyil.
Həmin sahədə daha kiçik bir tələ var. İki daemon elliptik əyri Diffie-Hellman qruplarını fərqli yazır, biri ecp384, digəri ecp_384 yazır. Səhv yazılışı Advanced dialoquna yapışdırın və daemon parametri təhlil olunmaz kimi rədd edir, bu da jurnalda konfiqurasiya səhvi kimi deyil, razılaşma problemi kimi görünür.
Nəyisə dəyişməzdən əvvəl uğursuzluğu oxuyun
Hansı backend işlətdiyinizdən başlayın, çünki cavab həm sintaksisi, həm də jurnalın yerini müəyyən edir.
ipsec --version
nmcli connection show "Your VPN name" | grep -i ipsec
Sonra mübadilənin özünü oxuyun. strongSwan-da daemon cari buraxılışda jurnala, daha köhnə buraxılışda /var/log/syslog-a yazır və maraqlı hissə son sətir deyil, göndərdiyi təklifdir. Uyğun təklifin olmaması barədə ifadə axtarırsınız, bu alqoritm problemidir; autentifikasiya uğursuzluğu açarı və ya hesabı göstərir; adi timeout isə əlçatanlığı göstərir.
Bu üç nəticə çox vaxt bir simptom kimi qəbul edilir. Boş daemon jurnalı ilə timeout paketlərin gəlmədiyini bildirir. Təklifin rədd edilməsi onların gəldiyini və imtina olunduğunu bildirir. Jurnalınız səssizdirsə, plaginin debug səviyyəsini bir cəhd üçün qaldırın, sonra aşağı salın, çünki ətraflı çıxış jurnalı tez doldurur.
1-ci faza və 2-ci faza ayrı mərclərdir
IKEv1 iki dəfə razılaşır. Əsas rejim IKE təhlükəsizlik assosiasiyasını şifrələmə alqoritmi, bütövlük alqoritmi, Diffie-Hellman qrupu və autentifikasiya üsulundan qurur. Sürətli rejim isə L2TP daşıyacaq ESP assosiasiyasını qurur. Server birincini qəbul edib ikincini rədd etməkdə sərbəstdir, ona görə yarım-düzgün profil gözlədiyinizdən gec uğursuz olur və fərqli xəta kimi görünür.
Phase 1: 3des-sha1-modp1024!
Phase 2: 3des-sha1!
Nida işarəsi strongSwan sintaksisində ciddi giriş deməkdir: yalnız bu kombinasiyanı təklif et, başqa heç nə. O olmadan giriş ehtiyat siyahısına qoşulur, bu qarşı tərəf müasir olduqda yaxşıdır, tək sərt kodlanmış siyasəti olan cihaz olduqda isə ziyanlıdır. Yuxarıdakı cütü formanın illüstrasiyası kimi qəbul edin, bugün qurduğunuz hər hansı şey üçün tövsiyə kimi deyil.
Bir sahəni dəyişin, sonra testi təkrarlayın
Cari plagində ən sürətli ilk test hər iki təklif sahəsini tamamilə təmizləyib yenidən qoşulmaqdır, çünki göndərilən standart siyahı artıq ümumi Windows və Apple kombinasiyalarını əhatə edir. Köhnə plagində onları təmizləmək nəzarəti serverinizin təkid etdiyi alqoritmi atlamış ola biləcək daemona qaytarır və uğursuzluq daha da pisləşir.
Təmizləmə kömək etmirsə, serverinizin sənədləşdirdiyi ciddi cütü bir-bir faza quraraq təyin edin. 1-ci fazanı dəyişin, yenidən qoşulun və 2-ci fazaya toxunmazdan əvvəl jurnalı oxuyun. Kombinasiya nəhayət işləyəndə onu server modelinin və plagin versiyasının yanına yazın, çünki standartlar yenidən dəyişəcək və məhz o qeyd növbəti yeniləməni beş dəqiqəlik yoxlamaya çevirir.