Een opdrachtregel met --errors-to-stderr lijkt op een klacht en is het niet. Het woord hoort bij een optienaam, net zoals de naam van een logbestand niets zegt over wat het bestand bevat. Voordat u enige configuratie wijzigt, stelt u vast wat u werkelijk leest.

De beslissing heeft drie takken: de regel is de start zelf, de regel is uitvoer die het programma heeft afgedrukt, of de regel is tekst die een wrapper heeft herhaald voordat de VPN startte. Elke tak wijst naar een andere plek om te kijken, en slechts één ervan is het eigen bericht van de VPN.

Een optienaam is geen statusbericht

Voor Community OpenVPN, --errors-to-stderr stuurt foutuitvoer naar de standaardfout in plaats van de standaarduitvoer. Dat is een keuze van stroom, geen ernstfilter, en het maakt geen fout. Een latere --log of --log-append kan dezelfde berichten naar een bestand omleiden, daarom hangt het effect van de vlag af van de rest van de opdracht. De logreferentie van de bron bepaalt die volgorde.

Dus de aanwezigheid van de vlag vertelt waar fouten naartoe zouden gaan. Het vertelt niet dat er een is opgetreden.

Startregel of procesuitvoer

Begin met de vraag wie de tekst heeft afgedrukt. Een service-eenheid, een applicatiebundel of een shell-wrapper herhaalt vaak de volledige argv voordat het VPN-proces iets schrijft. Die herhaling is niet te onderscheiden van een statusregel als u slechts een fragment ziet.

Als de regel van de wrapper kwam, heeft de VPN nog niet gedraaid en heeft hij niets te melden. Kijk verder naar beneden in de uitvoer naar het eerste bericht met een tijdstempel of een subsysteemnaam.

Als de regel van het VPN-proces kwam, is het nog steeds alleen de aanroep. OpenVPN drukt zijn eigen opdrachtregel niet als fout af, en de berichten die ertoe doen, volgen daarna.

Vind het proces en het resultaat

Stel vast of het proces nog draait. Een client die draait en opnieuw probeert, ziet er heel anders uit dan een die direct stopte, en dezelfde opdrachtregel staat voor beide.

Lees het resultaat vervolgens via het onderdeel dat het proces bezit. Onder systemd is dat het journaal van de eenheid; in een desktopapp is dat de eigen log of console van de app. De exitstatus plus de laatste berichten beantwoorden de vraag waar de optienaam slechts op zinspeelt.

Een configuratie-parsefout, een ontbrekend bestand, geweigerde inloggegevens en een peer-timeout zijn vier verschillende gebeurtenissen. Ze komen op dezelfde stroom aan. Ze vragen vier verschillende oplossingen. Bepaal welke u hebt voordat u het profiel aanraakt, en citeer het exacte bericht wanneer u om hulp vraagt.

Wanneer de vlag zijn plek verdient

De vlag verdient zijn plek wanneer stdout gegevens draagt en fouten die niet mogen verontreinigen, of wanneer een wrapper de twee stromen afzonderlijk opvangt. In een voorgrondsessie in een terminal komen beide stromen voor u terecht. In dat geval verandert het onderscheid zelden wat u doet.

Houd hem als het omringende script van de splitsing afhangt. Hem verwijderen omdat de naam alarmerend lijkt, verandert waar berichten verschijnen en lost niets anders op.

Wat u niet moet wijzigen

Behandel de optie niet als een reparatiestap. Hem verwijderen kan geen certificaat, route of verificatiefout herstellen.

Als de aanroep --config stdin bevat, wordt de configuratie via standaardinvoer aangevoerd. Dat is een aparte beslissing over hoe het bestand wordt aangeleverd. Wijzig één ding tegelijk, en lees het werkelijke bericht opnieuw voordat u het tweede wijzigt.

Gerelateerde artikelen