Kui käivitaja keeldub OpenVPN-i käivitamast, sest PID-fail on juba olemas, on loomulik lugemine, et kusagil töötab tunnel. See lugemine on piisavalt sageli vale, et seda tasub enne millegi kustutamist kontrollida. Fail käituskataloogis on arvepidamine ja arvepidamine elab üle krahhid, taaskäivitused ja katkenud sulgemised, mis ei jätnud protsessi maha. Asja otsustavad kaks küsimust: kas on elav protsess ja kas see protsess kuulub sellele eksemplarile.

Alustage teenusest, mitte failist

Keeldumine tuleb tavaliselt käivitajalt, mitte OpenVPN-ilt endalt. See loeb tee, leiab sealt midagi ja peatub enne konfiguratsiooni parsimist. Esimene küsimus on seega käivitaja lepingu kohta, mitte tunneli kohta.

Lugege ühikut või skripti, mis sõnumi väljastas, ja pange tähele kolme asja: tee, mida see kontrollib, teenuse tüüp, mida see deklareerib, ja kas see vastutab üldse faili kirjutamise eest. Kaasaegne ühik võib kasutada lihtsat või teavitavat järelevalvet ega puutu kunagi PID-faili, samas kui vanem init-skript võib selle ise luua. Kontrolli kopeerimine ühest mudelist teise tekitab täpselt sellise keeldumise. Uurige, millist mudelit kasutatakse, enne kui midagi tõlgendate.

Alles siis muutub küsimus selleks, kas eksemplar tegelikult töötab.

Kontrollige, kas see identifikaator kuulub teie eksemplarile

Number failis tõestab, et number kirjutati. See ei tõesta, et selle identifikaatoriga protsess praegu olemas on, ja kindlasti ei tõesta, et protsess on teie oma, sest identifikaatoreid kasutatakse pärast taaskäivitust uuesti.

Võrrelge protsessi algusaega faili ajatempliga, käivitatavat faili ühiku käsuga ja teenuseliikmelisust ühiku nimega. Erinevus ükskõik millises kolmest tähendab, et vaatate arvepidamist, mitte tunnelit.

Hostil, mis käitab konteinereid või mitut nimeruumi, võib identifikaator ühes vaates olla tähenduslik ja teises puududa. Protsessi mitte nägemine ei ole samuti tõestus, et seda pole olemas, kui teie konto ei saa seda uurida. Kontrollige sellest kontekstist, mida käivitaja kasutab, enne järelduste tegemist.

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

Mida käivitaja lubas failiga teha

PIDFile= ütleb teenusehaldurile, kust lugeda põhiprotsessi identifikaatorit. Haldur ei kirjuta seda faili, kuid eemaldab pärast sulgemist allesjäänud faili, ja just seetõttu võib katkenud väljumine faili maha jätta.

See vastutuse jaotus selgitab kahte sümptomit, mida inimesed vigadena teatavad. Fail, mis kunagi ei ilmu, tähendab, et deemon või selle skript ei suutnud seda kirjutada, mitte et järelevalve on valesti seadistatud. Fail, mis jääb peale peatamist alles, tähendab, et sulgemistee ei lõppenud kunagi.

See selgitab ka, miks praegused juhised soovitavad seda konventsiooni vältida, kui järelevalve saab põhiprotsessi otse jälgida. Need juhised ei ole luba muuta pakendatud ühiku tüüpi, sest deemonil esiplaanil, hargnemisel või teavitamisel käitumine peab vastama sellele, mida ühik deklareerib. Muutke tüüpi deemonit muutmata ja saate ühiku, mis teatab tõrkest tunnelitöö ajal, või vastupidi. Sobitage paar või jätke mõlemad. systemd teenuse viide kirjeldab omandi jaotust.

Puhas sulgemine versus katkenud väljumine

Puhas peatamine palub deemonil väljuda, ootab teda ja laseb halduril oma arvepidamise korda seada. Katkenud väljumine, tapetud protsess või taaskäivitus sulgemise keskel jätab selle jada osad vahele ja alles jääb fail. Selle leidmine pärast krahhi ütleb, et sulgemine ei lõppenud, mitte et midagi kuulab.

Võrrelge faili ajatemplit viimase alglaadimise ja ühiku viimase peatamisega.

Seejärel kontrollige elavaid tõendeid otse. VPN-pordiga seotud socket ja aadressiga tunneliliides on tõestus, et midagi töötab, viisil, mis käituskataloogis asuv tekstifail kunagi ei ole. Kui mõlemad puuduvad, ei tööta midagi, mida iganes fail väidab.

Lõpetage faili kustutamine harjumusest

Selle kustutamine on seaduslik taastamissamm, kui olete tuvastanud, et ükski eksemplar seda ei oma ja käivitaja dokumenteerib selle käitumise.

Püsiva enne käivitamist harjumusena nurjab see kontrolli, millest te mööda lähete. Kui aegunud failid tulevad tagasi pärast iga puhast peatamist, ei ole kirjutaja ja sulgemise elutsükkel ühel meelel selles, kellele tee kuulub, ja see lahkarvamus on viga, mida tasub parandada.

Hoidke hosti pääsemiseks sõltumatu tee, käivitage üks eksemplar selle tavapärase halduri kaudu ja lugege esimest tulemust. Järgmine inimene saab ühiku, mis kas töötab või selgitab end ise.

Seotud artiklid