openvpn --errors-to-stderr je přepínač spuštění, nikoli chyba
Když v příkazovém řádku uvidíte --errors-to-stderr, neznamená to, že něco selhalo. Rozhodněte, zda čtete řádek spuštění, nebo výstup procesu, a pak to ověřte.
Příkazový řádek obsahující --errors-to-stderr vypadá jako stížnost, ale není. Slovo patří k názvu volby, stejně jako název logovacího souboru nic neříká o tom, co soubor obsahuje. Než změníte jakoukoli konfiguraci, zjistěte, co vlastně čtete.
Rozhodnutí má tři větve: řádek je samo spuštění, řádek je výstup, který program vypsal, nebo řádek je text, který před spuštěním VPN zopakovala obálka. Každá větev ukazuje na jiné místo, kam se dívat, a jen jedna z nich je vlastní zpráva VPN.
Název volby není stavová zpráva
Pro Community OpenVPN, --errors-to-stderr směruje výstup chyb na standardní chybový výstup místo standardního výstupu. To je volba proudu, ne filtr závažnosti, a nevytváří chybu. Pozdější --log nebo --log-append mohou přesměrovat tytéž zprávy do souboru, proto účinek přepínače závisí na zbytku příkazu. Referenční příručka protokolování od zdroje určuje toto pořadí.
Přítomnost přepínače tedy říká, kam by chyby šly. Neříká, že nějaká nastala.
Řádek spuštění, nebo výstup procesu
Začněte otázkou, kdo text vypsal. Servisní jednotka, balíček aplikace nebo obálka shellu často zopakují celé argv dříve, než proces VPN cokoli zapíše. Toto echo nelze od stavového řádku odlišit, pokud vidíte jen fragment.
Pokud řádek pochází z obálky, VPN ještě neběžela a nemá co hlásit. Hledejte níže ve výstupu první zprávu s časovým razítkem nebo názvem subsystému.
Pokud řádek pochází z procesu VPN, je to stále jen volání. OpenVPN nevypisuje svůj vlastní příkazový řádek jako chybu a důležité zprávy přicházejí až po něm.
Najděte proces a jeho výsledek
Zjistěte, zda proces stále běží. Klient, který běží a znovu se pokouší, vypadá velmi odlišně od toho, který hned skončil, a před oběma stojí stejný příkazový řádek.
Potom čtěte výsledek přes komponentu, která proces vlastní. V systemd je to journal jednotky; u desktopové aplikace vlastní log nebo konzole aplikace. Stav ukončení a poslední zprávy odpovídají na otázku, na kterou název volby jen naznačuje.
Chyba parsování konfigurace, chybějící soubor, odmítnuté přihlašovací údaje a časový limit protistrany jsou čtyři různé události. Přicházejí stejným proudem. Potřebují čtyři různá řešení. Rozhodněte, kterou máte, než se dotknete profilu, a když žádáte o pomoc, citujte přesnou zprávu.
Kdy si přepínač zaslouží své místo
Přepínač si zaslouží své místo, když stdout nese data a chyby je nesmějí znečistit, nebo když obálka zachycuje oba proudy odděleně. V relaci na popředí v terminálu se oba proudy ocitnou před vámi. V takovém případě rozlišení málokdy změní to, co děláte.
Ponechte ho, pokud okolní skript závisí na rozdělení. Odstranění proto, že název vypadá znepokojivě, změní, kde se zprávy objevují, a nic jiného nespraví.
Co neměnit
Neberte volbu jako krok opravy. Její smazání nemůže opravit certifikát, trasu ani selhání autentizace.
Pokud volání obsahuje --config stdin, konfigurace se podává přes standardní vstup. To je samostatné rozhodnutí o tom, jak je soubor dodán. Měňte jednu věc najednou a před změnou druhé si znovu přečtěte skutečnou zprávu.