De Service stoppen hëlt d’Schnittstell ewech och mat persist-tun gesat. Dat ass d’Optioun déi funktionéiert wéi dokumentéiert, keen Feeler. D’Optioun beschreift ee Neistartwee an engem lafenden Prozess, an systemctl stop ass net dee Wee.

Liest déi zwee Nimm zesummen an den Design gëtt kloer. Dee een hält en Deskriptor, deen aneren hält Schlësselmaterial, an déi zwee existéieren wéinst deem wat geschitt nodeems d’Privilegien ofginn goufen.

Déi zwee Ressourcen an den Neistart zu deem se gehéieren

OpenVPN signaliséiert säin eigenen Neistart an zwou gewéinlechen Situatiounen. En explizitten SIGUSR1 mécht dat, an en ping-restart deen vun engem doudege Partner ausgeléist gëtt mécht datselwecht. Béid loossen de Prozess lieweg a féieren d’Verbindungsastellung nach eng Kéier aus, an do verdéngen d’Optiounen hire Plaz.

EventTUN/TAP deviceKey and auth filesAddresses and routesup/down hooks
Soft reset, from SIGUSR1 or from a ping-restart the daemon sends itselfsurvives only with persist-tunsurvive only with persist-keysurvive with the device, otherwise rebuiltrun again only when restart hooks are enabled
Configuration reload, SIGHUPrecreatedre-read from diskrebuilt once the device returnsrun again
Service stoplostre-read at the next startremovedrun at the next start

Nëmmen déi Rei vum sanften Neistart ass dat wat dës zwou Optiounen änneren, an d’Aarbecht déi se iwwersprangen ass dee deieren Deel op enger beschäftegter Verbindung. En Apparat nach eng Kéier opmaachen räisst d’Adressen an d’Routen of déi drun hänken, an se nei opbauen kann Paketen droppe loossen déi ënnerwee waren wéi den Neistart ugefaang huet. E Stopp zerstéiert déiselwecht Objeten ouni eng Optioun se ze behalen.

Firwat d’Optiounen iwwerhaapt existéieren

En gehäerte OpenVPN-Server fänkt normalerweis als root un, mécht seng Schlësselen an säin Apparat op, a geet dann op en net-privilegéierte Benotzer. No deem Iwwergang sinn e puer Operatiounen einfach fort. Eng Schlësselfichier am Modus 0600 liesen, eng Netzwierkschnittstell uleeën oder Routen änneren kann alles refuséiert ginn.

Ouni d’persist-Optiounen géif en Partner dee laang genuch schweigt fir ping-restart auszeléisen genau déi Operatiounen erzwéngen. D’Reconnexion géif feelen och wann sech näischt an der Konfiguratioun geännert hätt. De Prozess géif ausgesinn wéi wann en ouni Grond stierft, an de Log géif e Berächtigungsfeeler weisen anstatt e Netzwierkfeeler.

Mat hinnen benotzt den sanften Neistart erëm wat d’privilegéiert Phas schonn erhalen huet. Et ass keng Magie am Spill an de Prozess iwwerlieft näischt. D’Acquisitioun vu Ressourcen gëtt just opgeschoben.

Liest den éischte Feeler, net de leschten

Wann en Neistart feelt, liest den éischte Feeler anstatt de leschten. En geschützte Schlëssel, eng auth-Fichier, en Interface-ioctl an en externen Hook sinn véier verschidde Ressourcen. Ee behalen seet näischt iwwer den Zougang zu deenen aneren. En Hook deen en Firewall-Tool opruffe brauch nach ëmmer d’Privilegien déi deen Tool verlaangt.

Hooks hunn hire eigenen Echangeur. D’OpenVPN-Handbuch paart d’persist-Optiounen mat up-restart, wat decidéiert ob d’up- an down-Skripten no engem Neistart nach eng Kéier lafen. Eng Schnittstell déi uewen bliwwen ass seet iech also näischt doriwwer ob ären Resolver-Integratioun aktualiséiert gouf.

# which restart path just happened?
journalctl -u openvpn-client@office --since '10 min ago' | grep -E 'SIGUSR1|ping-restart|Restart pause|NOTE:'

# did the interface survive, and do its routes still exist?
ip -brief link show tun0
ip route show dev tun0

Dee Paar Kommandoen trennt déi zwee Feelmuster a Sekonnen. Eng Schnittstell déi do ass awer där hir Routen feelen ass en Hook- oder Routeproblem. Eng Schnittstell déi verschwonne ass bedeit de Prozess ass wierklech fäerdeg.

Eng behalen Schnittstell ass keen Kill-Switch

Wann d’Ufuerderung ass datt de Verkéier ni baussen aus dem Tunnel soll kommen, dann leeschtert en Apparat deen behale gëtt dat net. Routen fir déi aner Adressfamill, eng zweet Standardroute an de Fall wou de Prozess komplett erausgeet bleiwen all baussen dem Geltungsberäich vun der Optioun.

Behandelt déi zwou Ufuerderungen getrennt. Den Tunnelobjet iwwer Reconnexionen ze behalen ass eng Bequemlechkeet fir den Daemon. Den Ausgang blockéieren wann den Tunnel ënnen ass ass eng Firewall-Politik mat hiren eegene Reegelen an hirem eigenen Test. Béides ze vermëschen ergëtt eng Konfiguratioun déi defensiv ausgesäit an sech wéi eng Reconnexion no beschtem Effort behält.

Nennt d’Evenement ier dir et diagnostizéiert. E sanften Neistart, e feelgeschloenen Verbindungsversuch an e Service-Stopp sinn dräi Evenementer mat dräi Verhalen, an nëmmen dat éischt ass dat wat dës Optiounen beschreiwen.

Ähnlech Artikelen