En ënnerhaängege Service un tun0.device ze bannen gesäit aus wéi en Abonnement vum Tunnel, an et ass et net. Eng Apparat-Eenheet reflektéiert datt d'Interface existéiert, wat wouer ka bleiwen iwwer eng feelgeschlo Verbindung an déi nächst Reconnexion. Dann handelt de Service am falschen Ament, oder ni, jee nodeem ob d'Interface tëschentdran verschwonnen ass. Den Hook deen d'Evenement beschreift wat dir wierklech interesséiert ass deen den OpenVPN oprufft, net deen den systemd ofleet.

Entscheet wéi eng Bedingung de Service brauch ier dir den Ausléiser wielt, well déi dräi Kandidaten net auswiesselbar sinn.

Wat d'Apparat-Eenheet wierklech suivéiert

systemd erstellt eng Apparat-Eenheet aus der Siicht vum Kernel op eng Netzwierk-Interface, dofir gëtt tun0.device aktiv wann d'Interface erschéngt a gëtt inaktiv wann se ewechgeholl gëtt. Mat persist-tun hält en weiche Neistart d'Interface op hirem Platz, dofir flappt d'Eenheet ni an näischt wat un hir gebonnen ass gëtt ausgeléist. Och ouni Persistenz seet d'Eenheet näischt iwwer Routen, DNS oder ob déi wäit Säit äntwert.

Dat mécht se en schlechten Ersatz fir 'de VPN ass prett'. En Nolauschterer deem just déi lokal Adress brauch kann mat der Existenz vun der Interface zefridde sinn, wärend e Service deen eng Applikatioun am wäite Netzwierk oprufft Routen an Erreechbarkeet brauch, wat d'Apparat-Eenheet net ausdrécke kann.

up, route-up an up-restart heeschen ënnerschiddlech Saachen

up leeft nodeem den TUN/TAP-Apparat opgemaach an d'Interface konfiguréiert gouf, wat de richtege Moment fir en Nolauschterer ass deen déi zougewisen Adress bënnt. route-up leeft nodeem d'Routen installéiert goufen, ënnerleien all konfiguréierter Route-Verzögerung, a passt zu Aarbecht déi d'Route-Phase fäerdeg brauch. Keent vun deenen zwee beweist datt d'wäit Applikatioun äntwert. Tëschent hinne ze wielen ass eng Fro wat de Service brauch, net wéi en Hook méi fäerdeg kléngt.

Mat persist-tun benotzen d'Neistarts den Apparat erëm, dofir leeft up net nach eng Kéier ausser up-restart ass gesat. Déi Optioun aktivéiert de Skript up fir de dokumentéierte Neistart-Liewenszyklus, an seng Ëmwelt ass reduzéiert am Verglach mam éischte Start. E Skript deen d'vollstänneg Ëmwelt unhëlt funktionéiert bei der éischter Verbindung a versoe beim nächster.

Schéckt d'Aktioun ouni drop ze waarden

En Hook deen systemctl restart synchron oprufft ka géint eng Eenheet deadlocken, där hir Uerdnung op den Tunnel waart. systemctl --no-block try-restart vpn-dependent.service setzt d'Aarbecht an d'Schlange a kënnt zréck, wat verhënnert datt den Hook d'Verbindung blockéiert op déi hie reagéiert huet. try-restart wierkt just op eng lafend Eenheet, wärend restart och eng inaktiv start; wiel bewosst, net aus Gewunnecht.

An d'Schlange setzen ass keng Verifikatioun. Den Hook gëtt Succès zréck soubal d'Aarbecht ugeholl ass, dofir muss d'Prüfung am Journal vun der Zil-Eenheet oder an hirem tatsächlechen Nolauschterer-Zoustand geschéien.

D'Neistart-Politik wunnt an der Eenheet, net am Hook

Eng oneshot-Eenheet mat RemainAfterExit=yes bleift aktiv nodeems hir Kommando eraus ass, an eng zweet Startufro mécht näischt well systemd se als scho gestart ugesäit. Dat ass eng Eegenschaft ronderëm déi een designt, kee Feeler deen een mat widderholte Start-Opruff ëmgeet. Wann d'Aktioun pro Verbindung lafe muss, brauch d'Eenheet eng Form déi dat erlaabt.

After= ordert Eenheeten, an BindsTo= bënnt Liewensdaueren, awer keent vun deenen zwee bedeit 'start dëst nei whenever de VPN sech erëm verbënnt'. Eng Eenheet déi un den Tunnel gebonnen ass stoppt wann den Tunnel stoppt; se start sech net selwer nei wann den Tunnel zréckkënnt, ausser et start eppes se nach eng Kéier.

Test dräi Reconnexionen, net eng

Kaltstart, en kompletten Neistart vum Client an eng weich Reconnexion üübe jiddwer eng aner Streck. Déi weich Reconnexion ass déi déi en fehlenden up-restart, eng reduzéiert Ëmwelt oder eng Apparat-Eenheet déi ni inaktiv gouf opdeckt. Fuert all dräi aus a bestätegt béid Richtungen: de Service handelt wann den Tunnel eropkënnt, an en start net nei bei onverbonnenen Link-Ännerungen wéi e Wi-Fi-Roaming.

Halt en onofhängege Recuperatiounswee wann deeënnerhaängege Service däin eegene Administratiouns-Zougrëff dréit. En Hook deen dat nei start duerch wat s du verbonnen bass ass eng Ännerung déi dech kann ausschléissen.

Ähnlech Artikelen