D'Reiefolleg beim Ofschalten vu VPN- a Proxy-Déngschter ënner Linux
Stoppt de Konsument, soulaang de Wee nach existéiert, duerno de Proxy, an dann den Tunnel iwwer säin Eegentümer. Benotzt ExecStop an TimeoutStopSec bewosst, net e breede Kill.
Hänk beim Ofschalten, wärend e Proxy leeft, sinn seelen e VPN-Fehler, och wann de VPN dat lescht ass, wat um Bildschierm ze gesinn ass. D'Applikatiounen hannert dem Proxy waarden nach ëmmer op e Wee, deen am Gaang ass ze verschwannen, an d'Unit, déi den Tunnel besëtzt, ass nach net gefrot ginn, en zouzemaachen. Wat wéi en luesen Déngscht ausgesäit, ass meeschtens e Problem vun der Reiefolleg. D'Sequenzéierung léist méi vun dëse wéi all Ännerung vun der Timeout.
Gitt no baussen a géigeflosser Reiefolleg: fir d'éischt d'Konsumenten, duerno de Proxy, an dann den Tunnel — jiddwereen gëtt vun der Komponent gestoppt, déi en ugefaangen huet.
Maacht eng Lëscht vun den Uniten, ier Dir eppes stoppt
Schreift d'Applikatiounsunit, d'Proxy-Unit an den Eegentümer vum VPN op, déi bei engem normale Start dobäi sinn. Füügt all Resolver oder Hëllefskomponent mat eegener Ofschaltung dobäi, well genau déi ginn ëm zwou Auer nuets vergiess. Ouni déi Lëscht wielt déi éischt Stop-Befehl, déi Dir tippt, en Affer zoufälleg.
Nimm si schwaach Beweiser. E Benotzerproxy, e Systemproxy an den Tunnel vun engem anere Kont kënnen deeselwechten Numm hunn, awer ganz onofhängeg Liewenszyklen.
Fäerdeg d'Aarbecht, dann stoppt de Konsument
En geplangte Stop fänkt mat der Applikatioun un: loosst se hir Ufroen ofschléissen oder annuléieren, dann stoppt de Proxy iwwer seng Service-Unit. Wann d'Applikatioun soll weiderlafe sollen, nodeems den Tunnel verschwonnen ass, organiséiert dat bewosst, amplaz se un engem Wee ze loossen, deen am Gaang ass ze verschwannen.
Ufroen, déi wärend dem Stop ënnerwee waren, gehéieren an de Rekord, well vun do kënnt de Stuerm vun Erëmversich beim nächsten Start.
ExecStop an ExecStopPost si verschidden Instrumenter
ExecStop= — ass déi synchron Stop-Operatioun; ExecStopPost= — ass Botzen, dat och no engem feelgeschloenen Start leeft. E Stop-Befehl, deen nëmmen engem Prozess en Signal schéckt an zréckkënnt, léisst systemd virugoen, wärend de Konsument nach ëmmer flusht. Alles, wat onbedéngt muss geschéien, gehéiert an d'Post-Variant, an alles, wat de Stop muss blockéieren, an déi synchron. Iwwerpréift d'effektiv Unit an hir Drop-in-Fichieren, amplaz eng Paketsfichier op der Plaz ze änneren.
En Ofhängegkeetsgraf ordnet Stop-Aufgaben. Hie maacht en asynchrone Skript net synchron, an hie forcéiert keng entfernt Applikatioun, hir Daten ze bestätegen.
Begrenzt de Stop a wësst, wat dës Grenz kascht
TimeoutStopSec= begrenzt souwuel de Stop-Befehl wéi och d'Terminatioun vum Déngscht selwer, an systemd geet op e forcéierte Kill iwwer, wann d'Limite ofleeft. Wielt de Wäert no dem richtege Flush-Verhalen vun der Applikatioun a schreift op, wat ka verluer goe wann d'Limite schléit. Eng Zuel, gewielt well d'Maschinn méi séier soll ausschalten, ass eng Astellung fir Datenverloscht ënner anerem Numm.
Wann e Stop nach ëmmer lues ass, hält d'Unit, hir Kandprozesser, d'Journal-Intervall an d'Resultat vun der Timeout fest. All Timeouten ze verkierzen oder no engem breede Kill ze gräifen ass de Wee, wéi propper Stoppen am nächsten Boot a korrupte Zustand iwwergoen.
Trennt iech iwwer den Eegentümer, dann testt dräi Fäll
Wann d'Konsumenten erof sinn, freet de Manager, deen den Tunnel besëtzt, sech ze trennen: d'systemd-Instanz, d'aktiv Verbindung vum NetworkManager oder den Déngscht vum Ubidder. En onbedeeften OpenVPN-Prozess ëmzebréngen hëlt net onbedéngt d'Sessioun ewech, déi de Wee geliwwert huet, an e Proxy mat enger Restart-Politik kann eng Ufro nei erstellen, wärend Dir de Wee ofbaut. Koordinéiert déi Politik mam geplangte Stop, ier Dir ufänkt.
Testt en normale Stop, en Stop mat enger aktiver Ufro an en Stop, bei deem den Tunnel als éischten feelt. Eng widderhuelbar Sequenz mat enger Frist ass besser wéi en schnellen Ofschalten, deen eng Kéier funktionnéiert.