Dir start OpenVPN aus enger Shell mat enger Konfiguratiounsdatei, an den Terminal sëtzt do ouni all Ausgab. Kee Banner, kee Fehler, keng Opfuerderung. Den Instinkt seet, datt de Start feelgeschloen ass, also start Dir eng aner Kopie, duerno nach eng, an d'Maschinn hält mat e puer hallef konfiguréierten Instanzen op. Virun allem dësem préift am Profil no enger Direktiv, déi de Log schonn anzwousch anescht ëmgeleet huet. Stille ass eng Eegenschaft vun der Konsole, net vum Prozess.

D'Stille huet zwou ganz verschidden Erklärungen

Déi éischt ass, datt de Prozess gutt leeft an an eng Datei schreift, déi Dir net iwwerwaacht. Déi zweet ass, datt en direkt mat engem Fehler opgehal huet, deen an där selwechter Datei festgehalen ass.

Beid loossen en eidelen Terminal zréck, an eng Fro trennt se: gëtt et elo e Prozess, a wat ass an der Datei, an déi en huet solle schreiwen. Äntwert dorop, ier Dir d'Konfiguratioun nach eng Kéier beréiert. Neistarten, just fir Ausgab ze kréien, ass de Wee, wéi zwou Instanze sech ëm een Tunnelapparat an dee selwechte Port streiden, wat Fehler gëtt, déi näischt mam urspréngleche Problem ze dinn hunn.

Fannt d'Direktiv, da fannt de Prozess.

ps -o pid,args= -C openvpn
grep -nE '^\s*(log|log-append|cd|daemon|verb)\b' /etc/openvpn/server/server.conf

Fannt d'Zil, dat de lafende Prozess benotzt

Liest de Profil, mat deem de Prozess tatsächlech gestart gouf, net deen, deen Dir geännert hutt. Eng vun engem Service verwalt Instanz lued normalerweis en anere Pad a leeft mat engem aneren Aarbechtsverzeechnis, dofir gëtt en relative Dateinumm anzwousch opgeléist, wou Dir et net erwaart hutt.

Eng explizit cd-Direktiv mécht dëse Ënnerscheed méi schaarf, well de relative Pad mat der Verzeechnisännerung plënnert. Wann Dir dës Konfiguratioun geierft hutt, kann d'Datei an enger Plaz leien, wou elo keen se géif sichen.

Vergläicht d'Ännerungszäit vun der Datei mam Abléck, wou Dir se gestart hutt. En Log vun der leschter Woch ass Beweis iwwer d'lescht Woch. Liest duerno déi lescht Zeile vun der Datei, déi sech geännert huet, a behandelt wat do steet als d'Startmessage, déi Dir verpasst hutt.

log géint log-append: Beweis an Läschung

log-append füügt bäi, wat schonn an der Datei ass. log mécht d'Datei op fir ze schreiwen an ofzeschneiden, dofir kann en Tausch tëscht deenen zwee de Laf läschen, deen Dir just wëllt liesen.

Wann een d'Direktiv beim Debugge geännert huet, ass de fréiere Beweis schonn fort an d'Gréisst vun der Datei wäert verdächteg kleng ausgesinn. Dat ass gutt ze wëssen, ier Dir zwee Läif vergläicht an zum Schluss kommt, datt sech eppes geännert huet. Läscht en Log bewosst oder behält en, awer wësst, wat Dir gemaach hutt. Beweis, deen Dir bewosst ewechgeholl hutt, ass méi einfach ze begründen wéi Beweis, deen Dir zoufälleg verluer hutt.

Keng vun den zwou Optioune mécht feelend Eltereverzeechnisser, a keng gëtt Zougang iwwer Dateisystemrechter oder eng Service-Sandbox. En Pad, deen an der Konfiguratioun richteg ausgesäit, kann nach ëmmer net schreifbar si fir de Kont, ënner deem den Daemon leeft, an dann kann den Daemon feelen, ier en eppes kann mellen. Préift, ob d'Verzeechnis existéiert a wiem et gehéiert, ier Dir unhëlt, datt den Dateinumm de Problem ass.

Wann e Service-Wrapper d'Ausgab fänkt

Ënner systemd ginn d'Standardausgab an de Fehler an de Journal, ausser eng explizit Dateidirektiv huet Virrang, an e Fournisseur-Wrapper kann se komplett anzwousch anescht fänken.

Dofir behält sech dee selwechte Profil aus enger Shell an aus enger Unit anescht. D'Ëmfeld vun der Unit, hiert Aarbechtsverzeechnis an hir Standardstréim ënnerscheede sech all vun Ärer interaktiver Shell. En relative Pad kann an engem Kontext opgeléist ginn an am aneren néierens ukommen. Liest d'Definitioun vun der Unit, wann déi zwee sech net eens sinn, net de Profil.

Vergläicht déi zwou Startopstellungen, amplaz zum Schluss ze kommen, datt eng dovun futti ass. Liest d'Kommandozeil vun der Unit an hiert Ëmfeld, da liest den Journal fir déiselwecht Zäitfenster. Wann de Wrapper d'Ausgab an seng eegen Datei ëmleet, ass déi Datei elo Ären Log, an d'OpenVPN-Direktive si irrelevant dofir, wou d'Message higaange sinn.

Erhéicht d'Ausféierlechkeet eréischt, wann Dir se ka liest

D'Ausféierlechkeet ze erhéijen, ier Dir d'Zil fannt, bréngt just méi Text op enger Plaz, wou Dir net kuckt.

Wann Dir wësst, wou d'Ausgab land, weist e mëttlere Niveau, datt de Profil analyséiert an d'Verbindung probéiert gëtt. Zwee oder dräi genuch fir e Startproblem. Méi héich Niveauen verdéngen hir Plaz, wann de Fehler en Detail vun der Verhandlung ass, an se loossen d'Datei och séier wuessen.

Liest duerno de richtegen Fehler. En duuschten Terminal beweist näischt dofir, ob den Tunnel eropgaang ass, an de Fehler, deen an der Datei festgehalen ass, ass deen, deen et wäert ass ze verbesseren.

Ähnlech Artikelen