Іске қосқыш PID файлы әлдеқашан бар болғандықтан OpenVPN-ді бастаудан бас тартқанда, табиғи оқылым бір жерде туннель жұмыс істеп тұр дегенді білдіреді. Бұл оқылым жиі жеткіліксіз қате, сондықтан бірдеңені жоймас бұрын тексеруге тұрарлық. Орындалу каталогындағы файл — бұл есеп, ал есеп процесс қалдырмаған құлаудан, қайта жүктеуден және үзілген өшіруден аман қалады. Істі екі сұрақ шешеді: тірі процесс бар ма және ол процесс осы данаға тиесілі ме.

Файлдан емес, қызметтен бастаңыз

Бас тарту әдетте OpenVPN-нен емес, іске қосқыштан келеді. Ол жолды оқиды, сонда бірдеңе табады және конфигурацияны талдамас бұрын тоқтайды. Сондықтан бірінші сұрақ туннель туралы емес, іске қосқыштың шарты туралы.

Хабарды басып шығарған юнитті немесе скриптті оқып, үш нәрсені белгілеңіз: тексеретін жолы, жариялайтын қызмет түрі және файлды жазуға жауапты ма. Заманауи юнит қарапайым немесе хабарламалы қадағалауды қолданып, PID файлына ешқашан тимеуі мүмкін, ал ескі init скрипті оны өзі жасай алады. Тексеруді бір модельден екіншісіне көшіру дәл осы бас тартуды тудырады. Бірдеңені түсіндірмес бұрын қай модель қолданылып жатқанын анықтаңыз.

Содан кейін ғана сұрақ дана шынымен жұмыс істеп тұр ма дегенге айналады.

Бұл идентификатор сіздің данаңызға тиесілі ме, соны тексеріңіз

Файлдағы сан санның жазылғанын дәлелдейді. Ол сол идентификатормен процестің қазір бар екенін дәлелдемейді, әрине, процестің сіздікі екенін де дәлелдемейді, өйткені идентификаторлар қайта жүктеуден кейін қайта пайдаланылады.

Процестің басталу уақытын файлдың уақыт белгісімен, орындалатын файлды юниттің командасымен, ал қызмет мүшелігін юниттің атымен салыстырыңыз. Үшеуінің қайсысында болса да сәйкессіздік есепті көріп отырғаныңызды білдіреді, туннельді емес.

Контейнерлерді немесе бірнеше атау кеңістігін іске қосатын хостта идентификатор бір көріністе мәнді болып, екіншісінде жоқ болуы мүмкін. Процесті көрмеу де оның жоқтығының дәлелі емес, егер тіркелгіңіз оны тексере алмаса. Қорытынды жасамас бұрын іске қосқыш қолданатын контекстен тексеріңіз.

systemctl status [email protected]
ps -o pid,lstart,args -p "$(cat /run/openvpn/vpn.pid)"

Іске қосқыш файлмен не істеуге уәде берді

PIDFile= қызмет менеджеріне негізгі процестің идентификаторын қайдан оқу керегін айтады. Менеджер бұл файлды жазбайды, бірақ өшіруден кейін қалған файлды жояды, сондықтан үзілген шығу файл қалдыруы мүмкін.

Жауапкершіліктің бұл бөлінісі адамдар қате деп хабарлайтын екі белгіні түсіндіреді. Ешқашан пайда болмайтын файл демонның немесе оның скриптінің оны жаза алмағанын білдіреді, қадағалау дұрыс бапталмағанын емес. Тоқтаудан кейін қалатын файл өшіру жолының ешқашан аяқталмағанын білдіреді.

Бұл сондай-ақ қадағалау негізгі процесті тікелей бақылай алатын кезде қазіргі нұсқаулықтардың бұл конвенциядан аулақ болуды неге ұсынатынын түсіндіреді. Бұл нұсқаулықтар бумаланған юниттің түрін өзгертуге рұқсат емес, өйткені демонның алдыңғы планда, тармақталуда немесе хабарламада әрекеті юнит жариялаған нәрсеге сәйкес болуы керек. Демонды өзгертпей түрін өзгертіңіз және туннель жұмыс істеп тұрғанда сәтсіздік туралы хабарлайтын юнит аласыз, немесе керісінше. Жұпты сәйкестендіріңіз, немесе екеуін де қалдырыңыз. systemd қызметінің анықтамасы меншік бөлінісін сипаттайды.

Таза өшіру және үзілген шығу

Таза тоқтату демоннан шығуды сұрайды, оны күтеді және менеджерге өз есебін реттеуге мүмкіндік береді. Үзілген шығу, өлтірілген процесс немесе өшіру ортасында қайта жүктеу осы реттіліктің бөліктерін өткізіп жібереді, ал файл — қалған нәрсе. Құлаудан кейін оны табу өшіру аяқталмағанын білдіреді, бірдеңе тыңдап тұрғанын емес.

Файлдың уақыт белгісін соңғы жүктеумен және юниттің соңғы тоқтауымен салыстырыңыз.

Содан кейін тірі дәлелдерді тікелей тексеріңіз. VPN портына байланған сокет және мекенжайы бар туннель интерфейсі бірдеңенің жұмыс істеп тұрғанының дәлелі, орындалу каталогындағы мәтіндік файл ешқашан бола алмайтын түрде. Екеуі де жоқ болса, файл не деп мәлімдесе де, ештеңе жұмыс істемейді.

Файлды әдет ретінде жоюды тоқтатыңыз

Ешбір дана оған ие емес және іске қосқыш бұл мінез-құлықты құжаттайтынын анықтағаннан кейін оны жою — заңды қалпына келтіру қадамы.

Бастау алдындағы тұрақты әдет ретінде ол айналып өтіп жатқан тексеруді жояды. Егер ескірген файлдар әрбір таза тоқтаудан кейін қайта оралса, жазушы мен өшіру өмірлік циклі жолдың кімге тиесілі екенінде келіспейді, және сол келіспеушілік — түзетуге тұрарлық қате.

Хостқа кірудің тәуелсіз жолын ұстаңыз, бір дананы әдеттегі менеджері арқылы іске қосыңыз және бірінші нәтижені оқыңыз. Келесі адам не жұмыс істейтін, не өзін түсіндіретін юнит алады.

Қатысты мақалалар