En Dashboard freet no enger Zuel, wéi laang d'Verbindung schonn un ass, an OpenVPN gëtt déi net. De Client weess, wéini säin Tunnel eropkomm ass, awer nëmmen wann een deen Abléck festhält, ier den Zoustand vun der Sessioun verluer geet. Déi ënnerstëtzt Plaz ass den up-Hook, an de Wäert, deen et wäert ass ze späicheren, ass eng rau Epoch-Sekonn an net e formatéierte String. Alles duerno ass Arithmetik, plus e puer Reegelen zur Uerdnung, déi entscheeden, ob d'Zuel éierlech bleift.

Bestätegt, datt d'Hooks wierklech lafen

Beweist, datt den Hook ausléist, ier Dir eppes ronderëm hien entwërft. Eng minimal Client-Konfiguratioun brauch script-security 2 plus explizit Weeër up an down; ouni d'Sécherheetszeil refuséiert OpenVPN de Skript auszeféieren an seet dat kloer. Füügt up-restart an down-pre gläichzäiteg derbäi, sou datt d'Neistart- an Ofbauweeër sech viraussiichtlech behuelen.

Maacht déi éischt Versioun vum Hook sou, datt se hir Ëmwelt un eng Datei ufiert an soss näischt mécht. Dat weist Iech d'Variabelnimm, déi Äre Build wierklech exportéiert, wéi dev an script_type, amplaz vun deenen, un déi Dir Iech aus enger anerer Versioun erënnert. Fuert eng Verbindung an eng Trennung aus, liest duerno d'Datei. Wa näischt erschéngt, stoppt hei, well en Zäitstempel-Design um Hook, deen ni leeft, wäert Woche laang wéi e Monitoring-Feeler ausgesinn.

Kontrolléiert, ënner wéi engem Benotzer den Hook leeft. Mat user an group gesat, gëtt OpenVPN Privilegien op, ier et Skripte lafe léisst, sou datt engem Verzeechnis, an dat root schreiwe kann, fir den Hook zou ka sinn. Wielt de Wee aus der Siicht vum Service an net aus där vun Ärer Shell.

Ee Epoch-Wäert festhalen an dee bewosst läschen

Den up-Hook brauch eng Zeil, date +%s > /run/openvpn-client.started, mam Wee pro Instanz ugepasst. En Epoch-Wäert vermeit méi spéit Froen zu Sprooch, Zäitzone a Format, an et ass déiselwecht Zuel, déi e Monitoring-Agent mat senger eegener Auer vergläiche kann.

Läschen ass grad esou wichteg wéi Schreiwen. Den down-Hook soll d'Datei eidel maachen oder ewechhuelen, an down-pre mécht dat, ier d'Interface zougeet, wat d'Fënster ewechhëlt, an där d'Datei en Tunnel beschreift, deen schonn fort ass. up-restart frëscht duerno de Stempel bei engem internen Neistart op, amplaz den urspréngleche Wäert stoen ze loossen. Ouni dës Puer en Neistart no Ping-Zäitlimit gëtt eng Zuel, déi weider klëmmt, wärend den Tunnel sech erëm opbaut.

Wielt eng Plaz mat der richteger Liewensdauer. Eng Datei ënner /run verschwënnt beim Neistart, wat der Realitéit entsprécht, wärend eng Datei ënner /tmp onviraussiichtlech ka botzt ginn an eng am Konfiguratiounsverzeechnis op enger Aart iwwerlieft, déi täuscht. Setzt d'Berechtegungen esou, datt nëmmen de Service-Benotzer an de Monitoring-Lieser se liese kann.

Berechent d'Uptime ouni de Logzeilen ze vertrauen

Liest déi gespäichert Sekonn, liest déi aktuell Sekonn, zitt of. Wann d'Datei feelt oder eidel ass, ass déi éierlech Äntwert, datt keen Tunnel aktiv ass, net datt d'Uptime null ass, well déi zwee Zoustänn ënnerschiddlech Alarmer solle schloen. Hält rau Sekonnen am Monitoring-Payload a formatéiert Deeg a Stonnen an der Uweisungsschicht. En Formatéierer, deen am Exporteur bannendran ofrënnt, schléisst Präzisioun ewech, déi een an engem Tëschefall wäert wëllen.

Log-Zäitstempelen ze parsen ass de verlockende Ofkierzung, an et schléit op dräi Aarte feel: d'Format follegt, wéi eng Optiounen agestallt sinn, d'Rotatioun hëlt d'Historie fort, an d'Reconnects erschéngen als getrennt Sessiounen amplaz als een duerchgängigen Tunnel. Den Hook registréiert d'Evenement eng Kéier, am Abléck wou et geschitt.

Wa d'Prüfung op engem aneren Host leeft, schéckt den Zäitstempel amplaz vun der Dauer, sou datt de Lieser seng eege Auer uwendet. Eng kleng negativ Äntwert liest sech dann als Auer-ofwäichung an net als futti Hook.

Deckt Reconnects, Neistarts a méi Instanzen of

Zwee Tunnelen op engem Host brauchen zwou Dateien, geschlësselt mam Numm vun der Instanz, dee de Service schonn benotzt. En gedeelten Wee bedeit, datt déi lescht Verbindung d'Startzäit vun all Profil iwwerschreift, an de Symptom ass eng Zuel, déi zréck spréngt, wann en zweeten Tunnel ugeet.

D'Verhalen beim Reconnect verdéngt säin eegenen Test, well do mëllt en Allgemeng-Design stëll dat Falscht. Zwéngt en Neistart, andeems Dir de Peer fale léisst oder dem Prozess e Signal schéckt, a vergläicht duerno den Interface-Zoustand mat der Datei. Den Zäitstempel soll viru goen am Abléck, wou den Tunnel zréckkënnt.

Op der Serversäit dréit d'Statusdatei e connected-since-Wäert pro Client, deen eng aner Fro beäntwert: wéini de Server dee Peer lescht gesinn huet. Benotzt en fir Kräizkontroll an net als Ersatz, well en mat der Sessioun verschwënnt, déi en beschreift. Keng vun den zwou Miessunge seet eppes iwwer d'Gesondheet vun der Applikatioun hannert dem Tunnel.

Fuert déi dräi Prüfungen duerch, déi Uerdnungsfeeler fänken

Test eng normal Verbindung, eng forcéiert Reconnect an en proppere Stop, a liest d'Interface-Lëscht an d'Datei nom jiddwerengem zesummen. En Stempel, deen nach no engem proppere Stop do ass, oder eng Datei, déi en Tunnel behaapt, deen et an der Interface-Lëscht net gëtt, weist direkt op d'Hook-Uerdnung. Fuert d'Prüfungen als Service-Benotzer an mat de Weeër vum Service duerch, well eng root-Shell eng aner Datei ka gesinn a mat Sécherheet eng falsch Äntwert ginn. Loosst duerno en luesen Poller d'Datei liesen a bestätegt, datt en ni dra schreift.

Eng Ëmfro all siechzeg Sekonnen deckt d'Alarméierung of, an keen Hook soll drop ziele wat, datt dee Poller lieft. Hält déi zwou Verantwortungen getrennt an d'Zuel bleift vertrauenswierdeg, wa béid Säiten nei agesat ginn.

Ähnlech Artikelen