Tiga perkara berbeza boleh berlaku dengan terowong, dan ketiganya memerlukan tiga tindak balas berbeza. Rakan sejawat berhenti menjawab, proses daemon mati, atau aplikasi di belakang terowong berhenti melayan. Konfigurasi yang memulakan semula perkhidmatan pada mana-mana satu daripadanya bukan pengawasan yang teliti; ia satu tindakan kasar yang dikenakan pada kegagalan yang tidak berkaitan. Membandingkan apa yang benar-benar boleh diperhatikan oleh setiap mekanisme menjadikan pembahagian kerja jelas.

Tiga kegagalan yang kelihatan seperti satu

Diamnya rakan sejawat bermaksud hujung lain berhenti menghantar, dan OpenVPN boleh mengesannya sendiri kerana ia memiliki denyutan jantung. Kematian proses bermaksud daemon telah keluar, yang diperhatikan oleh pengurus perkhidmatan dan tidak dapat dilakukan oleh OpenVPN. Kegagalan aplikasi bermaksud terowong itu baik dan sesuatu di belakangnya tidak, dan tiada satu pun daripada dua mekanisme lain mempunyai cara untuk mengetahuinya. Setiap satu memerlukan tindak balas berbeza, dan tiada satu pun sama dengan menyedari bahawa terowong itu hidup.

Ini isyarat berbeza daripada lapisan berbeza, dan setiap satu mempunyai pemilik yang boleh bertindak tanpanya meneka. Mencampurkannya menghasilkan sistem yang memulakan semula pada gejala yang tidak dapat ditafsirkannya.

Tuliskan ketiga-tiga kes sebelum menukar mana-mana pemasa. Senarai itu sendiri biasanya menunjukkan bahawa satu mekanisme diminta meliputi ketiga-tiganya.

Kepada apa keepalive sebenarnya berkembang

Arahan keepalive ialah singkatan, dan perkembangannya berbeza mengikut mod. Pada pelayan, keepalive 10 60 menjadi ping tempatan setiap sepuluh saat, had masa mula semula tempatan 120 saat, dan nilai 10 serta 60 yang dihantar kepada klien. Had masa pelayan sengaja digandakan supaya klien mendapat peluang memulakan semula sebelum pelayan mengalah. Bacalah bentuk yang dikembangkan dalam konfigurasi yang berjalan, bukan singkatan dalam profil.

Penggandaan itulah sebabnya mana-mana penerangan yang mendakwa kedua-dua hujung mula semula selepas enam puluh saat adalah salah. Ia juga menjelaskan mengapa kedua-dua hujung tidak berayun serentak apabila laluan merosot.

Denyutan jantung ialah trafik rakan sejawat OpenVPN, bukan pemeriksaan ICMP kepada mana-mana hos awam. Jawapan hanya membuktikan bahawa hujung jauh terowong itu hidup. Ia tidak menyatakan apa-apa tentang pangkalan data atau perkhidmatan web yang benar-benar diperlukan oleh pengguna.

Apa yang tidak dipantau oleh Restart=on-failure

Bacalah unit yang dipasang sebelum menambah penggantian. Restart=on-failure bertindak balas terhadap syarat kegagalan proses yang didokumenkan, yang bukan sama dengan memantau keadaan sambungan. Ia tidak dicetuskan kerana sambungan semula dalaman bermula, dan keluar bersih mempunyai makna berbeza daripada ranap.

Perbezaan itu penting kerana mula semula dalaman mengekalkan proses yang sama hidup. Unit tidak melihat apa-apa, terowong pulih sendiri, dan itulah hasil yang betul.

Tetapkan RestartSec dan had permulaan secara sengaja, jika tidak gelung ranap akan menghantam get laluan dan menimbus ralat sebenar di bawah mesej mula semula. Had mula semula yang dicetuskan meninggalkan unit dalam kegagalan, yang kelihatan, manakala gelung tanpa had tidak.

ping-restart dan ping-exit tidak boleh ditukar ganti

ping-restart mencetuskan mula semula dalaman OpenVPN dan mengekalkan proses. ping-exit menamatkan proses pada jenis had masa yang sama, yang menyerahkan keputusan kepada pengurus perkhidmatan. Kedua-duanya saling eksklusif, dan memilih yang kedua mengubah siapa pemilik pemulihan. Perbezaannya ialah siapa yang memutuskan untuk mencuba lagi, dan berapa banyak keadaan yang terselamat daripada percubaan itu.

Jika anda memilih keluar pada had masa, unit memerlukan dasar mula semula dan pengendalian status keluar yang sepadan, jika tidak kegagalan daya hidup kelihatan seperti hentian kekal. Pilihan kegigihan juga boleh mengekalkan antara muka dan laluan merentasi mula semula dalaman tetapi bukan merentasi keluar proses.

Pilih satu kitaran hayat bagi setiap penggunaan dan tuliskan sebabnya. Profil yang membawa kedua-dua arahan ialah profil yang belum membuat keputusan.

Uji setiap kegagalan sebagai kesnya sendiri

Simulasikan rakan sejawat senyap, daemon yang dibunuh dan aplikasi yang tidak tersedia dalam tetingkap yang diluluskan, kemudian periksa pemulihan mana yang dicetuskan. Rakan sejawat senyap sepatutnya menghasilkan sambungan semula dalaman, proses yang dibunuh mula semula unit, dan gangguan aplikasi bukan kedua-duanya. Apabila dua kes menghasilkan tindakan yang sama, pemilikan masih bercampur.

Pemulihan berulang juga bukan pembaikan. Kredensial yang ditolak atau dua klien yang berkongsi satu nama berkesan akan terus saling menggantikan, dan pemasa yang lebih pantas hanya menjadikan ayunan itu lebih pantas.

Artikel berkaitan