OpenVPN hlásí dokončenou inicializaci: proč se výzva nevrací
Poslední řádek protokolu označuje konec spouštění, ne konec programu. Rozhodněte se mezi laděním v popředí, jednotkou služby a režimem daemon.
Nic není zaseknuté, když terminál po posledním řádku protokolu ztichne. To je očekávaný tvar pro klienta v popředí: dokončil spouštění a teď tam sedí a přenáší provoz. Výzva shellu není znamením úspěchu, jak to vypadá.
Berte zprávu jako hranici mezi spuštěním a ustáleným stavem, protože přesně to označuje.
Zpráva označuje konec spouštění, ne konec procesu
OpenVPN vypíše tento řádek poté, co otevřel zařízení, nakonfiguroval rozhraní, nainstaloval trasy a dokončil výměnu TLS s protějškem. Proces pak běží dál, protože jeho úkolem je držet tunel otevřený a přeposílat pakety. Program v popředí se nevrací k výzvě, dokud ten úkol ještě plní. Tichý výstup potom je normální, protože klient promluví jen tehdy, když se něco změní.
Pokud se řádek objeví a spojení později zemře, je to jiná událost, a protokol to řekne až dodatečně.
Ctrl+C je rozhodnutí, ne oprava
Stisknutí Ctrl+C odešle přerušení, které klient bere jako žádost o ukončení. Výzva se vrátí, tunel zmizí a jakákoli relace, která ho používala, skončí. Vypadá to jako pokrok a ve skutečnosti je to pravý opak. Pokud je cílem trvalé spojení, odpovědí je přesunout proces někam, kde může běžet bez vašeho terminálu, ne ho přerušit.
Nechat ho v popředí je správná volba, dokud ladíte, protože pozdější chyby zůstávají vidět ve stejném okně. Tichá minuta nic neprokazuje ani jedním směrem; otestujte prostředek přes tunel, místo abyste sledovali výstup.
Co zpráva neprokazuje
Dokončení je místní tvrzení o vlastním nastavení klienta. Neříká, že protistrana odpovídá, že nainstalované trasy odpovídají tomu, co potřebujete, ani že překlad jmen přes tunel funguje. Profil s rozděleným tunelem může být dokonale inicializovaný, zatímco firemní sdílený prostředek zůstává nedostupný, protože ho trasa nebo zásada DNS nikdy nepokryly. Instance na straně serveru vypisují podobný řádek, když jsou připraveny přijímat klienty, což není totéž jako připojený klient.
„Server se spustil“ a „notebook dokáže otevřít sdílený prostředek“ jsou pozorování ze dvou různých míst a jejich záměna vás pošle ladit špatný hostitel.
Spouštění bez terminálu
Pro trvalé nasazení použijte služební uspořádání, které platforma podporuje. Na hostiteli se systemd je to instance openvpn-client@office s profilem v /etc/openvpn/client, spuštěná a povolená, aby přežila restart. Community OpenVPN nabízí také --daemon spolu s --log nebo --log-append, což proces odpoutá a pošle výstup do souboru. Oba přístupy mění, jak proces běží; ani jeden neopraví trasu ani neudělá vzdálenou aplikaci zdravou.
Zkontrolujte, že nespouštíte druhou instanci vedle té, kterou už spravuje služba. Dva klienti nárokující si stejný profil vytvářejí matoucí protokoly a jeden tunel, který jste nezamýšleli.
Vyberte uspořádání, které odpovídá úloze
Popředí pro diagnostiku, služba pro vše, co musí přežít relaci, režim daemon, když není o správce služeb opřít. Ty tři pokrývají obvyklé případy a každé má jasný důvod existence. Náhodná volba jednoho z nich je to, co vytváří hlášení „funguje, dokud se okno nezavře“.
Když má tunel zůstat, poté potvrďte, že se po restartu vrátí a že jeho protokoly končí někde, kam se budete dívat. Řádek inicializace se objevuje i v těchto protokolech, a pak už nikdo nemusí kvůli němu hlídat terminál.