Għala OpenVPN imut wara li l-laptop jqum?
L-irqad jista’ joqtol is-sessjoni OpenVPN u jħalli tun0 warajh. Ittestja l-mina, imbagħad erġa’ ibda l-unità minn hook tal-irqad ta’ systemd, mhux it-tagħmir.
Daħħal il-magna fl-irqad, qajjemha, imbagħad iċċekkja tliet affarijiet f’dan l-ordni qabel ma tmiss ebda konfigurazzjoni: jekk tun0 għadux jeżisti, jekk ir-rotta lejn indirizz intern għadhiex tagħżlu, u jekk is-server għadux jelenka dan il-peer. Tagħmir li jgħaddi mill-irqad filwaqt li r-rotta turi band’oħra huwa fdal, mhux mina. Meta r-rotta tkun korretta u t-traffiku xorta jmut, il-ħsara tinsab fuq il-mina u l-bdil mill-ġdid tal-klijent mhux se jbiddilha. L-awtomatizzazzjoni ta’ bdil mill-ġdid għandha sens biss wara li test manwali jkun wera liema minn dawn it-tliet każijiet għandek.
ip -br address show tun0
ip route get 10.20.0.10
journalctl -u openvpn-client@office -b --no-pager | tail -30
Irriproduċi l-qawmien qabel ma tawtomatizzah
L-irqad jispiċċa s-sessjoni kriptata aktar spiss milli jneħħi t-tagħmir. Il-fluss UDP li żamm il-mina ħajja jieqaf, is-server jista’ jwarrab il-peer, u l-klijent jew jinnotah u jerġa’ jikkonnettja jew iżomm interface li m’hemm xejn warajha. Iċċekkjar tal-interface waħdu jipprova ftit, għax tagħmir antik jidher eżattament bħal wieħed li jaħdem sakemm il-pakketti jkollhom jgħaddu minnu. Mexxi t-tfittxija tar-rotta flimkien ma’ talba waħda reali mill-mina, imbagħad aqra l-ġurnal madwar il-mument tal-qawmien.
Jekk il-klijent jerġa’ lura waħdu, hook iżid tħarbit minflok affidabbiltà. Jekk qatt ma jirkupra, l-awtomatizzazzjoni hija s-soluzzjoni onesta.
Fejn fil-fatt jgħix hook tal-irqad ta’ systemd
Ħafna gwidi eqdem jindikaw /etc/pm/sleep.d, direttorju proprjetà ta’ pm-utils li irqad ibbażat fuq systemd qatt ma jikkonsultah. systemd jaqra hooks minn /usr/lib/systemd/system-sleep/ u /etc/systemd/system-sleep/, u jgħaddi l-fażi l-ewwel u l-operazzjoni t-tieni, għalhekk pre u post huma l-uniċi valuri li hook jiddeċiedi fuqhom. Żomm il-kopja lokali taħt /etc minflok ma timmodifika fajl ippakkjat, u ftakar li l-iskript jaħdem bħala root f’nofs it-tranżizzjoni, għalhekk irid jerġa’ lura malajr.
#!/bin/sh
case "$1" in
post)
systemctl --no-block try-restart [email protected]
;;
esac
exit 0
try-restart jmiss unit biss meta jkun diġà attiv, għalhekk mina li tfi int b’xi ħsieb tibqa’ mitfija tul il-qawmien kollu. --no-block iżomm il-hook milli jistenna waqt li l-klijent jinnegozja, li jgħodd meta n-netwerk għadu ma tela’ xejn. Flimkien iż-żewġ flags ifissru hook li jonqos bil-kwiet minflok ma jżomm is-sekwenza kollha tal-qawmien. Meta l-unità tkun diġà mwaqqfa xejn ma jiġri, u dan huwa eżattament ir-riżultat li trid hemmhekk.
Irkupra s-servizz, ħalli tun0 kwiet
It-tniżżil ta’ tun0 bl-idejn iħalli d-daemon jissorvelja interface li m’għadux jippossjediha, u l-bidla ta’ stat li jmiss tipproduċi żbalji konfużi. Ifoka fuq is-servizz jew il-profil tal-konnessjoni tiegħu minflok l-interface; iċċekkja l-ewwel l-isem eżatt tal-unità, għax il-pakketti tad-distribuzzjoni, OpenVPN 3 u NetworkManager kollha jagħżlu oħrajn differenti. Profil ta’ NetworkManager jerġa’ lura meta dik il-konnessjoni tiġi ċċiklata, għalhekk l-unità systemd mhix il-mira hemmhekk. X’ikun il-mekkaniżmu, għandu jkun l-istess azzjoni li vverifikajt bl-idejn.
Bdil mill-ġdid jinstalla mill-ġdid ir-rotot li l-klijent imbotta meta kkonnettja. Ħafna mill-qawmien iridu dan. Magna fejn żidt rotot tiegħek ma tridx, għalhekk erġa’ iċċekkja dawk minflok ma tassumi li l-irkupru reġa’ qajjimhom, u iktibhom fejn il-qawmien li jmiss jista’ jsibhom.
Ittratta l-ħin li ma tistax tikkontrolla
L-assoċjazzjoni bla fili u DHCP spiss jispiċċaw wara li l-hook ikun ġera, għalhekk bdil mill-ġdid jista’ jonqos waqt li għad m’hemmx triq lejn is-server. Stenna ftit għal dak l-indirizz, erġa’ pprova darba u rreġistra r-riżultat.
Ir-riżoluzzjoni tal-ismijiet hija tellieqa separata, għax il-pila tan-netwerk tad-desktop tista’ tirrestawra d-DNS wara li l-mina tkun diġà ’l fuq. Ittestja t-tfittxijiet waħedhom b’resolvectl query internal.example minflok ma tislet konklużjonijiet minn rotta li taħdem. Mina li tibbordja b’mod korrett u ma ssolvi xejn hija problema tad-DNS, mhux problema tal-hook.
Żomm id-deċiżjoni tal-hook viżibbli billi tikteb il-fażi, l-isem tal-unità u r-riżultat fil-ġurnal. Innota fin-noti tal-magna liema test tal-qawmien għamilt, sabiex irkupru li jaħdem jiġi distin mill-wieħed xortih. Agħżel l-azzjoni l-inqas ta’ xkiel li ġġib is-servizz lura, u ħalli klijent li jirkupra waħdu jagħmel dan. Bdil mill-ġdid sħiħ iwarrab sessjonijiet li għaddejjin, li hija spiża reali fuq laptop li jqum bosta drabi kuljum.