Dosiero PID ĉeestas, tunelo mankas: ĉu OpenVPN iam funkciis?
Restinta dosiero PID diras nenion pri tio, ĉu tunelo funkcias. Kontrolu la servon, la komencan tempon de la procezo kaj la kontrakton de la lanĉilo antaŭ ol forigi ĝin.
Kiam la lanĉilo rifuzas startigi OpenVPN ĉar dosiero PID jam ekzistas, la natura legado estas ke tunelo funkcias ie. Tiu legado estas sufiĉe ofte malĝusta por indi kontrolon antaŭ ol forigi ion ajn. Dosiero en rulada dosierujo estas librotenado, kaj librotenado postvivas kraĉojn, restartigojn kaj interrompitajn haltigojn kiuj ne lasis procezon malantaŭe. Du demandoj decidas la kazon: ĉu ekzistas viva procezo, kaj ĉu tiu procezo apartenas al ĉi tiu instanco.
Komencu per la servo, ne per la dosiero
La rifuzo kutime venas de lanĉilo, ne de OpenVPN mem. Ĝi legas vojon, trovas ion tie kaj haltas antaŭ ol analizi agordon. La unua demando do temas pri la kontrakto de la lanĉilo, ne pri la tunelo.
Legu la unuon aŭ la skripton kiu presis la mesaĝon kaj notu tri aferojn: la vojon kiun ĝi kontrolas, la servotipon kiun ĝi deklaras, kaj ĉu ĝi entute respondecas pri skribado de la dosiero. Moderna unuo povas uzi simplan aŭ sciigan superrigardon kaj neniam tuŝi dosieron PID, dum pli malnova init-skripto povas mem krei unu. Kopii kontrolon el unu modelo en la alian produktas ĝuste ĉi tiun specon de rifuzo. Eltrovu kiun modelon oni uzas antaŭ ol interpreti ion ajn.
Nur tiam la demando fariĝas ĉu instanco efektive funkcias.
Kontrolu ĉu tiu identigilo apartenas al via instanco
Nombro en dosiero pruvas ke nombro estis skribita. Ĝi ne pruvas ke procezo kun tiu identigilo nun ekzistas, kaj certe ne pruvas ke la procezo estas via, ĉar identigiloj estas reuzataj post restartigo.
Komparu la komencan tempon de la procezo kun la tempindiko de la dosiero, la plenumeblon kun la komando de la unuo, kaj la servan membrecon kun la nomo de la unuo. Miskongruo en iu ajn el la tri signifas ke vi rigardas librotenadon, ne tunelon.
Ĉe gastiganto kiu rulas ujojn aŭ plurajn nomspacojn, identigilo povas esti senchava en unu vido kaj foresti en alia. Malsukceso vidi procezon ankaŭ ne estas pruvo ke ĝi ne ekzistas, se via konto ne povas inspekti ĝin. Kontrolu el la kunteksto kiun la lanĉilo uzas antaŭ ol fari konkludojn.
systemctl status [email protected]
ps -o pid,lstart,args -p "$(cat /run/openvpn/vpn.pid)"Kion la lanĉilo promesis fari kun la dosiero
PIDFile= diras al la servoadministranto kie legi la identigilon de la ĉefa procezo. La administranto ne skribas tiun dosieron, sed ĝi forigas travivintan dosieron post haltigo, kaj ĝuste tial interrompita eliro povas lasi dosieron.
Tiu divido de respondeco klarigas du simptomojn kiujn homoj raportas kiel cimojn. Dosiero kiu neniam aperas signifas ke la demono aŭ ĝia skripto malsukcesis skribi ĝin, ne ke la superrigardo estas malĝuste agordita. Dosiero kiu travivas haltigon signifas ke la haltiga vojo neniam kompletiĝis.
Ĝi ankaŭ klarigas kial nunaj gvidlinioj sugestas eviti la konvencion kiam superrigardo povas spuri la ĉefan procezon rekte. Tiuj gvidlinioj ne estas permeso ŝanĝi la tipon de pakaĵa unuo, ĉar la antaŭfona, forka aŭ sciiga konduto de la demono devas kongrui kun tio kion la unuo deklaras. Ŝanĝu la tipon sen ŝanĝi la demonon kaj vi ricevos unuon kiu raportas malsukceson dum la tunelo funkcias, aŭ la malon. Kongruigu la paron, aŭ lasu ambaŭ. La referenco pri la servo systemd priskribas la dividon de posedo.
Pura haltigo kontraŭ interrompita eliro
Pura haltigo petas al la demono eliri, atendas ĝin kaj lasas la administranton ordigi sian propran librotenadon. Interrompita eliro, mortigita procezo aŭ restartigo meze de haltigo saltas partojn de tiu sinsekvo, kaj la dosiero estas tio kio restas. Trovi unu post kraŝo diras al vi ke la haltigo ne finiĝis, ne ke io aŭskultas.
Komparu la tempindikon de la dosiero kun la lasta praŝargo kaj kun la lasta haltigo de la unuo.
Poste kontrolu la vivajn pruvojn rekte. Soketo ligita al la VPN-pordo kaj tunela interfaco kun adreso estas pruvo ke io funkcias, tiamaniere kiel teksta dosiero en rulada dosierujo neniam estas. Se ambaŭ mankas, nenio funkcias, kion ajn la dosiero asertas.
Ĉesu forigi la dosieron pro kutimo
Forigi ĝin estas laŭleĝa paŝo de restaŭrado post kiam vi konstatis ke neniu instanco posedas ĝin kaj ke la lanĉilo dokumentas ĉi tiun konduton.
Kiel daŭra kutimo antaŭ starto, ĝi nuligas la kontrolon kiun vi ĉirkaŭas. Se eksdataj dosieroj revenas post ĉiu pura haltigo, la skribanto kaj la haltiga vivociklo malkonsentas pri tio kiu posedas la vojon, kaj tiu malkonsento estas la cimo inda je riparo.
Tenadu sendependan vojon en la gastiganton, startigu unu instancon per ĝia normala administranto kaj legu la unuan rezulton. La sekva persono ricevas unuon kiu aŭ funkcias aŭ klarigas sin mem.