Opriți conexiunea OpenVPN corectă: prim-plan, systemd sau NM
Comanda care deconectează un tunel depinde de cine l-a pornit. Comparați proprietarii din prim-plan, systemd, NetworkManager și OpenVPN 3 înainte de a trimite un semnal.
Închiderea unei ferestre de terminal nu este același lucru cu închiderea unui tunel, iar uciderea unui proces nu este același lucru cu oprirea unui serviciu. Pe Linux, comanda care deconectează efectiv depinde de ce componentă a pornit conexiunea și, prin urmare, îi deține ciclul de viață. Comparația de mai jos acoperă cele patru aranjamente pe care le veți întâlni cel mai probabil, și identificatorul de care are nevoie fiecare.
Clienți în prim-plan și clienți demonizați
Un client pornit manual într-un terminal aparține acelui terminal. Ctrl+C trimite o întrerupere, clientul își demontează interfața, iar tunelul se termină. Nimic altceva nu trebuie anunțat.
Un client pornit printr-un wrapper de shell și lăsat în fundal nu aparține nimănui anume, și exact atunci oamenii recurg la killall. Găsiți mai întâi procesul, confirmați că linia sa de comandă menționează profilul dorit, apoi trimiteți semnalul normal de terminare. Un proces supravegheat ucis sub supraveghetorul său va fi pur și simplu repornit, de aceea identificarea proprietarului contează mai mult decât alegerea unui semnal. Trimiteți semnalul către grupul de procese doar după ce ați confirmat că niciun alt tunel nu îl împarte.
SIGUSR1 nu este o deconectare; îi cere clientului să repornească tunelul.
Instanțe systemd
Când o unitate deține conexiunea, unitatea este obiectul care trebuie oprit. Instanțele șablon precum openvpn-client@office poartă numele profilului, iar oprirea țintei șablonului în locul instanței poate afecta fiecare client de pe gazdă.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Citiți ExecStart al unității când nu sunteți sigur ce profil a încărcat instanța.
O unitate activată va reveni la următoarea pornire, ceea ce este o decizie separată de a o opri acum. Dezactivați-o numai după ce decideți că conexiunea nu trebuie să revină, și notați această decizie acolo unde o va găsi următorul administrator.
Profiluri NetworkManager
Un profil gestionat de NetworkManager nu este un proces căruia să îi puteți trimite un semnal. Managerul deține ciclul de viață, iar obiectul asupra căruia trebuie acționat este conexiunea activă, identificată prin UUID și nu prin numele afișat. Citirea mai întâi a listei active arată și dacă rulează un al doilea tunel sub un nume la care nu vă așteptați.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Numele afișate se repetă, iar numele unui fișier de profil nu este identificatorul său, așa că copiați UUID-ul din listă. Dacă conexiunea revine imediat, ceva o activează: o intrare secondaries pe o conexiune de bază, un script dispatcher sau un indicator de conectare automată. Oprirea conexiunii managerului este primul pas corect, iar reactivarea este următoarea întrebare. Nu ștergeți profilul pentru a opri reactivarea, deoarece aceasta elimină și acreditările de care ați putea avea nevoie mâine.
Referința de comenzi a managerului documentează cum este selectată o țintă down.
Sesiuni OpenVPN 3
OpenVPN 3 Linux folosește un model de sesiuni în loc de un proces per tunel. Inspectați sesiunile pe care serviciul le cunoaște, apoi acționați asupra unei singure căi de sesiune. Calea este identificatorul și nu este interschimbabilă cu un nume de configurație.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Deconectarea fiecărei sesiuni este o acțiune diferită și ar trebui să fie deliberată.
Aceeași gazdă poate găzdui sesiuni ale mai multor utilizatori, așa că listați înainte de a acționa și confirmați proprietarul sesiunii pe care sunteți pe punctul de a o încheia.
Ce trebuie verificat după
Verificați trei lucruri după oricare dintre aceste opriri: lista conexiunilor active nu mai conține tunelul, interfața a dispărut, iar o căutare de rută pentru o adresă internă nu mai selectează un dispozitiv de tunel. Apoi decideți ce se întâmplă la următoarea pornire.
ip -brief address
ip route get 10.8.0.1
Eliminarea manuală a unei interfețe nu oprește proprietarul și lasă curățarea pe jumătate făcută.
Deconectarea acum, prevenirea următoarei porniri automate și permiterea ulterioară a traficului non-VPN sunt trei alegeri separate. Faceți fiecare explicită.