Hook hurdo oo keliya ma soo celinayso VPN-ka
Hook eber ku dhammaada wuxuu caddeeyaa oo keliya in script-ka uu shaqeeyay. Ku dhig ka dib shabakadda, isticmaal aqoonsiga saxda ah oo hubi in borofiilku xitaa qalmo.
Geli amarka dib-u-xidhka hook-ga hurdada oo dhibaatadu u muuqato mid la xalliyay. Waxaa la xalliyaa oo keliya haddii hook-gu shaqeeyo ka dib marka shabakaddu jirto, sida aqoonsi uu macmiilku aqoonsado, iyada oo loo marayo waddo uu macmiilku dhab ahaantii hirgeliyo. Inta badan guuldarrooyinka ka dib soo kabashada waa mid ka mid ah saddexdaas, oo midkoodna kama soo muuqdo khalad ahaan hook-ga laftiisa. Hook-gu si kastaba ha ahaatee wuxuu soo celiyaa guul.
Script eber ku dhammaada wax kama uusan kuu sheegin in tunnel uu soo noqday iyo in kale.
Hook-gu wuu shaqeeyaa, ka dibna?
#!/bin/sh
case "$1" in
pre)
vpn-client disconnect
;;
post)
vpn-client connect
;;
esac
Dhacdo kastaa waxay hook-ga u wacdaa laba jeer, ka hor iyo ka dib kala-guurka, iyada oo siinaysa wejiga iyo magaca dhacdada. Wuxuu u shaqeeyaa sida root oo leh deegaan ugu yar, sidaas darteed waddooyin buuxa ayaa lagama maarmaan ah oo ma gelin doono doorsoome fadhi desktop ah. In labada wicidba si degdeg ah u soo noqdaan waxay kaliya sheegaysaa in script-ku shaqeeyay. In borofiilku ka dib soo baxay waa indho-indheyn gaar ah oo u baahan caddayntiisa log-ga.
U qaado dooda wejiga qayb ka mid ah naqshadda. Isku dayga dib-u-xidhka ee wejiga pre wuxuu dhacaa marka mishiinku qarka u saaran yahay inuu wax walba lumiyo, oo ma guulaysan karo.
Root, deegaan ugu yar, isticmaale khaldan
Haddii macmiilku haysto token-ka gelitaanka qof kasta, hook-ga u shaqaynta sida root waxay ka tagtaa wax u soo bandhigto. Hubi xaaladda aqoonsiga uu hook-gu dhab ahaantii isticmaalo, ma aha kan aad ka tijaabisay terminal desktop ah. Qaar ka mid ah builds waxay sidoo kale ka tagaan daemon haysta interface-ka ka dib go'itaanka, sidaas darteed dib-u-xidhku waxay ku dhacaa xaalad duugoobay, oo hannaanka marka hore nadiifinta ayaa dib u soo celisa isagoo qiimaha xidhitaan aan nadiif ahayn. Midkoodna labada dabeecadood lama arko haddii aad tijaabiso oo keliya waddada farxadda.
Ku qor hook-ga waddooyin buuxa, ku hay milkiilaha root oo la fulin karo, oo log-ga waxa uu sameeyay. La'aanta log-gaas baaritaanka xiga wuxuu ka bilaabmaa eber.
Isku-xirka otomaatiga ah maaha waddada VPN
NetworkManager wuxuu bixiyaa laba hab oo kiciya: calan isku-xir otomaatig ah oo ku yaal borofiilka, iyo xiriiro labaad oo bilaabma marka borofiil aasaasi ah uu kiciyo. Noocyada qalabka asalka ah waxay hirgeliyaan kan koowaad; plugins-ka VPN taariikh ahaan waxay hirgeliyeen kan labaad oo keliya, sidaas darteed calaamadaynta isku-xirka otomaatiga ah ee borofiilka OpenVPN waxaa laga yaabaa inaanay wax saameyn ah yeelan. Baar labada sifo, ka dib ku xidh VPN-ka sida labaad ee borofiilka Wi-Fi ama Ethernet.
[Unit] PartOf=NetworkManager.service Requires=NetworkManager-wait-online.service After=NetworkManager-wait-online.service
Interface-ka WireGuard oo uu maamulo unug systemd wuxuu u baahan yahay drop-in-kaas halkii hook, oo la habeeyay ka dib marka shabakaddu online noqoto.
Sug shabakadda, oo leh xad
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"
Marka la soo kabsado tunnel-ka waxaa laga yaabaa in la weydiisto inta Wi-Fi weli dib u xidhayo, taas oo hurdo kasta oo go'an ka dhigta mala-awaal. Sug cinwaan la gaari karo, ka dib kici borofiilka, oo xaddid sugitaanka si hook uusan u hayn karin waddada soo kabashada oo furan si aan xad lahayn. Dooro magaca borofiilka oo ka sarreeya tilmaame tiro, haddii borofiilka saxda ahi ku kala duwan yahay shabakad, ha tunnel caafimaad qaba uu doortiisa hore ugu qoro fayl.
Ka difaacso sidoo kale duufaannada dib-u-bilaabista, adoo tirinaya isku dayo oo joojinaya. Ilaaliye ka jawaaba baaritaan kasta oo guuldareysta wuxuu hal carqalad u rogaa wareeg.
Hal mar hakad geli nidaamka, ka dib akhri joornaalka si aad u hesho wax-soo-saarka hook-ga laftiisa. Taasi waa tijaabada kaliya ee caddeynaysa nidaamka.