Затварање прозора терминала није исто као затварање тунела, а убијање процеса није исто као заустављање услуге. На Linux-у наредба која заиста прекида везу зависи од тога која компонента је покренула везу и зато поседује њен животни циклус. Поређење испод покрива четири распореда на која ћете највероватније наићи, и идентификатор који сваком од њих треба.

Клијенти у предњем плану и демонизовани клијенти

Клијент покренут ручно у терминалу припада том терминалу. Ctrl+C преноси прекид, клијент разграђује свој интерфејс, и тунел се завршава. Ништа друго не треба обавештавати.

Клијент покренут кроз љуску и остављен у позадини не припада никоме посебно, и то је случај када људи посежу за 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 на основној вези, dispatcher скрипта или заставица аутоматског повезивања. Заустављање менаџерове везе је прави први корак, а поновна активација је следеће питање. Не бришите профил да бисте зауставили поновну активацију, јер то уклања и акредитиве који ће вам можда требати сутра.

Референца команди менаџера документује како се бира 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 саобраћаја после су три одвојена избора. Учините сваки од њих експлицитним.

Повезани чланци