Linux жүйесіндегі VPN және прокси қызметтерін ретімен тоқтату
Жол әлі бар кезде тұтынушыны тоқтатыңыз, содан кейін проксиді, соңында туннельді оның иесі арқылы тоқтатыңыз. ExecStop пен TimeoutStopSec-ті әдейі қолданыңыз, кең көлемді өлтіру емес.
Прокси жұмыс істеп тұрғанда ілініп қалатын тоқтатулар сирек VPN қатесі болады, тіпті экранда көрінетін соңғы нәрсе VPN болса да. Проксидің артындағы қолданбалар жоғалып бара жатқан жолды әлі күтіп тұр, ал туннельге ие юнит оны жабуға әлі шақырылмаған. Баяу қызмет болып көрінетін нәрсе әдетте реттілік мәселесі. Реттелтіру мұндай жағдайларды кез келген таймаут өзгерісінен гөрі көбірек шешеді.
Кері бағытта сыртқа қарай жүріңіз: алдымен тұтынушылар, содан кейін прокси, соңында туннель — әрқайсысын оны іске қосқан компонент тоқтатады.
Бірдеңені тоқтатпас бұрын юниттердің тізімін жасаңыз
Қалыпты іске қосуға қатысатын қолданба юнитін, прокси юнитін және VPN иесін жазып алыңыз. Өз аяқталуы бар кез келген резолверді немесе көмекші компонентті қосыңыз, өйткені түнгі екіде ұмытылатындар — дәл солар. Осы тізімсіз терген алғашқы тоқтату командасы құрбанды кездейсоқ таңдайды.
Атаулар — әлсіз дәлел. Пайдаланушы проксиі, жүйелік прокси және басқа тіркелгінің туннелі аттас болуы мүмкін, бірақ олардың өмірлік циклдері мүлдем байланыссыз.
Алдымен жұмысты бітіріңіз, содан кейін тұтынушыны тоқтатыңыз
Жоспарлы тоқтату қолданбадан басталады: оған сұрауларын бітіруге немесе болдырмауға мүмкіндік беріңіз, содан кейін проксиді оның қызмет юниті арқылы тоқтатыңыз. Егер қолданба туннель жоғалғаннан кейін де жұмысын жалғастыруы керек болса, оны жоғалып бара жатқан маршрутқа байлап қалдырмай, әдейі ұйымдастырыңыз.
Тоқтату кезінде ұшуда болған сұраулар жазбаға түсуі керек, өйткені келесі іске қосудағы қайталау дауылы дәл сол жерден басталады.
ExecStop пен ExecStopPost — әртүрлі құралдар
ExecStop= — бұл синхронды тоқтату операциясы; ExecStopPost= — бұл сәтсіз іске қосылғаннан кейін де орындалатын тазарту. Процеске сигнал беріп, қайта оралатын тоқтату командасы тұтынушы әлі деректерін төгіп жатқанда systemd-ге әрі қарай жүруге мүмкіндік береді. Кез келген жағдайда орындалуы тиіс нәрсе пост-нұсқаға, ал тоқтатуды блоктауы тиіс нәрсе синхронды нұсқаға жатады. Пакет файлын орнында өңдеудің орнына әрекеттегі юнитті және оның drop-in-дерін қарап шығыңыз.
Тәуелділік графигі тоқтату тапсырмаларын реттейді. Ол асинхронды сценарийді синхрондыға айналдырмайды және қашықтағы қолданбаны деректерін бекітуге мәжбүрлемейді.
Тоқтатуды шектеңіз және бұл шектеудің құнын біліңіз
TimeoutStopSec= тоқтату командасын да, қызметтің өз аяқталуын да шектейді, ал лимит біткенде systemd мәжбүрлі өлтіруге көшеді. Мәнді қолданбаның нақты төгу мінез-құлқына қарай таңдаңыз және лимит іске қосылғанда не жоғалуы мүмкін екенін жазып қойыңыз. Машина тезірек сөнуі керек деп таңдалған сан — басқа атаумен аталған деректерді жоғалту баптауы.
Тоқтату әлі де баяу болса, юнитті, оның еншілес процестерін, журнал аралығын және таймаут нәтижесін тіркеп алыңыз. Барлық таймаутты қысқарту немесе кең көлемді өлтіруге ұмтылу — таза тоқтатулардың келесі жүктеуде бүлінген күйге айналу жолы осы.
Иесі арқылы ажыратыңыз, содан кейін үш жағдайды сынаңыз
Тұтынушылар тоқтаған соң, туннельге ие менеджерден ажыратуды сұраңыз: systemd данасы, NetworkManager белсенді қосылымы немесе жеткізуші қызметі. Байланыссыз OpenVPN процесін өлтіру маршрутты берген сессияны міндетті түрде жоймайды, ал қайта іске қосу саясаты бар прокси сіз жолды бұзып жатқанда сұрауды қайта жасауы мүмкін. Бұл саясатты бастамас бұрын жоспарлы тоқтатумен үйлестіріңіз.
Қалыпты тоқтатуды, белсенді сұрауы бар тоқтатуды және туннель бірінші болып істен шығатын тоқтатуды сынаңыз. Мерзімі бар қайталанатын реттілік бір рет қана істейтін жылдам сөндіруден артық.