Tertib mematikan perkhidmatan VPN dan proksi di Linux
Hentikan pengguna selagi laluan masih wujud, kemudian proksi, dan kemudian terowong melalui pemiliknya. Gunakan ExecStop dan TimeoutStopSec secara sengaja, bukan kill yang luas.
Kegantungan semasa mematikan ketika proksi sedang berjalan jarang merupakan pepijat VPN, walaupun VPN ialah perkara terakhir yang kelihatan di skrin. Aplikasi di belakang proksi masih menunggu laluan yang hampir hilang, dan unit yang memiliki terowong itu belum diminta menutupnya. Apa yang kelihatan seperti perkhidmatan perlahan biasanya masalah tertib. Penertiban menyelesaikan lebih banyak kes ini daripada sebarang perubahan tamat masa.
Bergerak ke luar dalam tertib terbalik: pengguna dahulu, kemudian proksi, dan kemudian terowong — setiap satu dihentikan oleh komponen yang memulakannya.
Senaraikan unit sebelum menghentikan apa-apa
Catat unit aplikasi, unit proksi dan pemilik VPN yang terlibat dalam jalan biasa. Tambah mana-mana penyelesai atau komponen pembantu yang mempunyai penutupan sendiri, kerana itulah yang dilupakan orang pada pukul dua pagi. Tanpa senarai itu, arahan henti pertama yang anda taip memilih mangsa secara rawak.
Nama ialah bukti lemah. Proksi pengguna, proksi sistem dan terowong akaun lain boleh berkongsi nama yang sama tetapi mempunyai kitaran hayat yang langsung tidak berkaitan.
Selesaikan kerja dahulu, kemudian hentikan pengguna
Hentian terancang bermula dengan aplikasi: biarkan ia menyelesaikan atau membatalkan permintaannya, kemudian hentikan proksi melalui unit perkhidmatannya. Jika aplikasi patut terus berjalan selepas terowong hilang, aturkannya secara sengaja dan bukannya membiarkannya terikat pada laluan yang hampir hilang.
Permintaan yang sedang dalam perjalanan semasa hentian tergolong dalam rekod, kerana dari situlah datangnya ribut cubaan semula pada permulaan seterusnya.
ExecStop dan ExecStopPost ialah instrumen yang berbeza
ExecStop= — iaitu operasi henti segerak; ExecStopPost= — iaitu pembersihan yang berjalan walaupun selepas permulaan yang gagal. Arahan henti yang hanya menghantar isyarat kepada proses dan kembali membiarkan systemd bergerak ke hadapan sementara pengguna masih menyahcas data. Segala-galanya yang mesti berlaku tanpa mengira apa pun tergolong dalam varian pos, dan segala-galanya yang mesti menyekat hentian tergolong dalam yang segerak. Periksa unit berkesan dan fail drop-in-nya dan bukannya menyunting fail pakej di tempatnya.
Graf kebergantungan menyusun kerja hentian. Ia tidak menukar skrip tak segerak menjadi segerak, dan ia tidak memaksa aplikasi jauh untuk menerima pakai datanya.
Hadkan hentian dan ketahui kos had itu
TimeoutStopSec= mengehadkan kedua-dua arahan henti dan penamatan perkhidmatan itu sendiri, dan systemd meningkat kepada kill paksa apabila had tamat. Pilih nilai berdasarkan tingkah laku penyahcasan sebenar aplikasi, dan catat apa yang mungkin hilang apabila had itu dicapai. Nombor yang dipilih kerana mesin patut dimatikan lebih cepat ialah tetapan kehilangan data yang menyamar.
Apabila hentian masih perlahan, rakam unit, proses anaknya, selang jurnal dan hasil tamat masa. Memendekkan semua tamat masa atau mencapai kill yang luas ialah cara hentian bersih bertukar menjadi keadaan rosak pada but seterusnya.
Putuskan sambungan melalui pemilik, kemudian uji tiga kes
Setelah pengguna diturunkan, minta pengurus yang memiliki terowong untuk memutuskan sambungan: instans systemd, sambungan aktif NetworkManager atau perkhidmatan vendor. Membunuh proses OpenVPN yang tidak berkaitan tidak semestinya membuang sesi yang membekalkan laluan itu, dan proksi dengan dasar mula semula mungkin mencipta semula permintaan semasa anda membongkar laluan. Selaraskan dasar itu dengan hentian terancang sebelum anda bermula.
Uji hentian biasa, hentian dengan permintaan aktif dan hentian di mana terowong gagal dahulu. Jujukan boleh ulang dengan tarikh akhir mengalahkan penutupan pantas yang berfungsi sekali.