Nəzarətsiz VPN server yeniləmələri sınanmış bərpa yolu tələb edir
Yeniləmə serverə çatmaq üçün istifadə etdiyiniz xidmətin özünü yenidən başlada bilər. Avtomatlaşdırmadan əvvəl zolaq xarici konsolu yalnız tunelə əsaslanan bərpa planı ilə müqayisə edin.
Nəzarətsiz yeniləmələr öz VPN-i üzərindən çatdığınız server üçün ağlabatan siyasətdir və eyni zamanda özünüzün yaratdığı tək uğursuzluq nöqtəsidir. Paket əməliyyatı xidməti yenidən başladır, tunel düşür və istifadə etdiyiniz inzibati yol onunla birlikdə yox olur. İki bərpa modeli var və onlar arasındakı seçim bir şərtdən asılıdır: yenilənən şeydən keçməyən giriş yolunuz olub-olmadığı.
İki bərpa modeli, bir həlledici şərt
Birinci model yeniləməyə güvənir və sonradan yenidən qoşula biləcəyinizi fərz edir. Bu, VPN hosta çatmağın bir neçə yolundan biri olduqda və tunelin uğursuzluğu onu diaqnostika etmək qabiliyyətinizi aradan qaldırmadıqda işləyir. İkinci model əvvəlcədən müstəqil bir yol yerləşdirir, adətən hostinq provayderinin konsolunu, və tunelə texniki xidmətin ən çox poza biləcəyi şey kimi baxır. Hər iki model müdafiə oluna bilər və yalnız biri əvvəlcədən iş tələb edir.
Həlledici şərti demək asandır və onu atlamaq da asandır. Maşına gedən hər inzibati yol yenilənən xidmətdən keçirsə, heç bir bərpa modeliniz yoxdur, sadəcə bir gözləntiniz var. Bunu dəyişiklik baxışında ucadan deyin.
Bu şərti yoxlamaq on dəqiqə çəkir və ilk nəzarətsiz yeniləmədən əvvəl baş verməlidir, hadisə zamanı deyil. Hər şey işləyərkən konsolu açın, etimad məlumatlarının qüvvədə olduğunu təsdiqləyin və yenidən bağlayın. Konsolun düşündüyünüz hosta açıldığını təsdiqləyin. Sonra gecə saat 3-də həqiqətən istifadə edəcəyiniz girişin hələ də işlədiyini təsdiqləyin.
Bu son hissə göründüyündən daha vacibdir. Şifrəsi altı ay əvvəl dəyişdirilib heç vaxt yoxlanmamış konsol hesabı bərpa yolu deyil; o, bərpa yolunu təsvir edən sənəddir.
Yedəkləmənin bərpa etmədiyi şeylər
Konfiqurasiya arxivi faylların qeydidir və yeniləmə fayllardan çoxunu dəyişir. Paket vəziyyəti, nüvə modulları, aktivləşdirilmiş unit keçidləri və ayrı bir alətlə tətbiq edilmiş firewall qaydaları konfiqurasiya qovluğundan kənarda yaşayır və onları nəzərə almayan bərpa, konfiqurasiya edilmiş görünən və yönləndirməyən bir maşın yaradır.
| What changed | Restored by a configuration backup | Needs its own action |
|---|---|---|
| Service unit or startup ordering | Partly, if the unit file was included | Package state and enabled links |
| Kernel module or interface support | No | Kernel or module rollback, or a boot-time decision |
| Peer or device authorization | Only if the backup predates the revocation | A deliberate decision about which peers return |
| Firewall rules applied outside the config | Only if they were captured | Replaying and verifying each rule |
Avtorizasiya ayrı bir sətirə layiqdir. Zədələnmiş cihaz silinməzdən əvvəl götürülmüş yedək həmin cihazın girişini məmnuniyyətlə bərpa edər. Kəsinti zamanı ona geri qayıtmaq bir hadisənin iki hadisəyə çevrilmə üsuludur və bərpa qərarı fayllar barədə olduğu qədər açıq şəkildə peer-lər barədə də verilməlidir.
Geri qayıtma mexanizmi də vacibdir. Köhnə icra faylını paketlə idarə olunan faylın üzərinə köçürmək paket dəyişikliyinin dəstəklənən geri çevrilməsi deyil və paket verilənlər bazasını fayl sistemi ilə uyğun gəlməyən vəziyyət təsvir edən vəziyyətdə qoyur. Paket menecerinin öz aşağı salma yolunu və ya provayderin təklif etdiyi snapshotu istifadə edin. Paket verilənlər bazasının qeyd etdiyi aşağı salma təkrar edə biləcəyiniz birdir.
Bunların heç biri yedəkləməyə qarşı deyil. Bu, hər artefaktın hansı qatı əhatə etdiyini bilməyin tərəfini tutur, çünki qismən bərpanın uğursuzluq rejimi ilkin kəsintidən daha çaşdırıcıdır. Runbook-da hər yedəyin yanına qatı yazın.
Keçid nöqtəsi, yeniləmə, sonra kənardan yoxlama
Dəyişiklikdən əvvəlki vəziyyəti sonradan müqayisə edə biləcəyiniz formada qeyd edin: quraşdırılmış versiyalar, aid olan xidmət unit-ləri, dinləyən soketlər və cari peer siyahısı. Linux hostunda dörd əmr bunun çoxunu əhatə edir.
systemctl list-units --type=service | grep -E 'openvpn|wg-quick'
ss -lunp | grep -E ':51820|:1194'
journalctl -u wg-quick@wg0 --since '-10 min'
Birincisi hansı unit-lərin mövcud olduğunu və işləyib-işləmədiyini göstərir, ikincisi dinləyicinin həqiqətən bağlandığını təsdiqləyir, üçüncüsü isə xidmətin son bir neçə dəqiqə barədə öz hesabatını verir. Onların heç biri müştərinin qoşula biləcəyini sübut etmir, buna görə növbəti addım hostdan kənarda baş verir. Bu oxunuşları müqayisə bazanız kimi saxlayın.
Tuneldən istifadə etməyən bir şəbəkədən yoxlayın: bir icazəli müştərini autentifikasiya edin, bir adı həll edin və bir nəzərdə tutulan tətbiqə çatın. İnterfeysin qalxdığını söyləyən yerli status sətri interfeys barədə bəyanatdır, marşrutlaşdırma, açarlar və ya peer-i qəbul edən siyasət barədə deyil.
Sonra yenidən qoşulma yolunu qəsdən sınayın. Xidməti bir dəfə yenidən başladın və tunelin əl müdaxiləsi olmadan geri qayıtdığını təsdiqləyin, çünki yalnız açılışda düzgün başlayan xidmət sizi ən pis anda təəccübləndirəcək bir xidmətdir.
Uğursuz olduqda, sınadığınız yoldan istifadə edin
Bərpa ardıcıllığı izzətsizdir və işləyir: hosta müstəqil yoldan çatın, xidmətin öz jurnallarını oxuyun və uğursuzluğa uyğun gələn konkret keçid nöqtəsini bərpa edin. Hər cəhddə bir şeyi dəyişin ki, növbəti jurnal oxunuşu bir məna kəsb etsin.
Bağlantını geri qaytarmaq üçün bir neçə qeydə alınmamış dəyişiklik etmək istəyinə müqavimət göstərin. Beş eyni vaxtlı düzəlişlə təmir edilmiş maşın sonradan izah edilə bilməz və növbəti yeniləmə onlardan hansının həqiqətən yük daşıdığını yenidən ortaya çıxaracaq.
Sonra daimi siyasəti dəlillərlə qərarlaşdırın. Yeniləmə heç kimin sənədləşdirmədiyi bir asılılığı üzə çıxarıbsa, düzəliş sənədləşmə və testdir, yeniləmələri söndürmək deyil. Təmiz yenidən başlaya bilməyən bir xidməti üzə çıxarıbsa, düzəliş unit-dədir, cədvəldə deyil.
Şərt adlandırıldıqdan sonra müqayisə təmiz həll olunur. Müstəqil yol nəzarətsiz yeniləmələri idarə oluna bilən riskə çevirir. Onun olmaması eyni siyasəti naməlum bərpa vaxtı olan planlı kəsintiyə çevirir və heç bir avtomatlaşdırma miqdarı bu hesabı dəyişmir.