Затварянето на прозорец на терминала не е същото като затваряне на тунел, а убиването на процес не е същото като спиране на услуга. В Linux командата, която действително прекъсва връзката, зависи от това кой компонент е стартирал връзката и следователно притежава жизнения ѝ цикъл. Сравнението по-долу обхваща четирите подредби, които най-вероятно ще срещнете, и идентификатора, който всяка от тях изисква.

Клиенти на преден план и демонизирани клиенти

Клиент, стартиран на ръка в терминал, принадлежи на този терминал. Ctrl+C предава прекъсване, клиентът разваля интерфейса си и тунелът приключва. Нищо друго не трябва да бъде уведомявано.

Клиент, стартиран чрез обвивка на shell и оставен на заден план, не принадлежи на никого конкретно и точно в този случай хората посягат към killall. Първо намерете процеса, потвърдете, че командният му ред споменава профила, който имате предвид, и след това изпратете нормалния сигнал за прекратяване. Наблюдаван процес, убит под своя наблюдател, просто ще бъде рестартиран, затова идентифицирането на собственика е по-важно от избора на сигнал. Изпращайте сигнал към групата процеси само след като сте потвърдили, че никой друг тунел не я споделя.

SIGUSR1 не е прекъсване; той иска от клиента да рестартира тунела.

Инстанции на systemd

Когато unit притежава връзката, unit е обектът, който трябва да се спре. Шаблонните инстанции като openvpn-client@office носят името на профила и спирането на шаблонната цел вместо инстанцията може да засегне всеки клиент на хоста.

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

Прочетете ExecStart на unit, когато не сте сигурни кой профил е заредила инстанцията.

Разрешена unit ще се върне при следващото зареждане, което е отделно решение от спирането ѝ сега. Забранявайте я само след като решите, че връзката не трябва да се връща, и запишете това решение там, където следващият администратор ще го намери.

Профили на 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 след това са три отделни избора. Направете всеки от тях изрично.

Подобни статии