Saatlıq OpenVPN kəsilməsi: yenidən razılaşma, yoxsa əsl yenidən qoşulma?
Şübhəli dərəcədə dəyirmi intervalda baş verən kəsilmə adətən açar yenilənməsidir, ölü bağlantı deyil. Nəyisə söndürməzdən əvvəl faktiki taymeri və jurnal sətrini oxuyun.
Altmış dəqiqə, ya otuz, ya yüz iyirmi: dəyirmi intervala düşən kəsilmə demək olar ki, heç vaxt şəbəkə deyil. OpenVPN məlumat kanalını qoruyan açar materialını taymerlə yeniləyir və güman etdiyinizdən qısa taymer davamlı sıradan çıxan bağlantı kimi görünür. İstifadəçilər qırılmış bağlantı barədə məlumat verir, jurnal isə uğurlu açar mübadiləsini bildirir. Aşağıdakı təlimat həmin yenilənməni əsl yenidən başlatmadan ayırır, faktiki qüvvədə olan dəyəri oxuyur və onu yalnız qiymət ortaya qoyulduqdan sonra dəyişir.
Addımları ardıcıllıqla yerinə yetirin, çünki birincisi səhifənin qalan hissəsinin sizə ümumiyyətlə aid olub-olmadığını müəyyən edir. İrəliyə keçsəniz, ona heç bir aidiyyəti olmayan nasazlıq üçün taymeri tənzimləməklə bir axşam keçirəcəksiniz.
Yumşaq sıfırlamanı yenidən başlatmadan ayırd edin
Jurnal sətri bütün diaqnozdur. Yenidən razılaşma yumşaq sıfırlama, sonra eyni tunelin içində təzə açar mübadiləsi yazır: interfeys öz ünvanını saxlayır, marşrutlar yenidən əlavə olunmur və qurulmuş TCP sessiyaları adətən fasilə ilə sağ qalır. Əsl yenidən başlatma sessiyanı qırır, interfeysi yenidən qurur, bəlkə də fərqli müştəri ünvanı verir və bütün uzunömürlü bağlantıları öldürür. Hər iki hadisə adidir; onlardan yalnız biri kəsilmiş zəngi izah edir.
journalctl -u openvpn-client@office -b --no-pager | grep -nE 'soft reset|Connection reset|reneg|TLS Error'
openvpn --version | head -n 1
Versiya sətri vacibdir, çünki jurnal ifadələri buraxılışlar arasında dəyişir və 2.3-dən xatırladığınız mesaj 2.6-da başqa cür ifadə oluna bilər. Başqasının forum qeydindən deyil, öz jurnalınızı oxuyun. Kömək istəyəndə dəqiq sətri sitat gətirin, çünki təkrar danışıq hadisəni tanıdan detala xələl gətirir. Hadisə boyu interfeys ünvanı dəyişməyibsə və sessiya siyahısı sağ qalıbsa, qarşınızda yenilənmə var və qalan bölmələr tətbiq olunur.
Faktiki taymeri oxuyun, faylınızı yox
reneg-sec məlumat kanalının yenidən razılaşmaları arasındakı saniyə sayıdır və standart dəyəri 3600-dür. Hər tərəf öz dəyərini daşıyır və ikisindən kiçiyi yenilənməni faktiki tetikləyən olur. Bu tək qayda hesabatların çoxunu izah edir: böyük rəqəm təyin edən müştəri profili, server standart dəyəri saxladıqca yenə də saatlıq sıfırlanır.
grep -Rn --include='*.conf' -E 'reneg-sec|reneg-bytes' /etc/openvpn
# server side, including included files
grep -Rn -E '^reneg-sec' /etc/openvpn/server/
Müştəri faylından nəticə çıxarmazdan əvvəl serverin faktiki konfiqurasiyasını da, itələdiyi hər şey daxil olmaqla, oxuyun. Sonra detallılığı artırın və bir intervalı başdan sona izləyin: səviyyə 3 artıq yenidən razılaşma sətirlərini göstərir və zaman nişanları hadisənin hər 3600 saniyədə təkrarlandığını, yoxsa aktivliyi izlədiyini bildirir.
Onu faktiki itələndiyi yerdə dəyişin
Dolaşan dərman müştəri profilində bir sətirdir və təxminən yarı vaxt səhv yerdir. Aşağı tərəf dəyəri qalib gəldiyi üçün taymeri sıfıra qoyan müştəri dəyişməmiş server tərəfindən yenə də yenidən razılaşdırıla bilər.
# on both ends, or on the side that owns the pushed configuration
reneg-sec 0
Profillər mərkəzləşdirilmiş şəkildə yaradılırsa, yayımlanmış kopyanı deyil, şablonu redaktə edin, əks halda növbəti təminat işə salınması indicə sildiyiniz dəyəri bərpa edəcək. Bir deyil, iki intervala baxaraq yoxlayın: bir sakit saat 7200-ə qoyulmuş taymerlə də uyğundur.
Qarışıq yerləşdirmədə nə olacağına da qərar verin. Dəyişikliyi əvvəl müştərilərə yaymaq, serverin hələ də yenilənməni tetiklədiyi bir pəncərə buraxır; bu zərərsizdir, lakin təsdiq üçün jurnalları izləyirsinizsə çaşdırıcıdır. Əvvəlcə kiçik dəyəri daşıyan tərəfi dəyişin və simptom gözlədiyiniz nöqtədə yox olacaq.
Yenidən razılaşmanı söndürməklə nədən imtina edirsiniz
Müntəzəm yenidən razılaşma bir açar dəstinin trafiki nə qədər müddət qoruduğunu məhdudlaşdırır. Taymeri söndürmək tuneli qırmır və ev marşrutlaşdırıcısında və ya kiçik ofis şlüzündə praktik məruz qalma təvazökardır. Bu yenə də bir mübadilədir və onu etməzdən əvvəl mübadiləni dilə gətirməyə dəyər. Dəyişən, bir açar dəstinin sessiyanı nə qədər qoruduğudur, tunelin ümumiyyətlə işləyib-işləmədiyi deyil.
Onu söndürməyin ağlabatan halı, davam etdirilə bilməyən bir şeyi qıran sıfırlamadır: düşən zəng, yenidən qurulmalı olan uzaq masaüstü sessiyası, əvvəldən başlayan ehtiyat nüsxə. Fasilə istifadəçilər üçün görünməzdirsə, standart dəyəri saxlamaq heç bir şeyə başa gəlmir və sizə verilən açar rotasiyasını saxlayır.
Naxış imkan verdikdə səbəbi düzəltməyi üstün tutun. İlk əl sıxışması uğurlu olduğu halda yarıda uğursuz olan yenilənmə taymerə deyil, yola işarə edir: daha böyük idarəetmə kanalı mübadiləsində paket ölçüsü problemini, axını atan vəziyyətli firewall-u və ya yalnız ilk cəhddə uğur qazanan təklifi axtarın. Bunların hər biri indicə oxuduğunuz jurnalda iz buraxır. Taymeri söndürmək bu dəlili gizlədir.
İnterval başqa yerə işarə etdikdə
Konfiqurasiyada iki qonşu oxşar simptomlar və fərqli düzəlişlər yaradır. ping-restart müəyyən edilmiş müddət ərzində heç nə gəlmədikdə tuneli yenidən başladır, ping-exit isə müştəriyi tamamilə söndürür. Jurnalda heç bir yenidən razılaşma olmadan baş verən boşdayanma kəsilməsi bunlara və ya UDP xəritəsini öz cədvəlinə uyğun olaraq vaxtı bitirən NAT cihazına aiddir.
İstehlakçı marşrutlaşdırıcıları, mobil hotspotlar və operator səviyyəli NAT hamısı boşdayanmış UDP sessiyalarının müddətini heç kimə xəbər vermədən bitirir. Bu nasazlıq saatı deyil, boşdayanmanı izləyir və əlamət də budur: on sakit dəqiqədən sonra düşən və bir saat sabit trafikə tab gətirən sessiya yenidən razılaşmır.
Dördüncünü dəyişməzdən əvvəl üç şeyi yazın: ölçdüyünüz intervalı, tapdığınız faktiki dəyəri və onu göstərən əmri. Taymer hərəkət etdikdə interval da hərəkət edirsə, mexanizm müəyyən edilib və düzəliş yuxarıdakı mübadilə ilə bağlı qərardır. Əgər hərəkət etmirsə, ayarı geri qaytarın və keepalive, NAT vəziyyəti və paket itkisini izləməyə davam edin.