Stop die regte OpenVPN-verbinding: voorgrond, systemd of NM
Die opdrag wat ’n tonnel ontkoppel, hang daarvan af wie dit begin het. Vergelyk voorgrond-, systemd-, NetworkManager- en OpenVPN 3-eienaars voordat jy seine stuur.
Om ’n terminaalvenster toe te maak is nie dieselfde as om ’n tonnel toe te maak nie, en om ’n proses te dood is nie dieselfde as om ’n diens te stop nie. Op Linux hang die opdrag wat werklik ontkoppel daarvan af watter komponent die verbinding begin het en dus die lewensiklus daarvan besit. Die vergelyking hieronder dek die vier reëlings wat jy heel waarskynlik sal teëkom, en die identifiseerder wat elkeen nodig het.
Voorgrond- en daemonkliënte
’n Kliënt wat met die hand in ’n terminaal begin is, behoort aan daardie terminaal. Ctrl+C lewer ’n onderbreking, die kliënt breek sy koppelvlak af, en die tonnel eindig. Niks anders hoef ingelig te word nie.
’n Kliënt wat deur ’n skelomhulsel begin en in die agtergrond gelaat is, behoort aan niemand in die besonder nie, en dit is die geval waar mense na killall gryp. Vind eers die proses, bevestig dat sy opdraglyn die profiel noem wat jy bedoel, en stuur dan die normale beëindigingsein. ’n Proses wat onder sy toesighouer gedood word, sal bloot weer begin word, en daarom is die identifisering van die eienaar belangriker as die keuse van ’n sein. Stuur die prosesgroep slegs ’n sein wanneer jy bevestig het dat geen ander tonnel dit deel nie.
SIGUSR1 is nie ’n ontkoppeling nie; dit vra die kliënt om die tonnel weer te begin.
systemd-instanties
Wanneer ’n eenheid die verbinding besit, is die eenheid die voorwerp wat gestop moet word. Sjablooninstansies soos openvpn-client@office dra die profielnaam, en om die sjabloonteiken in plaas van die instansie te stop, kan elke kliënt op die gasheer raak.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Lees die eenheid se ExecStart wanneer jy onseker is watter profiel die instansie gelaai het.
’n Eenheid wat geaktiveer is, sal by die volgende opstart terugkom, wat ’n aparte besluit is van om dit nou te stop. Deaktiveer dit eers nadat jy besluit het dat die verbinding nie moet terugkeer nie, en teken daardie besluit op waar die volgende administrateur dit sal vind.
NetworkManager-profiele
’n Profiel wat deur NetworkManager bestuur word, is nie ’n proses wat jy van ’n sein kan voorsien nie. Die bestuurder besit die lewensiklus, en die voorwerp waarop gehandel moet word, is die aktiewe verbinding, geïdentifiseer deur UUID eerder as deur vertoonnaam. Om eers die aktiewe lys te lees, wys ook of ’n tweede tonnel onder ’n naam loop wat jy nie verwag het nie.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Vertoename herhaal, en ’n profiellêer se naam is nie sy identifiseerder nie, dus kopieer die UUID uit die lys. As die verbinding dadelik terugkom, is iets besig om dit te aktiveer: ’n secondaries-inskrywing op ’n basisverbinding, ’n dispatcher-skrip, of ’n outokoppel-vlag. Om die bestuurder se verbinding te stop is die regte eerste stap, en die heraktivering is die volgende vraag. Moenie die profiel uitwis om die heraktivering te stop nie, want dit verwyder ook die geloofsbriewe wat jy môre dalk nodig het nie.
Die bestuurder se opdragverwysing dokumenteer hoe ’n down-teiken gekies word.
OpenVPN 3-sessies
OpenVPN 3 Linux gebruik ’n sessiemodel eerder as ’n proses per tonnel. Jy ondersoek die sessies wat die diens ken, en handel dan op een sessiepad. Die pad is die identifiseerder, en dit is nie uitruilbaar met ’n konfigurasienaam nie.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Om elke sessie te ontkoppel is ’n ander aksie, en dit behoort ’n doelbewuste een te wees.
Dieselfde gasheer kan sessies van verskeie gebruikers hou, dus lys voordat jy handel en bevestig die eienaar van die sessie wat jy op die punt is om te beëindig.
Wat om daarna te verifieer
Kontroleer drie dinge ná enige van hierdie stope: die aktiewe verbindingslys bevat nie meer die tonnel nie, die koppelvlak is weg, en ’n roetesoektog vir ’n interne adres kies nie meer ’n tonneltoestel nie. Besluit dan wat by die volgende opstart gebeur.
ip -brief address
ip route get 10.8.0.1
Om ’n koppelvlak met die hand te verwyder stop nie die eienaar nie, en dit laat die opruiming halfpad gedoen.
Om nou te ontkoppel, om die volgende outomatiese begin te verhoed, en om nie-VPN-verkeer daarna toe te laat, is drie aparte keuses. Maak elkeen eksplisiet.