Ukončete správné připojení OpenVPN: popředí, systemd nebo NM
Příkaz, který odpojí tunel, závisí na tom, kdo jej spustil. Porovnejte vlastníky popředí, systemd, NetworkManager a OpenVPN 3, než odešlete signál.
Zavřít okno terminálu není totéž jako zavřít tunel a zabít proces není totéž jako zastavit službu. V Linuxu příkaz, který skutečně odpojí spojení, závisí na tom, která komponenta připojení spustila a tedy vlastní jeho životní cyklus. Následující srovnání pokrývá čtyři uspořádání, se kterými se nejspíš setkáte, a identifikátor, který každé z nich potřebuje.
Klienti v popředí a démonizovaní klienti
Klient spuštěný ručně v terminálu patří tomu terminálu. Ctrl+C předá přerušení, klient zruší své rozhraní a tunel skončí. Nic dalšího se nemusí oznamovat.
Klient spuštěný přes obal shellu a ponechaný na pozadí nepatří nikomu konkrétnímu, a to je případ, kdy lidé sahají po killall. Nejprve proces najděte, ověřte, že jeho příkazový řádek zmiňuje zamýšlený profil, a poté odešlete běžný signál k ukončení. Hlídaný proces zabitý pod svým dozorem bude jednoduše restartován, proto je určení vlastníka důležitější než volba signálu. Posílejte signál skupině procesů jen tehdy, když jste ověřili, že ji nesdílí žádný jiný tunel.
SIGUSR1 není odpojení; žádá klienta o restart tunelu.
Instance systemd
Když jednotka vlastní připojení, jednotka je objekt, který je třeba zastavit. Šablonové instance jako openvpn-client@office nesou název profilu a zastavení šablonového cíle místo instance může ovlivnit každého klienta na hostiteli.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Přečtěte si ExecStart jednotky, když si nejste jisti, který profil instance načetla.
Povolená jednotka se při příštím startu vrátí, což je samostatné rozhodnutí od jejího nynějšího zastavení. Zakažte ji až poté, co rozhodnete, že se připojení nemá vracet, a toto rozhodnutí zaznamenejte tam, kde je najde příští správce.
Profily NetworkManageru
Profil spravovaný NetworkManagerem není proces, kterému můžete poslat signál. Správce vlastní životní cyklus a objektem, na který je třeba působit, je aktivní připojení identifikované UUID, nikoli zobrazovaným názvem. Přečtení aktivního seznamu nejprve také ukáže, zda neběží druhý tunel pod názvem, který jste nečekali.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Zobrazované názvy se opakují a název souboru profilu není jeho identifikátor, proto UUID z výpisu zkopírujte. Pokud se připojení hned vrátí, něco jej aktivuje: položka secondaries na základním připojení, skript dispatcheru nebo příznak automatického připojení. Zastavení připojení správce je správný první krok a reaktivace je další otázka. Nemažte profil, abyste reaktivaci zastavili, protože tím odstraníte i přihlašovací údaje, které můžete zítra potřebovat.
Referenční příručka příkazů správce dokumentuje, jak se volí cíl down.
Relace OpenVPN 3
OpenVPN 3 Linux používá model relací místo procesu pro každý tunel. Prohlédnete relace, které služba zná, a poté jednáte s jednou cestou relace. Cesta je identifikátor a není zaměnitelná s názvem konfigurace.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Odpojení všech relací je jiná akce a mělo by být záměrné.
Stejný hostitel může mít relace několika uživatelů, proto nejprve vypište a potvrďte vlastníka relace, kterou se chystáte ukončit.
Co ověřit potom
Po každém z těchto zastavení zkontrolujte tři věci: seznam aktivních připojení už tunel neobsahuje, rozhraní zmizelo a vyhledání trasy pro interní adresu už nevybírá tunelové zařízení. Poté rozhodněte, co se stane při příštím startu.
ip -brief address
ip route get 10.8.0.1
Ruční odebrání rozhraní nezastaví vlastníka a nechá úklid napůl hotový.
Odpojit nyní, zabránit příštímu automatickému spuštění a poté povolit provoz mimo VPN jsou tři samostatné volby. Udělejte každou z nich výslovně.