Endurræsa þjónustu við OpenVPN up: krókar sigra tun0.device
Tækiseining fylgir tengibúnaðinum, ekki tengingunni. Veldu up eða route-up fyrir skilyrðið sem þjónustan þarf, og sendu síðan endurræsingu sem blokkar ekki.
Að tengja ósjálfstæða þjónustu við tun0.device lítur út eins og áskrift að göngunni, og er það ekki. Tækiseining endurspeglar að tengibúnaðurinn sé til, sem getur haldist satt í gegnum misheppnaða tengingu og endurtenginguna sem fylgir. Þá bregst þjónustan við á röngu augnabliki, eða aldrei, eftir því hvort tengibúnaðurinn hvarf í millitíðinni. Krókurinn sem lýsir atburðinum sem þér er raunverulega annt um er sá sem OpenVPN kallar á, ekki sá sem systemd dregur af.
Ákveddu hvaða skilyrði þjónustan þarf áður en þú velur kveikjuna, því þrír kandídatar eru ekki skiptanlegir.
Hvað tækiseiningin fylgir í raun
systemd býr til tækiseiningu út frá sýn kjarnans á nettengibúnað, svo tun0.device verður virk þegar tengibúnaðurinn birtist og óvirkur þegar honum er fjarlægt. Með persist-tun heldur mjúk endurræsing tengibúnaðinum á sínum stað, svo einingin flöktir aldrei og ekkert sem henni er bundið er kveikt. Jafnvel án þrautseigju segir einingin ekkert um leiðir, DNS eða hvort fjarlægi endinn svarar.
Það gerir hana að lélegum staðgengli fyrir 'VPN-ið er tilbúið'. Hlustandi sem þarf aðeins staðfangið getur verið ánægður með tilvist tengibúnaðarins, á meðan þjónusta sem kallar á forrit í fjarlæga netinu þarf leiðir og aðgengi, sem tækiseiningin getur ekki tjáð.
up, route-up og up-restart þýða ólíka hluti
up keyrir eftir að TUN/TAP-tækið er opnað og tengibúnaðurinn stilltur, sem er rétta augnablikið fyrir hlustanda sem bindur úthlutaða fangið. route-up keyrir eftir að leiðir eru settar upp, háð hverri stilltri leiðartöf, og hentar vinnu sem þarf að leiðarfasinn sé fullkláraður. Hvorki sannar að fjarlæga forritið svari. Að velja á milli þeirra er spurning um hvað þjónustan þarf, ekki hvaða krókur hljómar fullkláraðri.
Með persist-tun endurnýta endurræsingar tækið, svo up keyrir ekki aftur nema up-restart sé stillt. Sá valkostur virkjar up-skriptið fyrir skjalfesta endurræsingarlífsferilinn, og umhverfi þess er skert í samanburði við fyrstu ræsingu. Skript sem gerir ráð fyrir fullu umhverfi virkar á fyrstu tengingu og mistekst á þeirri næstu.
Sendu aðgerðina án þess að bíða eftir henni
Krókur sem kallar systemctl restart samhliða getur lent í sjálfstæðri lokun gagnvart einingu sem röðun hennar bíður göngunnar. systemctl --no-block try-restart vpn-dependent.service setur verkið í biðröð og snýr aftur, sem kemur í veg fyrir að krókurinn blokki tenginguna sem hann var að bregðast við. try-restart virkar aðeins á keyrandi einingu, en restart ræsir einnig óvirka; veldu af ásetningi, ekki af vana.
Biðröðun er ekki sannprófun. Krókurinn skilar árangri um leið og verkið er samþykkt, svo athugunin verður að fara fram í dagbók markeiningarinnar eða í raunverulegu hlustandastöðu hennar.
Endurræsingarstefna býr í einingunni, ekki í króknum
oneshot-eining með RemainAfterExit=yes helst virk eftir að skipun hennar lýkur, og önnur ræsingarbeiðni gerir ekkert því systemd telur hana þegar ræsta. Þetta er eiginleiki sem hanna þarf í kringum, ekki galli sem sniðganga á með endurteknum ræsingarköllum. Ef aðgerðin verður að keyra fyrir hverja tengingu þarf einingin form sem leyfir það.
After= raðar einingum, og BindsTo= tengir líftíma, en hvorugt þýðir 'endurræstu þetta í hvert sinn sem VPN-ið tengist aftur'. Eining sem er bundin göngunni stöðvast þegar gangan stöðvast; hún endurræsir sig ekki þegar gangan kemur aftur nema eitthvað ræsi hana aftur.
Prófaðu þrjár endurtengingar, ekki eina
Kald ræsing, full endurræsing biðlarans og mjúk endurtenging þjálfa hver sína leið. Mjúka endurtengingin er sú sem afhjúpar vantar up-restart, skert umhverfi eða tækiseiningu sem varð aldrei óvirk. Keyrðu allar þrjár og staðfestu báðar áttir: þjónustan bregst við þegar gangan rís, og hún endurræsist ekki við ótengdar tenglabreytingar eins og Wi-Fi reiki.
Haltu sjálfstæðri endurheimtarleið þegar ósjálfstæða þjónustan ber eigin stjórnunaraðgang þinn. Krókur sem endurræsir hlutinn sem þú ert tengdur í gegnum er breyting sem getur lokað þig úti.