At lukke et terminalvindue er ikke det samme som at lukke en tunnel, og at dræbe en proces er ikke det samme som at stoppe en tjeneste. På Linux afhænger kommandoen, der faktisk afbryder forbindelsen, af hvilken komponent der startede forbindelsen og derfor ejer dens livscyklus. Sammenligningen nedenfor dækker de fire opstillinger, du mest sandsynligt møder, og den identifikator, hver af dem kræver.

Klienter i forgrunden og dæmoniserede klienter

En klient, der startes manuelt i en terminal, tilhører den terminal. Ctrl+C leverer en afbrydelse, klienten nedriver sin grænseflade, og tunnelen slutter. Intet andet skal underrettes.

En klient, der startes via en shell-indpakning og efterlades i baggrunden, tilhører ingen bestemt, og det er det tilfælde, hvor folk griber efter killall. Find først processen, bekræft at dens kommandolinje nævner den profil, du mener, og send derefter det normale afslutningssignal. En overvåget proces, der dræbes under sin supervisor, vil blot blive genstartet, og derfor er det vigtigere at identificere ejeren end at vælge et signal. Send kun signal til procesgruppen, når du har bekræftet, at ingen anden tunnel deler den.

SIGUSR1 er ikke en afbrydelse; den beder klienten om at genstarte tunnelen.

systemd-instanser

Når en unit ejer forbindelsen, er unit'en det objekt, der skal stoppes. Skabeloninstanser som openvpn-client@office bærer profilnavnet, og at stoppe skabelonmålet i stedet for instansen kan påvirke hver klient på værten.

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

Læs unit'ens ExecStart, når du er usikker på, hvilken profil instansen indlæste.

En unit, der er aktiveret, kommer tilbage ved næste opstart, hvilket er en beslutning for sig selv i forhold til at stoppe den nu. Deaktiver den først, når du har besluttet, at forbindelsen ikke skal vende tilbage, og noter den beslutning, hvor den næste administrator finder den.

NetworkManager-profiler

En profil, der administreres af NetworkManager, er ikke en proces, du kan sende et signal til. Administratoren ejer livscyklussen, og objektet, der skal handles på, er den aktive forbindelse, identificeret ved UUID snarere end ved visningsnavn. At læse den aktive liste først viser også, om en anden tunnel kører under et navn, du ikke forventede.

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

Visningsnavne gentages, og en profilfils navn er ikke dens identifikator, så kopier UUID'et fra listen. Hvis forbindelsen kommer straks tilbage, er der noget, der aktiverer den: en secondaries-post på en basisforbindelse, et dispatcher-script eller et auto-connect-flag. At stoppe administratorforbindelsen er det rigtige første skridt, og genaktiveringen er det næste spørgsmål. Slet ikke profilen for at stoppe genaktiveringen, for det fjerner også de legitimationsoplysninger, du måske skal bruge i morgen.

Administratorens kommandoreference dokumenterer, hvordan et down-mål vælges.

OpenVPN 3-sessioner

OpenVPN 3 Linux bruger en sessionsmodel i stedet for en proces per tunnel. Du undersøger de sessioner, tjenesten kender, og handler derefter på én sessionssti. Stien er identifikatoren, og den kan ikke udskiftes med et konfigurationsnavn.

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

At afbryde hver session er en anden handling, og den bør være bevidst.

Den samme vært kan have sessioner fra flere brugere, så list før du handler, og bekræft ejeren af den session, du er ved at afslutte.

Hvad du skal kontrollere bagefter

Kontroller tre ting efter enhver af disse stop: listen over aktive forbindelser indeholder ikke længere tunnelen, grænsefladen er væk, og et ruteopslag for en intern adresse vælger ikke længere en tunnel-enhed. Beslut derefter, hvad der sker ved næste opstart.

ip -brief address
ip route get 10.8.0.1

At fjerne en grænseflade manuelt stopper ikke ejeren, og det efterlader oprydningen halvt gjort.

At afbryde nu, forhindre den næste automatiske start og tillade trafik uden for VPN bagefter er tre separate valg. Træf hvert af dem eksplicit.

Relaterede artikler