openvpn --errors-to-stderr er eit startval, ikkje ein feil
Å sjå --errors-to-stderr i ei kommandolinje tyder ikkje at noko mislukkast. Avgjer om du les ei startlinje eller utdataa frå prosessen, og granskar det deretter.
Ei kommandolinje som inneheld --errors-to-stderr ser ut som ei klage og er ikkje det. Ordet høyrer til eit valnamn, på same måte som namnet på ei loggfil ikkje seier noko om kva fila inneheld. Før du endrar noka konfigurasjon, må du fastslå kva du faktisk les.
Avgjerda har tre greiner: linja er sjølve starten, linja er utdata som programmet skreiv ut, eller linja er tekst som ein wrapper gjentok før VPN starta. Kvar grein peikar på ein annan stad å sjå, og berre éin av dei er VPN sin eigen melding.
Eit valnamn er ikkje ei statusmelding
For Community OpenVPN, --errors-to-stderr sender feilutdata til standardfeil i staden for standardutdata. Det er eit val av straum, ikkje eit alvorsfilter, og det lagar ikkje ein feil. Ein seinare --log eller --log-append kan omdirigere dei same meldingane til ei fil, og difor avheng verknaden av flagget av resten av kommandoen. Loggreferansen frå kjelda fastset den rekkjefølgja.
Så fortel tilstadeværet av flagget kvar feila ville gå. Det fortel ikkje at ein har oppstått.
Startlinje eller prosessutdata
Byrja med å spørje kven som skreiv ut teksten. Ei tenesteeining, ein applikasjonspakke eller ein skal-wrapper gjentek ofte heile argv før VPN-prosessen skriv noko. Den gjentakinga kan ikkje skiljast frå ei statuslinje om du berre ser eit fragment.
Om linja kom frå wrapperen, har VPN ikkje køyrt enno og har ingenting å rapportere. Sjå lenger ned i utdataa etter den første meldinga med tidsstempel eller undersystemnamn.
Om linja kom frå VPN-prosessen, er ho framleis berre kallet. OpenVPN skriv ikkje ut si eiga kommandolinje som ein feil, og meldingane som tyder noko, kjem etter.
Finn prosessen og resultatet
Fastslå om prosessen framleis køyrer. Ein klient som er oppe og prøver på nytt, ser svært annleis ut enn ein som avslutta med ein gong, og den same kommandolinja står framfor begge.
Les deretter resultatet gjennom komponenten som eig prosessen. Under systemd er det journalen til eininga; i ein skrivebordsapp er det eigen logg eller konsoll for appen. Exitstatusen pluss dei siste meldingane svarar på spørsmålet valnamnet berre antydar.
Ein konfigurasjonsparsefeil, ei manglande fil, ein avvist legitimasjon og ein peer-timeout er fire ulike hendingar. Dei kjem på den same straumen. Dei treng fire ulike rettingar. Avgjer kva du har før du rører profilen, og siter den nøyaktige meldinga når du ber om hjelp.
Når flagget fortener plassen sin
Flagget fortener plassen sin når stdout ber data og feil ikkje må forureine det, eller når ein wrapper fangar dei to straumane kvar for seg. I ein forgrunnsøkt i ein terminal landar begge straumane framfor deg. I så fall endrar skiljet sjeldan det du gjer.
Hald på det om skriptet rundt avheng av delinga. Å fjerne det fordi namnet ser alarmande ut, endrar kvar meldingar blir viste og rettar ingenting anna.
Kva du ikkje skal endre
Ikkje handsam valet som eit reparasjonstrinn. Å slette det kan ikkje rette eit sertifikat, ei rute eller ein godkjenningsfeil.
Om kallet inneheld --config stdin, blir konfigurasjonen ført inn via standardinput. Det er ei eiga avgjerd om korleis fila blir levert. Endre éin ting om gongen, og les den faktiske meldinga på nytt før du endrar den andre.