Li tqabbad servizz dipendenti ma' tun0.device jidher qisu abbonament għall-mina, u mhuwiex. L-unità tal-apparat tirrifletti li l-interface teżisti, li tista' tibqa' vera matul konnessjoni falluta u r-rikonnessjoni li ssegwi. Is-servizz imbagħad jaġixxi fil-mument żbaljat, jew qatt, skont jekk l-interface spiċċatx f'dan il-frattemp. Il-ganċ li jiddeskrivi l-avveniment li verament jimpurtak minnu huwa dak li jsejjaħ OpenVPN, mhux dak li jiddeduċi systemd.

Iddeċiedi liema kundizzjoni teħtieġ is-servizz qabel tagħżel it-trigger, għax it-tliet kandidati mhumiex interkambjabbli.

X'inhi tassew issegwi l-unità tal-apparat

systemd joħloq unità tal-apparat mill-veduta tal-kernel fuq interface tan-netwerk, għalhekk tun0.device issir attiva meta tidher l-interface u ssir inattiva meta titneħħa. B'persist-tun, restart artab iżomm l-interface f'postha, għalhekk l-unità qatt ma tiftaħ u xejn marbut magħha ma jiġi attivat. Anki mingħajr persistenza, l-unità ma tgħid xejn dwar rotot, DNS jew jekk it-tarf imbiegħed iweġibx.

Dan jagħmilha sostitut ħażin għal 'il-VPN lest'. Semmiegħ li għandu bżonn biss l-indirizz lokali jista' jkun sodisfatt bl-eżistenza tal-interface, filwaqt li servizz li jsejjaħ applikazzjoni fuq in-netwerk imbiegħed għandu bżonn rotot u aċċessibilità, li l-unità tal-apparat ma tistax tesprimi.

up, route-up u up-restart ifissru affarijiet differenti

up jaħdem wara li jinfetaħ l-apparat TUN/TAP u l-interface tiġi kkonfigurata, li huwa l-mument tajjeb għal semmiegħ li jorbot l-indirizz assenjat. route-up jaħdem wara li jiġu installati r-rotot, soġġett għal kwalunkwe dewmien tar-rotta kkonfigurat, u jaqbel għal xogħol li jeħtieġ il-fażi tar-rotot kompluta. Ebda wieħed minnhom ma jipprova li l-applikazzjoni mbiegħda tweġib. L-għażla bejniethom hija kwistjoni ta' x'jeħtieġ is-servizz, mhux ta' liema ganċ jinstema' aktar komplut.

B'persist-tun, ir-restarts jerġgħu jużaw l-apparat, għalhekk up ma jerġax jaħdem sakemm up-restart ma jkunx issettjat. Dik l-għażla tattiva l-iskript up għaċ-ċiklu tal-ħajja tar-restart dokumentat, u l-ambjent tiegħu huwa mnaqqas meta mqabbel mal-ewwel bidu. Skript li jassumi l-ambjent sħiħ jaħdem fl-ewwel konnessjoni u jfalli fit-tieni.

Ibgħat l-azzjoni mingħajr ma tistennieha

Ganċ li jsejjaħ systemctl restart b'mod sinkroniku jista' jidħol f'deadlock ma' unità li l-ordni tagħha tistenna l-mina. systemctl --no-block try-restart vpn-dependent.service ipoġġi x-xogħol fil-kju u jirritorna, li jżomm il-ganċ milli jimblokka l-konnessjoni li kien qed jirreaġixxi għaliha. try-restart jaġixxi biss fuq unità li qed taħdem, filwaqt li restart jibda wkoll waħda inattiva; agħżel deliberatament, mhux bil-vizzju.

It-tqegħid fil-kju mhuwiex verifika. Il-ganċ jirritorna suċċess hekk kif ix-xogħol jiġi aċċettat, għalhekk il-verifika trid issir fil-journal tal-unità fil-mira jew fl-istat reali tas-semmiegħ tagħha.

Il-politika tar-restart tgħix fl-unità, mhux fil-ganċ

Unità oneshot b'RemainAfterExit=yes tibqa' attiva wara li joħroġ il-kmand tagħha, u talba tat-tieni bidu ma tagħmel xejn għax systemd tqisha diġà mibdija. Din hija proprjetà li wieħed jiddisinja madwarha, mhux difett li jiġi evitat b'sejħiet ta' bidu ripetuti. Jekk l-azzjoni trid taħdem għal kull konnessjoni, l-unità teħtieġ forma li tippermetti dan.

After= jordna l-unitajiet, u BindsTo= jorbot il-ħajjiet, iżda ebda wieħed ma jfisser 'erġa ibda dan kull darba li l-VPN jerġa jikkonnettja'. Unità marbuta mal-mina tieqaf meta tieqaf il-mina; ma terġax tibda lilha nnifisha meta l-mina terġa lura sakemm xi ħaġa ma terġax tibdielha.

Ittestja tliet rikonnessjonijiet, mhux waħda

Bidu kiesaħ, restart sħiħ tal-klijent u rikonnessjoni artab kull wieħed jipprattika mogħdija differenti. Ir-rikonnessjoni artab hija dik li tikxef up-restart nieqes, ambjent imnaqqas jew unità tal-apparat li qatt ma saret inattiva. Mexxi t-tlieta u kkonferma ż-żewġ direzzjonijiet: is-servizz jaġixxi meta l-mina titla', u ma jerġax jibda fuq bidliet tal-link mhux relatati bħal roaming Wi-Fi.

Żomm mogħdija ta' rkupru indipendenti meta s-servizz dipendenti jġorr l-aċċess amministrattiv tiegħek stess. Ganċ li jerġa jibda l-ħaġa li inti konness permezz tagħha hija bidla li tista tissakkar barra.

Artikli relatati