En OpenVPN-instans dukker op ved opstart under et navn, du ikke genkender, og det virker at stoppe den indtil næste genstart. Det mønster betyder, at du har fjernet processen, men ikke aktiveringen. De to er forskellige objekter, og kun det ene er synligt i en statusskærm. At finde aktiveringen kræver fire skrivebeskyttede kommandoer og én beslutning.

Navngiv først den præcise unit

Arbejd ud fra unitnavnet i journalen frem for fra et profilfilnavn. Instansen kan hedde openvpn@, openvpn-client@, openvpn-server@ eller noget distributionsspecifikt, og at gætte navnet sender dig til den forkerte skabelon. Statusoutputtet nævner den unit, der faktisk kørte, og det er det eneste navn, der betyder noget her. Kopiér det præcist, inklusive ethvert suffiks.

Følgende kommandoer beskriver den unit uden at ændre noget. systemctl show rapporterer fragmentstien, kildestien, unit-filens tilstand, eventuelle drop-ins og hvad der udløste den. list-dependencies --reverse viser, hvilke indlæste units der peger på den. Begge er skrivebeskyttede, så kør dem, før du danner en teori.

Erstat det observerede navn overalt. Et kopieret eksempelnavn er den mest almindelige måde at undersøge den forkerte tjeneste på, og det giver selvsikre svar om en unit, der aldrig kørte.

Læs skabelonen for at lære filnavnet

En instans-unit er en udvidelse af en skabelon, og skabelonen afgør hvilken konfigurationsfil den læser. En kommandolinje, der ender i en instansspecifik pladsholder, opløses til instansnavnet plus suffikset. Hvis suffikset er .conf, og instansen hedder old, er filen old.conf. Kalder du instansen old.conf, beder samme skabelon om old.conf.conf.

Den detalje forklarer en klasse af dubletter. Nogen tilføjer en anden instans under det forkerte navn, den første kører videre, og værten ender med to tunneller og én forvirrende log.

Læs den effektive skabelon frem for den fil, du husker, du redigerede. Et drop-in kan erstatte kommandolinjen, og erstatningen er det, der kører ved opstart.

Spor, hvordan den kommer ind i opstartstransaktionen

Tre veje er almindelige: et wants-link fra et target, et krav fra en anden unit eller en genereret unit fra en pakkegenerator. Listen over omvendte afhængigheder dækker de første to som indlæste grafindgange. Den dækker ikke en timer, et hook eller en ekstern anmodning, og derfor er listen bevis snarere end en fuld revision.

Genereret output under /run/systemd/generator er et produkt, ikke en kilde. Redigering af det overlever kun til næste generering, og derfor ser en rettelse der succesfuld ud og falder derefter tilbage.

Kontrollér pakkens dokumenterede input, før du antager, hvor generatoren læser fra. En udokumenteret scanning af en mappe er den sædvanlige grund til, at en unit vises uden et aktiveringslink.

Fjern aktiveringen, ikke kun processen

Hvis instansen er direkte aktiveret og reelt forældet, stopper systemctl disable --now den og fjerner opstartslinket i ét trin. Kontrollér først, at denne tunnel ikke er din eneste administrative vej til værten. Kommandoen er et livscykluseksempel, ikke et forslag om at stoppe enhver VPN på maskinen. Kør kontrollen før kommandoen, ikke efter.

De to halvdele kan skilles og forveksles ofte. Deaktivering stopper ikke en kørende tjeneste, og stop fjerner ikke aktivering, så en delvis kommando forklarer et problem, der vender tilbage ved opstart.

En deaktiveret unit kan stadig startes af en anden unit eller af en eksplicit anmodning. Når en generator ejer aktiveringen, ret generatorinputtet i stedet for at deaktivere dens output. Maskering blokerer flere veje, men kan bryde afhængigheder, så det er ikke en erstatning for forståelse.

Bekræft med en genstart, ikke med en statusskærm

Genindlæs systemd, hvis unitdefinitioner eller generatorinput er ændret, og undersøg derefter den resulterende tilstand. En daemon-genindlæsning skubber ikke en ny profil ind i en kørende tunnel, så de to kontroller er adskilte. Planlæg en genstart, og bekræft, at instansen forbliver fraværende, mens den tilsigtede tunnel stadig virker.

Behold den gamle profil, indtil ejerskabet er forstået, og pensionér den derefter gennem den tilsigtede proces. Succes er en fraværende unit og en fungerende adgangsvej, ikke en mislykket unit, der mangler på én skærm.

Relaterede artikler