OpenVPN keepalive, yoxsa systemd restart: hansı bərpa edir?
Səssiz qarşı tərəf, ölmüş proses və yararsız tətbiq üç fərqli nasazlıqdır. keepalive-ı OpenVPN-ə, prosesi systemd-yə verin və hər halı ayrıca sınayın.
Bir tuneldə üç fərqli şey səhv gedə bilər və onlar üç fərqli reaksiya tələb edir. Qarşı tərəf cavab verməyi dayandırır, demon prosesi ölür ya da tunelin arxasındakı tətbiq xidmət göstərməyi dayandırır. Bunlardan hər hansı birində xidməti yenidən başladan konfiqurasiya diqqətli nəzarət deyil; o, əlaqəsiz nasazlıqlara tətbiq edilən bir kobud hərəkətdir. Hər mexanizmin həqiqətən nəyi görə bildiyini müqayisə etmək iş bölgüsünü aydın edir.
Bir kimi görünən üç nasazlıq
Qarşı tərəfin səssizliyi o deməkdir ki, o biri ucu göndərməyi dayandırıb və OpenVPN bunu özü aşkar edə bilər, çünki ürək döyüntüsünə sahibdir. Prosesin ölümü o deməkdir ki, demon çıxıb; bunu xidmət meneceri görür, OpenVPN isə görə bilmir. Tətbiqin nasazlığı o deməkdir ki, tunel qaydasındadır, arxasındakı bir şey isə deyil və digər iki mexanizmin heç birinin bundan xəbəri ola bilməz. Hər biri fərqli reaksiya tələb edir və heç biri tunelin işlədiyini görməklə eyni şey deyil.
Bunlar müxtəlif qatların fərqli siqnallarıdır və hər birinin təxmin etmədən hərəkət edə bilən sahibi var. Onları qarışdırmaq, yoza bilmədiyi simptomlara görə yenidən başladan bir sistem yaradır.
Hər hansı taymeri dəyişməzdən əvvəl üç halı yazın. Siyahının özü adətən bir mexanizmdən hər üçünü örtməyin istənildiyini göstərir.
keepalive əslində nəyə genişlənir
keepalive direktivi qısa işarədir və genişlənmə rejimə görə fərqlənir. Serverdə keepalive 10 60 hər on saniyədə bir yerli pingə, 120 saniyəlik yerli yenidən başlatma fasiləsinə və müştərilərə ötürülən 10 və 60 dəyərlərinə çevrilir. Serverin fasiləsi qəsdən ikiqat artırılır ki, müştəri server əl çəkməzdən əvvəl yenidən başlamaq imkanı əldə etsin. Profildəki qısa işarəni deyil, işləyən konfiqurasiyadakı genişlənmiş formanı oxuyun.
Bu ikiqat artım, hər iki ucun altmış saniyədən sonra yenidən başladığını iddia edən hər hansı təsvirin niyə səhv olduğunu izah edir. O, həm də yol pisləşəndə iki ucun niyə birgə yellənmədiyini izah edir.
Ürək döyüntüsü OpenVPN-in qarşı tərəf trafiki, hansısa açıq hosta edilən ICMP yoxlaması deyil. Cavab yalnız tunelin uzaq ucunun canlı olduğunu sübut edir. İstifadəçinin həqiqətən ehtiyac duyduğu verilənlər bazası və ya veb xidməti barədə heç nə demir.
Restart=on-failure nəyə nəzarət etmir
Hər hansı əvəzləmə əlavə etməzdən əvvəl quraşdırılmış vahidi oxuyun. Restart=on-failure sənədləşdirilmiş proses nasazlığı şərtlərinə cavab verir, bu isə bağlantı vəziyyətinə nəzarət etməklə eyni deyil. Daxili yenidən qoşulma başladığı üçün işə düşmür və təmiz çıxışın dağılmadan fərqli mənası var.
Bu fərq vacibdir, çünki daxili yenidən başlatma eyni prosesi canlı saxlayır. Vahid heç nə görmür, tunel özü bərpa olur və düzgün nəticə budur.
RestartSec və başlama limitlərini qəsdən qurun, əks halda dağılma dövrəsi şlüzü ağır vuracaq və əsl xətanı yenidən başlatma mesajları altında basdıracaq. İşə düşən yenidən başlatma limiti vahidi uğursuz qoyur, bu görünəndir, limitsiz dövrə isə deyil.
ping-restart və ping-exit bir-birini əvəz etmir
ping-restart OpenVPN-in daxili yenidən başlatmasını işə salır və prosesi saxlayır. ping-exit eyni növ fasilədə prosesi bitirir, bu da qərarı xidmət menecerinə verir. Onlar bir-birini istisna edir və ikincini seçmək bərpanın kimə aid olduğunu dəyişir. Fərq kimin yenidən cəhd etməyə qərar verməsində və cəhddən nə qədər vəziyyətin sağ çıxmasındadır.
Fasilə bitəndə çıxışı seçsəniz, vahidə uyğun yenidən başlatma siyasəti və çıxış statusunun idarəsi lazımdır, əks halda canlılıq nasazlığı daimi dayanma kimi görünür. Davamlılıq seçimləri interfeysləri və marşrutları daxili yenidən başlatma boyunca qoruya bilər, amma proses çıxışı boyunca qoruya bilməz.
Hər yerləşdirmə üçün bir həyat dövrü seçin və səbəbini yazın. Hər iki direktivi daşıyan profil qərar verməmiş profildir.
Hər nasazlığı öz halı kimi sınayın
Təsdiqlənmiş pəncərədə səssiz qarşı tərəfi, öldürülmüş demonu və əlçatmaz tətbiqi simulyasiya edin, sonra hansı bərpanın işə düşdüyünü yoxlayın. Səssiz qarşı tərəf daxili yenidən qoşulma, öldürülmüş proses vahidin yenidən başlaması, tətbiq kəsintisi isə bunların heç birini verməlidir. İki hal eyni hərəkəti verəndə sahiblik hələ qarışıqdır.
Təkrar bərpa da təmir deyil. Rədd edilmiş etimadnamələr və ya eyni effektiv adı paylaşan iki müştəri bir-birini dəyişməyə davam edəcək və daha sürətli taymerlər o yellənməni yalnız sürətləndirir.