Exekutatu VPN osteko zereginak bidaltzailetik, ez if-upetik
Interfazearen antzinako hook batek ez du VPN konexiorik ikusiko. Egin vpn-up bat profilaren UUIDarekin, mantendu zeregina errepikagarri, eta aurreikusi inoiz abiarazten ez den deskonexio bat.
VPN-a altxatu ondoren exekutatu behar den script batek konexioa duen osagaiaren gertaera bat behar du. Sare-hook direktorio zahar batean utzitako fitxategi bat ez da callback bat NetworkManager-ek, pppd-k edo OpenVPN prozesu independente batek sor dezakeen VPN bakoitzerako. Jabekide horietako bakoitzak ingurune desberdineko gertaera desberdin bat ematen du, beraz jabekidea hook-a aukeratu aurretik identifikatu behar da. Bestela script-a zuzena da eta besterik gabe ez da inoiz exekutatzen.
NetworkManager-ek kudeatutako VPN baterako, bidaltzailea da leku egokia, eta vpn-up da ekintza egokia.
Erabili vpn-up, ez interfazearen gertaera
Bidaltzaileak up eta vpn-up bereizten ditu. Lehenak aktibatutako interfaze bat jakinarazten du; bigarrenak aktibatutako VPN konexio bat. Wi-Fi-a igotzeak azpiko esteka badagoela esan nahi du soilik; tunelak oraindik negoziatzen egon daiteke, edo agian ez da inoiz autentifikatuko.
Script-ak interfazea eta ekintza jasotzen ditu, eta konexioaren xehetasunak ingurunetik iristen dira, profilaren UUID-a eta VPN-aren IP interfazea barne. Irakurri aldagai horiek gailu-izenetatik identitatea ondorioztatu beharrean.
Mugatu bat-etortzea konexio bakarrera
Egin bat konexioaren UUID-arekin, edo bidaltzaileak ematen duen beste identitate batekin, tun aurrizkiarekin edo ppp0 ez bezala. Interfaze-izenak ez dira egonkorrak, tunel bat baino gehiago egon daiteke aldi berean, eta bi profilak erakutsi-izen bera izan dezakete. tun aurrizkiarekin bat egiteak esan nahi du script-a azkenean inork ukitu nahi ez zuen konexio baterako abiaraziko dela. Profil bakar baterako birritan ere abiaraz daiteke, berriz konektatzeak gailua berreraikitzen duenean.
Egin zeregina idempotente. Deialdi bakoitzean ibilbide bat gehitzen duen callback batek taula bikoiztuez beteko du azkenean, eta bigarren kopia da bideratzea hausten duena.
Jakizu zer ez duen frogatzen aktibazioak
vpn-pre-up exekutatzen da NetworkManager-ek VPN-a erabat aktibatuta dagoela jakinarazi aurretik, eta kudeatzaileak script horien zain egoten da. Erabili blokeatze-etapa bat zeregina benetan hara dagokionean soilik, egiaztapen geldo batek beste osagai guztiek ikusteko itxaroten duten aktibazioa atzeratzen baitu.
Ibilbideak egoteak ez du frogatzen aplikazio bat entzuten ari denik, izen pribatu bat ebazten denik edo erabiltzaile-saio bat badenik. Egiaztatu horiek bereiz, itxarote-denbora mugatu batekin, eta jakinarazi zein geruza huts egin duen kate osoa berriro saiatu beharrean.
Errespetatu script-a exekutatzen den testuingurua
Bidaltzailearen script-ak root gisa exekutatzen dira, erabiltzaile-saio guztietatik kanpo. Ez suposatu saioa hasitako erabiltzailearen ingurunea, saio grafikoa edo desblokeatutako giltza-sorta eskuragarri daudenik. Inork ez luke mahaigaineko testuinguru bat falta delako erantzun behar kredentzial guztiak prozesu guztientzat irakurgarri eginez. Eutsi erabiltzaile-saioaren lana erabiltzaile-zerbitzu batean edo saio-laguntzaile batean, callback-ak erabiltzailea ordezkatu gabe seinalatu ahal izan dezan.
Script-aren jabetzak eta baimenek ere garrantzia dute. root gisa exekutatutako fitxategi bat edozein erabiltzailek ordezka badezake, pribilegioen eskaladaren bidea da, eta VPN-aren logika zuzena den ala ez ez duen aurkikuntza bat da.
Aurreikusi inoiz abiarazten ez den deskonexioa
NetworkManager-ek dokumentatzen du vpn-pre-down ez dela igortzen derrigorrezko deskonexioetan, hala nola ustekabeko amaiera edo konektibitate-galera. Beraz, pre-down leun baten inguruan soilik eraikitako garbiketa osatugabea da konstrukzioz. Script-ak aldatzen duen edozein egoera partekatuk beste jabe bat behar du, kraskatu ondoren hura leheneratu ahal izango duena, eta leheneratze-bide hori probatu egin behar da, ez suposatu.
Probatu hook-a konexio arrunt batekin, berriz konektatzearekin, nahita egindako deskonexioarekin eta tiratutako kable batekin. Erregistratu UUID-a, ekintza eta abiarazi zen interfazea, sekretuak erregistratu gabe. Erregistro hori da hook-a zure asmoa zen konexiorako exekutatu zela dioen froga fidagarri bakarra, eta hurrengo aldaketa seguru egiten duena.