Zapreti okno terminala ni isto kot zapreti tunel, in ubiti proces ni isto kot ustaviti storitev. V Linuxu je ukaz, ki dejansko prekine povezavo, odvisen od tega, katera komponenta je zagnala povezavo in zato upravlja njen življenjski cikel. Spodnja primerjava pokriva štiri postavitve, na katere boste najverjetneje naleteli, in identifikator, ki ga vsaka potrebuje.

Odjemalci v ospredju in demonizirani odjemalci

Odjemalec, zagnan ročno v terminalu, pripada temu terminalu. Ctrl+C posreduje prekinitev, odjemalec razgradi svoj vmesnik in tunel se konča. Ničesar drugega ni treba obveščati.

Odjemalec, zagnan prek ovoja lupine in puščen v ozadju, ne pripada nikomur posebej, in to je primer, ko ljudje posežejo po killall. Najprej poiščite proces, potrdite, da njegova ukazna vrstica omenja želeni profil, in nato pošljite običajni signal za ustavitev. Nadzorovani proces, ubit pod svojim nadzornikom, bo preprosto znova zagnan, zato je prepoznavanje lastnika pomembnejše od izbire signala. Signal skupini procesov pošljite le, ko ste potrdili, da si je ne deli noben drug tunel.

SIGUSR1 ni prekinitev; od odjemalca zahteva ponovni zagon tunela.

Instance systemd

Ko enota upravlja povezavo, je enota objekt, ki ga je treba ustaviti. Predlogne instance, kot je openvpn-client@office, nosijo ime profila, in ustavitev predlognega cilja namesto instance lahko vpliva na vsakega odjemalca na gostitelju.

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

Preberite ExecStart enote, ko niste prepričani, kateri profil je naložila instanca.

Omogočena enota se bo ob naslednjem zagonu vrnila, kar je ločena odločitev od tega, da jo ustavite zdaj. Onemogočite jo šele potem, ko se odločite, da se povezava ne sme vrniti, in to odločitev zapišite tja, kjer jo bo našel naslednji skrbnik.

Profili NetworkManagerja

Profil, ki ga upravlja NetworkManager, ni proces, ki bi mu lahko poslali signal. Upravitelj upravlja življenjski cikel, objekt, na katerem je treba ukrepati, pa je aktivna povezava, identificirana z UUID in ne z prikazanim imenom. Branje aktivnega seznama najprej pokaže tudi, ali ne teče drug tunel pod imenom, ki ga niste pričakovali.

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

Prikazana imena se ponavljajo in ime datoteke profila ni njen identifikator, zato UUID kopirajte s seznama. Če se povezava takoj vrne, jo nekaj aktivira: vnos secondaries na osnovni povezavi, skript dispatcherja ali zastavica samodejnega povezovanja. Ustavitev upraviteljeve povezave je pravi prvi korak, ponovna aktivacija pa je naslednje vprašanje. Profila ne brišite, da bi ustavili ponovno aktivacijo, ker to odstrani tudi poverilnice, ki jih boste morda potrebovali jutri.

Upraviteljev referenčni priročnik ukazov dokumentira, kako se izbere cilj down.

Seje OpenVPN 3

OpenVPN 3 Linux uporablja model sej namesto procesa na tunel. Pregledate seje, ki jih storitev pozna, nato ukrepate na eni poti seje. Pot je identifikator in je ni mogoče zamenjati z imenom konfiguracije.

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

Prekinitev vsake seje je drugačno dejanje in bi moralo biti namerno.

Isti gostitelj lahko hrani seje več uporabnikov, zato najprej izpišite in potrdite lastnika seje, ki jo boste končali.

Kaj preveriti pozneje

Po vsaki od teh ustavitev preverite tri stvari: seznam aktivnih povezav ne vsebuje več tunela, vmesnik je izginil in iskanje poti za notranji naslov ne izbere več tunelske naprave. Nato odločite, kaj se zgodi ob naslednjem zagonu.

ip -brief address
ip route get 10.8.0.1

Ročna odstranitev vmesnika ne ustavi lastnika in pusti čiščenje na pol.

Prekiniti zdaj, preprečiti naslednji samodejni zagon in nato dovoliti promet zunaj VPN so tri ločene izbire. Vsako izmed njih naredite izrecno.

Sorodni članki