Спыніце патрэбнае злучэнне OpenVPN: прамы рэжым, systemd або NM
Каманда, якая разрывае тунель, залежыць ад таго, хто яго запусціў. Параўнайце уладальнікаў прамога рэжыму, systemd, NetworkManager і OpenVPN 3, перш чым пасылаць сігнал.
Закрыць акно тэрмінала — не тое ж самае, што зачыніць тунель, а забіць працэс — не тое ж самае, што спыніць службу. У Linux каманда, якая фактычна разрывае злучэнне, залежыць ад таго, які кампанент запусціў злучэнне і таму валодае яго жыццёвым цыклам. Параўнанне ніжэй ахоплівае чатыры ўпарадкаванні, з якімі вы хутчэй за ўсё сустрэнецеся, і ідэнтыфікатар, патрэбны кожнаму з іх.
Кліенты ў прамым рэжыме і дэманы
Кліент, запушчаны ўручную ў тэрмінале, належыць гэтаму тэрміналу. Ctrl+C перадае перапынак, кліент здымае свой інтэрфейс, і тунель сканчаецца. Больш нікому паведамляць не трэба.
Кліент, запушчаны праз абгортку абалонкі і пакінуты ў фоне, не належыць нікому канкрэтна, і менавіта ў гэтым выпадку людзі бяруцца за killall. Спачатку знойдзіце працэс, пераканайцеся, што ў яго камандным радку згадваецца патрэбны профіль, і затым пашліце звычайны сігнал спынення. Працэс пад наглядам, забіты з-пад свайго наглядальніка, проста перазапусціцца, таму вызначэнне ўладальніка важнейшае за выбар сігналу. Пасылайце сігнал групе працэсаў толькі тады, калі пераканаліся, што ніякі іншы тунель яе не падзяляе.
SIGUSR1 — гэта не разрыў злучэння; ён просіць кліент перазапусціць тунель.
Асобнікі systemd
Калі юніт валодае злучэннем, юніт і з'яўляецца аб'ектам для спынення. Шаблонныя асобнікі, такія як openvpn-client@office, нясуць імя профілю, і спыненне мэты шаблона замест асобніка можа паўплываць на кожнага кліента на хаце.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Чытайце ExecStart юніта, калі не ўпэўнены, які профіль загрузіў асобнік.
Уключаны юніт вернецца пры наступнай загрузцы, і гэта асобнае рашэнне ад яго спынення зараз. Адключайце яго толькі пасля рашэння, што злучэнне не павінна вяртацца, і запішыце гэтае рашэнне там, дзе яго знойдзе наступны адміністратар.
Профілі NetworkManager
Профіль, якім кіруе NetworkManager, — гэта не працэс, якому можна паслаць сігнал. Менеджэр валодае жыццёвым цыклам, і аб'ект, на які трэба дзейнічаць, — актыўнае злучэнне, якое вызначаецца UUID, а не адлюстраванай назвай. Чытанне актыўнага спісу спачатку таксама паказвае, ці працуе другі тунель пад назвай, якой вы не чакалі.
nmcli connection show --active
nmcli connection down uuid actual-uuid
Адлюстраваныя назвы паўтараюцца, а імя файла профілю не з'яўляецца яго ідэнтыфікатарам, таму скапіруйце UUID са спісу. Калі злучэнне адразу вяртаецца, нешта яго актывізуе: запіс secondaries на базавым злучэнні, скрыпт дыспетчара або сцяг аўтападключэння. Спыненне злучэння менеджэра — правільны першы крок, а паўторная актывацыя — наступнае пытанне. Не выдаляйце профіль, каб спыніць паўторную актывацыю, бо гэта таксама выдаляе ўліковыя даныя, якія могуць спатрэбіцца заўтра.
Даведнік каманд менеджэра апісвае, як выбіраецца мэта down.
Сеансы OpenVPN 3
OpenVPN 3 Linux выкарыстоўвае мадэль сеансаў, а не працэс на кожны тунель. Вы праглядаеце сеансы, якія ведае служба, затым дзейнічаеце на адным шляху сеансу. Шлях — гэта ідэнтыфікатар, і ён не ўзаемазаменны з імем канфігурацыі.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Разрыў усіх сеансаў — гэта іншае дзеянне, і яно павінна быць наўмысным.
Адзін хост можа ўтрымліваць сеансы некалькіх карыстальнікаў, таму пералічыце іх перад дзеяннем і пацвердзіце ўладальніка сеансу, які вы збіраецеся завяршыць.
Што праверыць пасля
Пасля любога з гэтых спыненняў праверце тры рэчы: спіс актыўных злучэнняў больш не змяшчае тунель, інтэрфейс знік, а пошук маршруту для ўнутранага адраса больш не выбірае прыладу тунелю. Затым вырашыце, што будзе пры наступнай загрузцы.
ip -brief address
ip route get 10.8.0.1
Выдаленне інтэрфейса ўручную не спыняе ўладальніка і пакідае прыбіранне незавершаным.
Разрваць злучэнне зараз, прадухіліць наступны аўтаматычны запуск і дазволіць трафік па-за VPN пасля — гэта тры асобныя выбары. Зрабіце кожны з іх яўна.