Zavrieť okno terminálu nie je to isté ako zavrieť tunel a zabiť proces nie je to isté ako zastaviť službu. V Linuxe príkaz, ktorý skutočne odpojí spojenie, závisí od toho, ktorá komponenta pripojenie spustila a teda vlastní jeho životný cyklus. Nasledujúce porovnanie pokrýva štyri usporiadania, s ktorými sa najskôr stretnete, a identifikátor, ktorý každé z nich potrebuje.

Klienti v popredí a démonizovaní klienti

Klient spustený ručne v termináli patrí tomu terminálu. Ctrl+C odovzdá prerušenie, klient zruší svoje rozhranie a tunel sa skončí. Nič ďalšie netreba oznamovať.

Klient spustený cez obal shellu a ponechaný na pozadí nepatrí nikomu konkrétnemu, a to je prípad, keď ľudia siahajú po killall. Najprv proces nájdite, overte, že jeho príkazový riadok uvádza zamýšľaný profil, a potom odošlite bežný signál na ukončenie. Sledovaný proces zabitý pod svojím dozorcom bude jednoducho reštartovaný, preto je určenie vlastníka dôležitejšie než voľba signálu. Signál skupine procesov posielajte len vtedy, keď ste overili, že ju nezdieľa žiadny iný tunel.

SIGUSR1 nie je odpojenie; žiada klienta o reštart tunela.

Inštancie systemd

Keď jednotka vlastní pripojenie, jednotka je objekt, ktorý treba zastaviť. Šablónové inštancie ako openvpn-client@office nesú názov profilu a zastavenie šablónového cieľa namiesto inštancie môže ovplyvniť každého klienta na hostiteľovi.

systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]

Prečítajte si ExecStart jednotky, keď si nie ste istí, ktorý profil inštancia načítala.

Povolená jednotka sa pri ďalšom štarte vráti, čo je samostatné rozhodnutie od jej terajšieho zastavenia. Zakážte ju až po tom, čo rozhodnete, že sa pripojenie nemá vracať, a toto rozhodnutie zaznamenajte tam, kde ho nájde ďalší správca.

Profily NetworkManageru

Profil spravovaný NetworkManagerom nie je proces, ktorému môžete poslať signál. Správca vlastní životný cyklus a objektom, na ktorý treba pôsobiť, je aktívne pripojenie identifikované UUID, nie zobrazovaným názvom. Prečítanie aktívneho zoznamu najprv tiež ukáže, či nebeží druhý tunel pod názvom, ktorý ste nečakali.

nmcli connection show --active
nmcli connection down uuid actual-uuid

Zobrazované názvy sa opakujú a názov súboru profilu nie je jeho identifikátor, preto UUID z výpisu skopírujte. Ak sa pripojenie hneď vráti, niečo ho aktivuje: položka secondaries na základnom pripojení, skript dispatchera alebo príznak automatického pripojenia. Zastavenie pripojenia správcu je správny prvý krok a reaktivácia je ďalšia otázka. Nemažte profil, aby ste reaktiváciu zastavili, pretože tým odstránite aj prihlasovacie údaje, ktoré môžete zajtra potrebovať.

Referenčná príručka príkazov správcu dokumentuje, ako sa volí cieľ down.

Relácie OpenVPN 3

OpenVPN 3 Linux používa model relácií namiesto procesu pre každý tunel. Prezeráte relácie, ktoré služba pozná, a potom konáte na jednej ceste relácie. Cesta je identifikátor a nie je zameniteľná s názvom konfigurácie.

openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect

Odpojenie všetkých relácií je iná akcia a mala by byť zámerná.

Ten istý hostiteľ môže mať relácie niekoľkých používateľov, preto najprv vypíšte a potvrďte vlastníka relácie, ktorú sa chystáte ukončiť.

Čo overiť potom

Po každom z týchto zastavení skontrolujte tri veci: zoznam aktívnych pripojení už tunel neobsahuje, rozhranie zmizlo a vyhľadanie trasy pre internú adresu už nevyberá tunelové zariadenie. Potom rozhodnite, čo sa stane pri ďalšom štarte.

ip -brief address
ip route get 10.8.0.1

Ručné odstránenie rozhrania nezastaví vlastníka a nechá upratovanie na polovicu.

Odpojiť teraz, zabrániť ďalšiemu automatickému spusteniu a potom povoliť prevádzku mimo VPN sú tri samostatné voľby. Urobte každú z nich výslovne.

Súvisiace články