En kommandolinje som inneholder --errors-to-stderr ser ut som en klage og er ikke det. Ordet hører til et alternativnavn, på samme måte som navnet på en loggfil ikke sier noe om hva filen inneholder. Før du endrer noen konfigurasjon, må du fastslå hva du faktisk leser.

Avgjørelsen har tre grener: linjen er selve starten, linjen er utdata som programmet skrev ut, eller linjen er tekst som en wrapper gjentok før VPN startet. Hver gren peker på et annet sted å se, og bare én av dem er VPN-ens egen melding.

Et alternativnavn er ikke en statusmelding

For Community OpenVPN, --errors-to-stderr sender feilutdata til standardfeil i stedet for standardutdata. Det er et valg av strøm, ikke et alvorlighetsfilter, og det lager ikke en feil. En senere --log eller --log-append kan omdirigere de samme meldingene til en fil, og derfor avhenger effekten av flagget av resten av kommandoen. Loggreferansen fra kilden fastsetter den rekkefølgen.

Så flaggets tilstedeværelse forteller hvor feilene ville gå. Det forteller ikke at en har oppstått.

Startlinje eller prosessutdata

Begynn med å spørre hvem som skrev ut teksten. En tjenesteenhet, en applikasjonspakke eller en skall-wrapper gjentar ofte hele argv før VPN-prosessen skriver noe. Den gjentakelsen kan ikke skilles fra en statuslinje hvis du bare ser et fragment.

Hvis linjen kom fra wrapperen, har VPN ikke kjørt ennå og har ingenting å rapportere. Se lenger ned i utdataene etter den første meldingen med tidsstempel eller undersystemnavn.

Hvis linjen kom fra VPN-prosessen, er den fortsatt bare kallet. OpenVPN skriver ikke ut sin egen kommandolinje som en feil, og meldingene som betyr noe, følger etter.

Finn prosessen og resultatet

Fastslå om prosessen fortsatt kjører. En klient som er oppe og prøver på nytt, ser svært forskjellig ut fra en som avsluttet med en gang, og den samme kommandolinjen står foran begge.

Les deretter resultatet gjennom komponenten som eier prosessen. Under systemd er det enhetens journal; i en skrivebordsapp er det appens egen logg eller konsoll. Exitstatusen pluss de siste meldingene svarer på spørsmålet alternativnavnet bare antyder.

En konfigurasjonsparsefeil, en manglende fil, en avvist legitimasjon og en peer-timeout er fire forskjellige hendelser. De kommer på samme strøm. De trenger fire forskjellige rettelser. Avgjør hvilken du har før du rører profilen, og siter den nøyaktige meldingen når du ber om hjelp.

Når flagget fortjener plassen sin

Flagget fortjener plassen sin når stdout bærer data og feil ikke må forurense det, eller når en wrapper fanger de to strømmene hver for seg. I en forgrunnsøkt i en terminal lander begge strømmene foran deg. I så fall endrer skillet sjelden det du gjør.

Behold det hvis skriptet rundt avhenger av delingen. Å fjerne det fordi navnet ser alarmerende ut, endrer hvor meldinger vises og retter ingenting annet.

Hva du ikke skal endre

Ikke behandle alternativet som et reparasjonstrinn. Å slette det kan ikke rette et sertifikat, en rute eller en godkjenningsfeil.

Hvis kallet inneholder --config stdin, blir konfigurasjonen ført inn via standardinput. Det er en egen avgjørelse om hvordan filen leveres. Endre én ting om gangen, og les den faktiske meldingen på nytt før du endrer den andre.

Relaterte artikler