Faka umyalo wokuxhuma kabusha ku-hook yokulala futhi inkinga ibonakala ixazululiwe. Ixazululwa kuphela uma i-hook isebenza ngemuva kokuba inethiwekhi ikhona, njengobunikazi iklayenti elikwaziyo, ngendlela iklayenti eliyisebenzisa ngempela. Ukuhluleka okuningi ngemuva kokuvuka kungenye yalezi zintathu, futhi akukho kuzo okuvela njengephutha ku-hook uqobo. I-hook ibuyisela impumelelo noma kunjalo.

Iskripthi esiphuma ngoziro asikutshelanga lutho mayelana nokuthi ingaba yini ithuneli ebuyile.

I-hook iyasebenza, bese kuthi?

#!/bin/sh
case "$1" in
  pre)
    vpn-client disconnect
    ;;
  post)
    vpn-client connect
    ;;
esac

Umsitho ngamunye ubiza i-hook kabili, ngaphambi nangemuva koshintsho, iyinikeza isigaba negama lomsitho. Isebenza njenge-root endaweni encane, ngakho izindlela eziphelele ziyadingeka futhi akukho ukuguquguquka kweseshini yedeskithophu okufanele kulindelwe. Ukubuya ngokushesha kwakho kokubili ukubiza kusho kuphela ukuthi iskripthi sisebenze. Ukuthi iphrofayela yenyuka ngemuva kwalokho kuwukubona okuhlukile futhi kudinga ubufakazi bayo ku-log.

Thatha impikiswano yesigaba njengengxenye yedizayini. Umzamo wokuxhuma kabusha esigabeni se-pre wenzeka lapho umshini usezothola konke, futhi awukwazi ukuphumelela.

Root, indawo encane, umsebenzisi ongafanele

Uma iklayenti ligcina ithokheni yokungena kumsebenzisi ngamunye, ukusebenzisa i-hook njenge-root kuyishiya ingenakho okuzokwethula. Hlola isimo ngaphansi kobunikazi i-hook elibusebenzisa ngempela, hhayi lobo obuluhlole kusuka kutheminali yedeskithophu. Amanye amabhilidi ashiya nedemon ebambe isixhumi-lwazi ngemuva kokunqamuka, ngakho ukuxhuma kabusha kuwela esimweni esidala, futhi ukuhlanza inqubo kuqala kuyibuyisela ngendlela yokuvala okungahlanzekile. Akukho kulezi zindlela ezimbili ezibonakalayo uma uhlola indlela enhle kuphela.

Bhala i-hook ngezindlela eziphelele, yigcine ingaphansi kobunikazi be-root futhi isebenziseka, futhi ubhale lokho ekwenzile. Ngaphandle kwalelo log ucwaningo olulandelayo luqala kusukela kuqanda.

Ukuxhuma okuzenzakalelayo akulona indlela ye-VPN

I-NetworkManager inikeza izindlela ezimbili zokwenza kusebenze: ifulegi lokuxhuma okuzenzakalelayo kuphrofayela, kanye nokuxhumana kwesibili okuqala lapho iphrofayela eyinhloko yenza kusebenze. Izinhlobo zamadivayisi omdabu zisebenzisa eyokuqala; izengezo ze-VPN ngokomlando zisebenzise eyesibili kuphela, ngakho ukumaka ukuxhuma okuzenzakalelayo kuphrofayela ye-OpenVPN kungase kungabi nawo nhlobo umphumela. Hlola zombili izakhiwo, bese uxhuma i-VPN njengeyesibili yephrofayela ye-Wi-Fi noma ye-Ethernet.

[Unit]
PartOf=NetworkManager.service
Requires=NetworkManager-wait-online.service
After=NetworkManager-wait-online.service

Isixhumi-lwazi se-WireGuard esilawulwa yiyunithi ye-systemd sidinga lelo drop-in esikhundleni se-hook, sihlelwe ngemuva kokuba inethiwekhi iku-inthanethi.

Linda inethiwekhi, nomkhawulo

timer=1
while ! ping -c1 -n -w1 203.0.113.1 >/dev/null; do
  sleep 1; timer=$((timer+1))
  [ $timer -ge 300 ] && exit 0
done
nmcli connection up "work-vpn"

Ekuvukeni ithuneli lingase licelwe ngesikhathi i-Wi-Fi isaxhuma kabusha, okwenza noma ukuphi ukulala okungaguquki kube ukuqagela. Linda ikheli elifinyelelekayo, bese ukhuphula iphrofayela, futhi ukhawulele ukulinda ukuze i-hook ingakwazi ukugcina indlela yokuvuka ivulekile ngokungapheli. Khetha igama lephrofayela kunenkomba yezinombolo, futhi uma iphrofayela efanele ihluka ngenethiwekhi, vumela ithuneli elinempilo lirekhode ukukhetha kwalo efayeleni kusengaphambili.

Vikela futhi eziphephweni zokuqalisa kabusha, ngokubala imizamo nokuma. Umlindi ophendula kukho konke ukuhlolwa okuhlulekile uguqula ukuphazamiseka okukodwa kube iluphu.

Misa isistimu kanye, bese ufunda ijenali ukuze uthole okukhishwa yi-hook uqobo. Yilokho kuphela ukuhlolwa okufakazela ukulandelana.

Izihloko ezihlobene