Hook tal-irqad wahdu mhux se jġib il-VPN lura
Hook li joħroġ b'żero jipprova biss li l-iskript dam. Qiegħdu wara n-netwerk, uża l-identità t-tajba u iċċekkja jekk il-profil huwiex xieraq.
Qiegħed kmand ta' qbil mill-ġdid fil-hook tal-irqad u l-problema tidher solvuta. Hija solvuta biss jekk il-hook jimxi wara li n-netwerk jeżisti, bħala identità li l-klijent jirrikonoxxi, permezz ta' triq li l-klijent fil-fatt jimplimenta. Ħafna mill-fallimenti wara l-qawmien huma wieħed minn dawn it-tlieta, u ħadd minnhom ma jidher bħala żball fil-hook innifsu. Il-hook jirritorna suċċess xorta waħda.
Skript li joħroġ b'żero ma qallekx xejn dwar jekk ġiex lura tunnel.
Il-hook jimxi, u mbagħad?
#!/bin/sh
case "$1" in
pre)
vpn-client disconnect
;;
post)
vpn-client connect
;;
esac
Kull avveniment isejjaħ il-hook darbtejn, qabel u wara t-tranżizzjoni, u jagħtih il-fażi u l-isem tal-avveniment. Huwa jimxi bħala root b'ambjent minimu, għalhekk huma meħtieġa mogħdijiet assoluti u m'għandux jiġi mistenni varjabbli tas-sessjoni tad-desktop. Iż-żewġ sejħiet li jirritornaw malajr jgħidu biss li l-iskript dam. Jekk il-profil tela' wara huwiex osservazzjoni separata u jeħtieġ l-evidenza tiegħu stess fil-log.
Ikkunsidra l-argument tal-fażi bħala parti mid-disinn. Tentattiv ta' qbil mill-ġdid fil-fażi pre jiġri waqt li l-magna se titlef kollox, u ma jistax jirnexxi.
Root, ambjent minimu, utent ħażin
Jekk il-klijent iżomm it-token tal-login għal kull utent, it-tħaddim tal-hook bħala root iħallih b'xejn x'jippreżenta. Iċċekkja l-istat taħt l-identità li l-hook fil-fatt juża, mhux dik li ppruvajt minn terminal tad-desktop. Xi builds iħallu wkoll daemon li jżomm l-interface wara skonnessjoni, għalhekk qbil mill-ġdid jaqa' fi stat antikwat, u t-tindif tal-proċess l-ewwel jirrestawrah bi prezz ta' għeluq mhux nadif. L-ebda waħda miż-żewġ imġiba mhija viżibbli jekk tittestja biss it-triq ferħana.
Ikteb il-hook b'mogħdijiet assoluti, żommu proprjetà ta' root u eżegwibbli, u illoggja x'għamel. Mingħajr dak il-log l-investigazzjoni li jmiss tibda mix-xejn.
Il-konnessjoni awtomatika mhijiex it-triq tal-VPN
NetworkManager joffri żewġ mekkaniżmi ta' attivazzjoni: bandiera ta' konnessjoni awtomatika fuq il-profil, u konnessjonijiet sekondarji li jibdew meta jiġi attivat profil primarju. It-tipi ta' apparat nattivi jimplimentaw l-ewwel; il-plugins tal-VPN storikament implimentaw biss it-tieni, għalhekk li timmarka l-konnessjoni awtomatika fuq profil OpenVPN tista' ma jkollha l-ebda effett. Spezzjona ż-żewġ proprjetajiet, imbagħad waħħal il-VPN bħala sekondarju tal-profil Wi-Fi jew Ethernet.
[Unit] PartOf=NetworkManager.service Requires=NetworkManager-wait-online.service After=NetworkManager-wait-online.service
Interface WireGuard immexxija minn unità systemd teħtieġ dak id-drop-in minflok hook, ordnata wara li n-netwerk ikun onlajn.
Stenna n-netwerk, b'limitu
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"
Mal-qawmien it-tunnel jista' jiġi mitlub waqt li Wi-Fi għadu qed jerġa' jingħaqad, li jagħmel kull irqad fiss ħsieb. Stenna indirizz li jintlaħaq, imbagħad għolli l-profil, u illimita l-istennija sabiex hook ma jistax iżomm it-triq tal-qawmien miftuħa bla tmiem. Ippreferi l-isem tal-profil minflok indiċi numeriku, u jekk il-profil korrett ivarja skont in-netwerk, ħalli t-tunnel b'saħħtu jirreġistra l-għażla tiegħu fi fajl minn qabel.
Ipproteġi wkoll minn tempesti ta' tibdil mill-ġdid, billi tgħodd it-tentattivi u tieqaf. Watchdog li jirreaġixxi għal kull prova falluta jibdel waqfa waħda f'linja.
Issospendi darba, imbagħad aqra l-ġurnal għall-output tal-hook innifsu. Dan huwa l-uniku test li jipprova l-ordni.