Proksi ishlab turganda to'xtatishning osilib qolishi kamdan-kam VPN xatosi bo'ladi, hatto ekranda ko'rinadigan oxirgi narsa VPN bo'lsa ham. Proksi orqasidagi ilovalar hali ham yo'q bo'lib borayotgan yo'lni kutmoqda va tunnelga egalik qiluvchi unit hali uni yopishga chaqirilmagan. Sekin xizmatga o'xshab ko'rinadigan narsa odatda tartib muammosi. Tartibga solish bunday holatlarni har qanday timeout o'zgarishidan ko'ra ko'proq hal qiladi.

Tashqariga teskari tartibda yuring: avval iste'molchilar, keyin proksi, so'ngra tunnel — har birini uni ishga tushirgan komponent to'xtatadi.

Biror narsani to'xtatishdan oldin unitlar ro'yxatini tuzing

Oddiy ishga tushirishda qatnashadigan ilova unitini, proksi unitini va VPN egasini yozib oling. O'z yopilishiga ega bo'lgan har qanday rezolver yoki yordamchi komponentni qo'shing, chunki tungi ikkida aynan shular unutiladi. Bu ro'yxatsiz siz yozgan birinchi to'xtatish buyrug'i qurbonni tasodifiy tanlaydi.

Nomlar kuchsiz dalil. Foydalanuvchi proksisi, tizim proksisi va boshqa akkauntning tunneli bir xil nomga ega bo'lishi mumkin, ammo hayot sikllari butunlay bog'liq emas.

Avval ishni tugating, keyin iste'molchini to'xtating

Rejalashtirilgan to'xtatish ilovadan boshlanadi: uning so'rovlarini tugatishga yoki bekor qilishga ruxsat bering, so'ngra proksini uning xizmat uniti orqali to'xtating. Agar ilova tunnel yo'qolgandan keyin ham ishlashda davom etishi kerak bo'lsa, uni yo'q bo'lib borayotgan marshrutga bog'lab qo'yish o'rniga buni ataylab tashkil qiling.

To'xtatish paytida uchishda bo'lgan so'rovlar yozuvga tegishli, chunki keyingi ishga tushirishdagi qayta urinishlar bo'roni aynan shu yerdan boshlanadi.

ExecStop va ExecStopPost turli asboblardir

ExecStop= — bu sinxron to'xtatish operatsiyasi; ExecStopPost= — bu muvaffaqiyatsiz ishga tushirishdan keyin ham bajariladigan tozalash. Jarayonga faqat signal yuborib qaytadigan to'xtatish buyrug'i iste'molchi hali ma'lumotni to'kib bo'shatayotganda systemd'ga davom etishga imkon beradi. Nima bo'lishidan qat'i nazar sodir bo'lishi kerak bo'lgan hamma narsa post variantiga, to'xtatishni bloklashi kerak bo'lgan narsa sinxron variantiga tegishli. Paket faylini joyida tahrirlash o'rniga amaldagi unitni va uning drop-in fayllarini ko'rib chiqing.

Bog'liqlik grafi to'xtatish ishlarini tartibga soladi. U asinxron skriptni sinxronga aylantirmaydi va masofaviy ilovani ma'lumotlarini tasdiqlashga majburlamaydi.

To'xtatishni cheklang va bu cheklov narxini biling

TimeoutStopSec= to'xtatish buyrug'ini ham, xizmatning o'z yakunlanishini ham cheklaydi va chegara tugaganda systemd majburiy o'ldirishga o'tadi. Qiymatni ilovaning haqiqiy to'kish xatti-harakatiga qarab tanlang va chegara ishga tushganda nima yo'qolishi mumkinligini yozib qo'ying. Mashina tezroq o'chishi kerak deb tanlangan raqam — boshqa nom ostidagi ma'lumot yo'qotish sozlamasi.

To'xtatish hali ham sekin bo'lsa, unitni, uning bola jarayonlarini, jurnal oralig'ini va timeout natijasini yozib oling. Barcha timeoutlarni qisqartirish yoki keng qamrovli o'ldirishga o'tish — toza to'xtatishlarning keyingi yuklashda buzilgan holatga aylanish yo'li.

Ega orqali uzib qo'ying, so'ngra uchta holatni sinab ko'ring

Iste'molchilar to'xtagach, tunnelga ega menejerdan uzishni so'rang: systemd nusxasi, NetworkManager faol ulanishi yoki sotuvchi xizmati. Aloqasiz OpenVPN jarayonini o'ldirish marshrutni taqdim etgan sessiyani har doim ham olib tashlamaydi va qayta ishga tushirish siyosatiga ega proksi siz yo'lni buzayotganda so'rovni qaytadan yaratishi mumkin. Bu siyosatni boshlashdan oldin rejalashtirilgan to'xtatish bilan muvofiqlashtiring.

Oddiy to'xtatishni, faol so'rovli to'xtatishni va tunnel birinchi bo'lib ishlamay qolgan to'xtatishni sinab ko'ring. Muddati bor takrorlanadigan ketma-ketlik bir marta ishlaydigan tez o'chirishdan yaxshiroq.

O'xshash maqolalar