Ħaddem il-kompiti wara l-VPN mid-dispatcher, mhux mill-if-up
Hook antik tal-interface mhux se jara konnessjoni VPN. Qabbel vpn-up mal-UUID tal-profil, żomm il-kompitu jista’ jerġa’ jitwettaq, u pplana għal skonnessjoni li qatt ma sseħħ.
Skript li jrid jiġi esegwit wara li l-VPN titla’ jeħtieġ avveniment mill-komponent li jippossjedi l-konnessjoni. Fajl li jitqiegħed f’direttorju antik ta’ hooks tan-netwerk mhuwiex callback għal kull VPN li jistgħu joħolqu NetworkManager, pppd jew proċess OpenVPN awtonomu. Kull wieħed minn dawn is-sidien jirrapporta avveniment differenti b’ambjent differenti, għalhekk is-sid irid jiġi identifikat qabel ma jintgħażel il-hook. Inkella l-iskript huwa korrett u sempliċement qatt ma jaħdem.
Għal VPN immaniġġjat minn NetworkManager, id-dispatcher huwa l-post it-tajjeb, u vpn-up hija l-azzjoni t-tajba.
Uża vpn-up, mhux l-avveniment tal-interface
Id-dispatcher jiddistingwi up minn vpn-up. L-ewwel jirrapporta interface attivat; it-tieni jirrapporta konnessjoni VPN attivata. Li titla’ l-Wi-Fi jfisser biss li teżisti l-ħolqa ta’ taħt; il-mina tista’ għadha qed tinnegozja, jew tista’ qatt ma tiġi awtentikata.
L-iskript jirċievi l-interface u l-azzjoni, filwaqt li d-dettalji tal-konnessjoni jaslu mill-ambjent, inkluż l-UUID tal-profil u l-interface IP tal-VPN. Aqra dawk il-varjabbli minflok tiddeduċi l-identità mill-ismijiet tal-apparati.
Illimita t-tqabbil għal konnessjoni waħda
Qabbel fuq l-UUID tal-konnessjoni, jew identità oħra li jagħti d-dispatcher, minflok prefiss tun jew ppp0. L-ismijiet tal-interfaces mhumiex stabbli, jistgħu jeżistu aktar minn mina waħda fl-istess ħin, u żewġ profili jistgħu jġorru l-istess isem muri. Li tqabbel prefiss tun ifisser li l-iskript fl-aħħar se jaħdem għal konnessjoni li ħadd ma kien bi ħsiebu jmissha. Jista’ wkoll jaħdem darbtejn għal profil wieħed meta konnessjoni mill-ġdid terġa’ tibni l-apparat.
Agħmel il-kompitu idempotenti. Callback li jżid rotta f’kull sejħa fl-aħħar jimla t-tabella b’duplikati, u t-tieni kopja hija dik li tkisser ir-routing.
Kun af x’ma jipprovax l-attivazzjoni
vpn-pre-up jaħdem qabel ma NetworkManager jirrapporta l-VPN attivat kompletament, u l-maniġer jistenna dawk l-iskripts. Uża stadju li jimblokka biss meta l-kompitu verament jappartjeni hemmhekk, għax verifika bil-mod tittardja l-attivazzjoni li kull komponent ieħor qed jistenna jara.
Il-preżenza ta’ rotot ma tipprovax li applikazzjoni qed tisma’, li isem privat jiġi riżolt jew li teżisti sessjoni tal-utent. Ivverifika dawn separatament b’limitu ta’ żmien, u rrapporta liema saff falla minflok terġa’ tipprova l-katina kollha.
Irrispetta l-kuntest li fih jaħdem l-iskript
L-iskripts tad-dispatcher jaħdmu bħala root, barra minn kull sessjoni tal-utent. Tassumix li l-ambjent tal-utent illoggjat, is-sessjoni grafika tiegħu jew iċ-ċavetta tal-keys imħollija huma disponibbli. Ħadd m’għandu jirrispondi għal kuntest tad-desktop nieqes billi jagħmel kull kredenzjali tinqara minn kull proċess. Żomm ix-xogħol tas-sessjoni tal-utent f’servizz tal-utent jew f’assistent tas-sessjoni li l-callback jista’ jtih sinjal mingħajr ma jassumi l-identità tal-utent.
Is-sjieda u l-permessi fuq l-iskript għandhom importanza wkoll. Fajl li jiġi esegwit bħala root u li kwalunkwe utent jista’ jissostitwixxi huwa triq għal eskalazzjoni ta’ privileġġi, u dan huwa sejba indipendenti mill-fatt jekk il-loġika tal-VPN hijiex korretta.
Ippjana għas-skonnessjoni li qatt ma sseħħ
NetworkManager jiddokumenta li vpn-pre-down mhuwiex emess għal skonnessjonijiet sfurzati bħal terminazzjoni mhux mistennija jew telf ta’ konnettività. Għalhekk tindif mibni biss madwar pre-down kalma huwa mhux komplut b’kostruzzjoni. Kwalunkwe stat komuni li jbiddel l-iskript jeħtieġ sid ieħor li jista’ jirrestawrah wara crash, u dik it-triq ta’ rkupru trid tiġi ttestjata mhux preżunta.
Ipprova l-hook b’konnessjoni normali, konnessjoni mill-ġdid, skonnessjoni intenzjonata u kejbil miġbud. Irreġistra l-UUID, l-azzjoni u l-interface li ħadem, mingħajr ma tirreġistra sigrieti. Dik ir-reġistrazzjoni hija l-unika prova affidabbli li l-hook ħadem għall-konnessjoni li kellek f’moħħok, u hija dik li tagħmel il-bidla li jmiss sigura.