Apturiet pareizo OpenVPN savienojumu: priekšplāns, systemd vai NM
Komanda, kas atvieno tuneli, ir atkarīga no tā, kas to sāka. Salīdziniet priekšplāna, systemd, NetworkManager un OpenVPN 3 īpašniekus pirms signāla sūtīšanas.
Termināļa loga aizvēršana nav tas pats, kas tuneļa aizvēršana, un procesa nogalināšana nav tas pats, kas pakalpojuma apturēšana. Linux komanda, kas patiešām atvieno savienojumu, ir atkarīga no tā, kura komponente sāka savienojumu un tāpēc pārvalda tā dzīves ciklu. Zemāk esošais salīdzinājums aptver četras konfigurācijas, ar kurām jūs, visticamāk, saskarsities, un identifikatoru, kas katrai no tām nepieciešams.
Priekšplāna un dēmonizētie klienti
Terminālī ar roku palaists klients pieder šim terminālim. Ctrl+C nosūta pārtraukumu, klients nojauc savu saskarni, un tunelis beidzas. Nekas cits nav jāinformē.
Klients, kas palaists caur čaulas ietvaru un atstāts fonā, nepieder nevienam konkrētam, un tieši tad cilvēki ķeras pie killall. Vispirms atrodiet procesu, pārliecinieties, ka tā komandrindā minēts vēlamais profils, un pēc tam nosūtiet parasto apturēšanas signālu. Uzraudzīts process, kas nogalināts zem sava uzrauga, vienkārši tiks restartēts, tāpēc īpašnieka noteikšana ir svarīgāka par signāla izvēli. Sūtiet signālu procesu grupai tikai tad, kad esat pārliecinājies, ka to nedala neviens cits tunelis.
SIGUSR1 nav atvienošana; tas lūdz klientu restartēt tuneli.
systemd instances
Kad unit pārvalda savienojumu, unit ir apturamais objekts. Veidņu instances, piemēram, openvpn-client@office, nes profila nosaukumu, un veidnes mērķa apturēšana instances vietā var ietekmēt katru klientu uz resursdatora.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Lasiet unit ExecStart, ja neesat pārliecināts, kuru profilu ielādēja instance.
Iespējota unit atgriezīsies nākamajā palaišanā, un tas ir atsevišķs lēmums no tās apturēšanas tagad. Atspējojiet to tikai pēc tam, kad esat nolēmis, ka savienojumam nav jāatgriežas, un pierakstiet šo lēmumu tur, kur to atradīs nākamais administrators.
NetworkManager profili
NetworkManager pārvaldīts profils nav process, kam varat nosūtīt signālu. Pārvaldnieks pārvalda dzīves ciklu, un objekts, ar ko jārīkojas, ir aktīvais savienojums, kas identificēts ar UUID, nevis ar parādāmo nosaukumu. Aktīvā saraksta nolasīšana vispirms arī parāda, vai zem cita nosaukuma nedarbojas otrs tunelis, kuru negaidījāt.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Parādāmie nosaukumi atkārtojas, un profila faila nosaukums nav tā identifikators, tāpēc nokopējiet UUID no saraksta. Ja savienojums atgriežas uzreiz, kaut kas to aktivizē: secondaries ieraksts pamata savienojumā, dispatcher skripts vai automātiskās savienošanās karodziņš. Pārvaldnieka savienojuma apturēšana ir pareizais pirmais solis, un atkārtota aktivizēšana ir nākamais jautājums. Nedzēsiet profilu, lai apturētu atkārtotu aktivizēšanu, jo tas noņem arī akreditācijas datus, kas var būt nepieciešami rīt.
Pārvaldnieka komandu uzziņa dokumentē, kā tiek izvēlēts down mērķis.
OpenVPN 3 sesijas
OpenVPN 3 Linux izmanto sesiju modeli, nevis procesu katram tunelim. Jūs pārbaudāt sesijas, ko zina pakalpojums, un pēc tam rīkojas ar vienu sesijas ceļu. Ceļš ir identifikators, un to nevar aizstāt ar konfigurācijas nosaukumu.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Katras sesijas atvienošana ir cita darbība, un tai jābūt apzinātai.
Viens resursdators var turēt vairāku lietotāju sesijas, tāpēc pirms darbības uzskaitiet tās un apstipriniet tās sesijas īpašnieku, kuru gatavojaties beigt.
Kas jāpārbauda pēc tam
Pēc jebkuras no šīm apturēšanām pārbaudiet trīs lietas: aktīvo savienojumu sarakstā vairs nav tuneļa, saskarne ir pazudusi, un maršruta meklēšana iekšējai adresei vairs neizvēlas tuneļa ierīci. Pēc tam izlemiet, kas notiks nākamajā palaišanā.
ip -brief address
ip route get 10.8.0.1
Manuāla saskarnes noņemšana neaptur īpašnieku, un tā atstāj tīrīšanu pusceļā.
Atvienot tagad, novērst nākamo automātisko palaišanu un pēc tam atļaut ārpus VPN satiksmi ir trīs atsevišķas izvēles. Izpildiet katru no tām skaidri.