Den up-Skript leeft, gëtt mat Null aus, an d'Aufgab dran kritt kee privaten Service erreecht, dee vun engem Terminal aus zwou Sekonnen duerno perfekt funktionéiert. Den Instinkt ass Timing, an déi üblech Reparatur ass e Schlof, dee d'Course verstoppt, ouni se ze verstoen. Déi nëtzlech Liesart ass, datt “up” en Hook bezeechent, net eng Prett-Garantie. En zündet, wann den Tunnelapparat konfiguréiert ass, wat méi fréi ass wéi d'Routen, DNS, a sécherlech méi fréi wéi all Applikatioun hannert dem Tunnel.

Den Test an der Shell war erfollegräich, well en eréischt gelaf ass, wéi alles sech berouegt hat. Den Hook ass zu engem eenzegen, bestëmmte Moment gelaf.

Wou up an der Startreihenfolge steet

OpenVPN konfiguréiert den Tunnelapparat an leeft duerno den up-Hook. D'Installatioun vun de Route kënnt méi spéit, an se huet hire eigenen Hook, dofir kann eng routeofhängeg Aufgab, déi am up steet, en Apparat gesinn, deen keen nëtzlechen Wee huet. Setzt d'Routeaarbecht an de route-up, an d'Timingproblem verschwënnt meeschtens.

De Handbuch dokumentéiert dës Reihenfolge an d'Ëmfeld, dat all Hook kritt. Dës Reihenfolge ass déi ganz Erklärung fir de klassesche Rapport “et funktionéiert aus menger Shell”, an et ass och de Grond, firwat deeselwechte Skript op enger Maschinn duerchgeet an op enger anerer mat engem méi luesen Routeetapp feelt. Keng vun den zwou Resultater seet eppes iwwer d'Qualitéit vum Skript.

DNS a Applikatiounspretheet komme nach méi spéit. Och installéiert Route si kee Beweis, datt den wäiten Endpunkt lauschtert, datt en Numm sech opléist, oder datt eng Desktop-Sessioun fir eng benotzerbezunnen Aufgab existéiert.

Wat den Hook tatsächlech ierft

En Hook leeft ënner dem Kont an dem Ëmfeld vum OpenVPN-Prozess, wat net datselwecht ass wéi deng interaktiv Shell. Et kann e Sessiounsbus vum Benotzer, eng Desktopëmfeld oder en Zertifikat feelen, deen nëmmen beim Login opgespaart gëtt. Schreif op, wat vun deenen d'Aufgab tatsächlech brauch.

Dat ass wichteg fir Aufgabe wéi Netzwierk ausgesinn, awer vun engem Benotzerkontext ofhänken: eng Sharedaablaag mat enger Benotzerzertifikat montéieren, e Proxy pro Benotzer astellen oder en Drécker konfiguréieren. En privilegiéierten Tunnelhook ass déi falsch Plaz fir si, an nach esou vill Waarden hëlleft net géint eng fehlend Sessioun.

Wann eng Aufgab an engem Hook feelt, notéiert de Kont, d'Ëmfeld an déi éischt Operatioun, déi feelt huet. Dat trennt fréi Timing vun engem Berechtegungs- oder Kontextproblem, an déi zwou hunn komplett verschidde Reparaturen. Tëscht hinne roden ass de Wee, wéi aus enger fënnefminutteger Reparatur en Nomëtteg gëtt.

Firwat e Schlof derbäisetzen keng Prettpréifung ass

E Schlof verzögert de Skript an verschiecht d'Coursefënster. Op engem schnellen Dag geléngt d'Aufgab; op engem luesen Dag feelt se erëm, an de Feeler gëtt schwéier ze reproduzéieren, well d'Verzögerung schéngt ze funktionéieren. Eng Verzögerung, déi nëmme bei liichtem Laascht funktionéiert, ass en Zoufall, keng Reparatur.

Wann d'Ofhängegkeet eng Route ass, benotzt den Hook, deen der Routeinstallatioun entsprécht. Wann d'Ofhängegkeet e Service hannert dem Tunnel ass, benotzt eng begrenzt Prüfung, déi op déi bestëmmt Konditioun waart an kloer feelt, wann se ni kënnt.

Halt de Feeler explizit. En Hook, deen mat Null ausgëtt, wärend seng eigentlech Aarbecht gefeelt huet, ass méi schlëmm wéi en Hook, dee feelt, well de Servicemanager e Succès registréiert an kee kuckt méi drop. Eng Logzeile vum Skript selwer ass dee bëllegste Wee, fir dat éierlech ze halen.

Botzen a Widderverbannen verdéngen déiselwecht Suergfalt

En Skript, deen en gedeelten Zoustand ännert, brauch en entspriechende Réckwee. Route, Resolver-Andräg an Firewall-Marken, déi en Hook derbäisetzt, sollten idempotent a ëmgedréitbar sinn, soss stackt eng Widderverbindung eng zweet Kopie op déi éischt.

Widderverbindungen kënnen Hooks méi dacks lafe loossen wéi e komplette Servicestart. En permanent Interface, deen eng Sessioun nees opbaut, kann den up- an route-up-Zyklus nach eng Kéier ausléisen, dofir wäert e Skript, deen eng Ausféierung pro Boot unhëlt, iergendwann falsch funktionéieren. Ziel d'Ausféierungen am Log iwwer en Dag vu Flattern, fir ze gesinn, wéi dacks en tatsächlech leeft. Da maacht de Skript sécher fir esou dacks ze lafen.

Test dee Liewenszyklus, dee gefeelt huet, net en duerno Kommando. Reproduzéier de Boot oder d'Widderverbindung, kuck wéi den Hook leeft, a bestäteg, datt d'Aufgab an deem Moment geléngt huet, wou se tatsächlech leeft. E Succès aus enger interaktiver Shell duerno ass e Beweis iwwer d'Ofhängegkeet, net de Beweis, datt de Startwee funktionéiert.

Gitt all Aufgab den Evenement, vun deem se ofhänkt, a verbënnt se mat deem Evenement. Alles anescht ass eng Verzögerung, déi sech als Prüfung ausgëtt.

Ähnlech Artikelen