OpenVPN instanca se podiže pri pokretanju pod imenom koje ne prepoznajete, a zaustavljanje funkcioniše do sljedećeg restarta. Taj obrazac znači da ste uklonili proces, ali ne i aktivaciju. To su dva različita objekta, a samo jedan od njih je vidljiv na statusnom ekranu. Pronalaženje aktivacije zahtijeva četiri komande samo za čitanje i jednu odluku.

Prvo navedite tačan unit

Radite od imena unita u journalu, a ne od imena datoteke profila. Instanca se može zvati openvpn@, openvpn-client@, openvpn-server@ ili nešto specifično za distribuciju, a pogađanje imena vodi vas na pogrešan šablon. Statusni izlaz navodi unit koji je stvarno radio, i to je jedino ime koje je ovdje važno. Kopirajte ga tačno, uključujući eventualni sufiks.

Sljedeće komande opisuju taj unit bez ikakvih promjena. systemctl show prijavljuje putanju fragmenta, putanju izvora, stanje datoteke unita, eventualne drop-in zapise i šta ga je aktiviralo. list-dependencies --reverse pokazuje koji učitani uniti upućuju na njega. Obje su samo za čitanje, pa ih pokrenite prije nego što stvorite teoriju.

Zamijenite uočeno ime svuda. Kopirano primjerno ime najčešći je način da istražujete pogrešnu uslugu, a daje samouvjerene odgovore o unitu koji nikada nije radio.

Pročitajte šablon da biste saznali ime datoteke

Instancni unit je proširenje šablona, a šablon odlučuje koju konfiguracijsku datoteku čita. Komandna linija koja završava na rezervisanom mjestu specifičnom za instancu razrješava se u ime instance plus sufiks. Ako je sufiks .conf a instanca se zove old, datoteka je old.conf. Ako instancu nazovete old.conf, isti šablon traži old.conf.conf.

Taj detalj objašnjava klasu duplikata. Neko doda drugu instancu pod pogrešnim imenom, prva nastavi raditi, a host završi s dva tunela i jednim zbunjujućim logom.

Čitajte efektivni šablon, a ne datoteku za koju se sjećate da ste je uređivali. Drop-in može zamijeniti komandnu liniju, a zamjena je ono što se izvršava pri pokretanju.

Pratite kako ulazi u transakciju pokretanja

Tri puta su uobičajena: wants veza s targeta, zahtjev drugog unita ili generisani unit iz generatorskog paketa. Popis obrnutih zavisnosti pokriva prva dva kao učitane stavke grafa. Ne pokriva timer, hook ni vanjski zahtjev, zato je popis dokaz, a ne potpuna revizija.

Generisani izlaz pod /run/systemd/generator je proizvod, a ne izvor. Uređivanje preživljava samo do sljedeće generacije, zato ispravka primijenjena tamo izgleda uspješno i zatim se vraća.

Provjerite dokumentirani ulaz paketa prije nego što pretpostavite odakle generator čita. Nedokumentovano skeniranje direktorija uobičajen je razlog zašto se unit pojavljuje bez veze za aktivaciju.

Uklonite aktivaciju, a ne samo proces

Ako je instanca direktno aktivirana i zaista zastarjela, systemctl disable --now je zaustavlja i uklanja vezu za pokretanje u jednom koraku. Prvo provjerite da ovaj tunel nije vaš jedini administrativni put do hosta. Komanda je primjer životnog ciklusa, a ne prijedlog da zaustavite svaki VPN na mašini. Pokrenite provjeru prije komande, ne poslije.

Dvije polovice su razdvojive i često se miješaju. Deaktiviranje ne zaustavlja uslugu koja radi, a zaustavljanje ne uklanja aktivaciju, pa djelomična komanda objašnjava problem koji se vraća pri pokretanju.

Deaktivirani unit ipak može pokrenuti drugi unit ili izričit zahtjev. Kada generator posjeduje aktivaciju, ispravite njegov ulaz umjesto da deaktivirate njegov izlaz. Maskiranje blokira više puteva, ali može pokvariti zavisnosti, pa nije zamjena za razumijevanje.

Provjerite restartom, a ne statusnim ekranom

Ponovo učitajte systemd ako su se definicije unita ili ulazi generatora promijenili, pa pregledajte nastalo stanje. Ponovno učitavanje daemona ne gura novi profil u tunel koji radi, pa su dvije provjere odvojene. Zakažite restart i potvrdite da instanca ostaje odsutna dok namjeravani tunel i dalje radi.

Zadržite stari profil dok se vlasništvo ne shvati, a zatim ga uklonite kroz predviđeni postupak. Uspjeh je odsutan unit i radni put pristupa, a ne neuspjeli unit koji nedostaje na jednom ekranu.

Povezani članci