Loglarda P_CONTROL_HARD_RESET_CLIENT_V2: bu xəta deyilmi?
Hard-reset opkodu sessiya açır, nasazlıq deyil. Sizi həqiqətən dayandıran sertifikat, etimad məlumatı və ya marşrut xətasını tapmaq üçün oxuyun.
Sətir hər neçə saniyədən bir təkrarlanır və hər şeyin səbəbi kimi görünür: heç bir yerə çatmayan klientdən gələn control hard reset adlı paket. Bu xəta deyil. Bu, yeni sessiyanın ilk mesajıdır və təkrarlanma daha sonra uğursuz olan başqa bir şeyin simptomudur. Etiketin dediyi ilə bağlantının sonra nə etdiyini ayırmaq bütün diaqnozdur.
Opkod protokolda bir mövqeyi adlandırır
OpenVPN bir soket üzərində bir neçə paket növünü multipleks edir və opkod qəbulediciyə hansı növü tutduğunu bildirir. Hard-reset paketləri sessiya açır, idarəetmə paketləri əl sıxma materialını daşıyır, təsdiqlər qəbulu təsdiqləyir və data paketləri tunel yükünü daşıyır. Birinci baytı oxumaq paketin bu mübadilədə hansı yerə aid olduğunu göstərir və yuxarı mənbədəki paket tərifləri hər ailəni açıq şəkildə adlandırır.
Bu, onun dediyi hər şeydir. İlkin klient sıfırlaması kimi işarələnmiş paket, paketin müşahidə nöqtənizə çatdığını və qarşı tərəfin sessiya başlatmaq istədiyini sübut edir. Klientin sertifikatınıza güvəndiyini, etimad məlumatlarının qəbul edildiyini və ya data kanalının heç vaxt yararlı olduğunu sübut etmir.
V2 şəkilçisi həmin paket ailəsi üçün protokol nəsil markeridir, məhsul versiyası deyil və quraşdırdığınız parametr deyil. Addakı heç nə tunelin sıfırlanmasına, xidmətin yenidən başladılmasına və ya keşin təmizlənməsinə aid deyil.
Klient həmin anda əslində nə edir
Klient sessiya identifikatoru açır və hər iki tərəf sonrakı idarəetmə trafikini ona bağlayacaq. İdarəetmə kanalı qorunması konfiqurasiya edildikdə, o ilk paket artıq HMAC daşıyır və qəbulediciyə mübadilənin qalan hissəsinə səy sərf edib-etməyəcəyini qərar verməyə imkan verir. Onu yoxlaya bilməyən qəbuledici paketi səssizcə atır, buna görə də səhv paylaşılan açar boşluğa danışan klient kimi görünür.
Hələ istifadəçiyə görünən heç nə olmayıb. Heç bir sertifikat yoxlanmayıb, heç bir istifadəçi adı təklif edilməyib və heç bir tunel ünvanı təyin edilməyib. Sıfırlama əl sıxmanın girişidir, ona görə də bu məqamda bağlantı haqqında hər hansı mühakimə vaxtsızdır.
Boş yenidən qoşulma dövrəsi üçün maraqlı detal intervaldır. İrəliləmədən sabit dövrlə yenidən cəhd edən klient adətən irəliləyə bilməzdən əvvəl rədd edilir və səbəb paketin adında deyil, qarşı tərəfin logundadır.
Sıfırlamadan sonra əsl nasazlıq harada gizlənir
İki logu yan-yana oxuyun və sıfırlama olmayan ilk hadisəni tapın. Klientdə sertifikat yoxlamasının uğursuzluğu konkret səbəblə bildirilir: vaxtı keçmiş sertifikat, ad uyğunsuzluğu və ya naməlum verən. Serverdə etimad məlumatının rəddi öz səbəbi ilə autentifikasiya uğursuzluğu kimi bildirilir. Hər ikisi serverin yeni cəhdlərə dair təkrarlanan baxışından qat-qat konkretdir.
Hər logu ayrıca oxumaq əvəzinə bir cəhdi vaxt damğası ilə uyğunlaşdırın, çünki eyni uğursuzluq hər iki yerdə fərqli ifadə və fərqli ciddiliklə görünür. Təslim olan qarşı tərəf adətən səbəbi bildirir.
Heç bir tərəf rədd bildirmirsə və mübadilə yenə də dayanırsa, sərhəd güvən deyil, əlçatanlıqdır. Qayıdış istiqamətini atan firewall, xəritələməni vaxtı bitirən şəbəkə ünvanı çevirmə cihazı və ya daha böyük əl sıxma paketlərini öldürən MTU problemi hamısı heç bir autentifikasiya xətası olmadan dayanan mübadilə yaradır.
grep -nE 'VERIFY|AUTH_FAILED|TLS Error|SIGUSR1' /var/log/openvpn*.log
Bu axtarış tək başına diaqnoz deyil, amma sizi bir addımda protokol lüğətindən əsl nasazlıq sinfinə keçirir.
Niyə yoxlamanı söndürmək səhv refleksdir
Sıfırlama görünməyə davam edəndə ən sürətli görünən düzəliş sertifikat yoxlamasını söndürmək və ya nəyinsə qoşulması üçün idarəetmə kanalı qorunmasından imtina etməkdir. Bu, diaqnoz qoyula bilən uğursuzluğu diaqnoz qoyula bilməyən biri ilə dəyişir və yerləşdirməni rədd etmək üçün qurulduğu qarşı tərəfləri qəbul edən vəziyyətdə qoyur.
Əvəzində əsl uğursuz olan sərhədi dəyişin. Güvən problemi sertifikat orqanına və ona istinad edən profilə aiddir. Vaxt problemi saata aiddir. Etimad məlumatı problemi onu rədd edən autentifikasiya backendinə aiddir və əlçatmaz qarşı tərəf iki host arasındakı yola aiddir.
Opkod dəstək söhbətində bir şey üçün faydalıdır: qarşı tərəfin cəhd edəcək qədər irəlilədiyini bildirir. Bundan sonra nə olduğunu bilmək lazımdır və bu, ilk konkret rəddi qeyd edən logda yazılıb. Oradan başlayın və sıfırlama sətri səbəb kimi görünməyi dayandırıb vaxt damğası kimi görünməyə başlayır.