Firwat eng 23-Stonne VPN-Erënnerung fir déi falsch Sëtzung ausléist
Eng 23-Stonne Notiz soll enger Sëtzung follegen, net dem Kont. Bind den Timer un d'Verbindung, déi ugefaang huet, a behandel Schlof an Neiverbindung als getrennte Fäll.
D'Notiz ass zwanzeg Minutten nom Verbannen erschien. Den Zähler drënner ass zanter dem virege Moien gelaf, oder zanter datt de Kont sech fir d'Lescht authentifizéiert huet, an näischt an der Warnung sot wéien. Dat ass de Symptom: eng Erënnerung, déi un eppes anescht gebonnen ass wéi un d'Verbindung virun dir.
D'Léisung ass keng besser Warnung. Et ass ze entscheeden, wéi eng Auer d'Ufuerderung mengt, an dann den Timer un en Objet ze bannen, deen an där Auer existéiert.
Wat ausgeléist huet, a wat et gezielt huet
Dräi plausibel Quellen hierstellen déiselwecht Noriicht. Eng Kalenderregel leeft zu enger fester lokaler Zäit an weess näischt vun Tunnellen. En Zähler am Client accumuléiert, soulaang eng Verbindung steet, an iwwerlieft Neiverbindungen. Eng Gateway-Politik léisst d'Sëtzung op der Serversäit oflafen an schéckt fir d'éischt eng Warnung.
Nëmmen déi lescht zwou betreffen eng Sëtzung, an déi zwou sinn och net eens. Den Zähler vum Client moosst, wat de lokale Prozess observéiert huet; de Gateway moosst, wat en authentifizéiert an ofgerechent huet. En Schlof, eng Netzwierkännerung oder en Neistart vum Observateur kënnen déi zwou ëm Stonnen trennen, an dofir driften d'Warnung an d'erzwongenen Oflaf auserneen.
Dräi Aueren hannert enger Ufuerderung
Fänk domat un, de Saz opzeschreiwen, deen s du wierklech wëlls. Warne virun datt de Gateway dës Verbindung fäerdeg mécht ass net déiselwecht Ufuerderung wéi errënneren no engem Dag verbonnener Zäit. Et ass och net datselwecht wéi ze mellen, datt dës Sëtzung zanter 23 Stonnen usteet. All Fassung nennt en aneren Evenement, an eng aner Komponent muss dorobber äntweren.
Kontrolléier dann, ob d'Donnéeë existéieren. En lokalen Ufankszäitstempel gëtt dir den Alter vun der Sëtzung ouni Ofhängegkeet vum Server. Eng Gateway-Politik gëtt dir déi reschtlech Liewensdauer, awer nëmmen wann de Gateway se offenlegt. E Benotzungsrapport gëtt dir d'Dauer duerno, an dat kann eng Virinformatioun net undreiwen.
Bind den Timer un d'Sëtzung, net un de Kont
Wiel fir d'éischt den Objet. E Kont kann e puer Apparater an e puer gläichzäiteg Sëtzungen halen, also kann eng Erënnerung, déi um Benotzernumm hänkt, net soen, wéi eng Verbindung den Alter erreecht huet. Bind se un de Profil plus déi Aktivéierung, a brich d'Notiz of, déi nach waart, wann d'Aktivéierung eriwwer ass.
| Evidence you can read | What it establishes | Where it misleads |
|---|---|---|
| Connection state changes to active | A session started now | Does not carry the gateway's own session identifier |
| Duration reported at disconnect | Total service time for that session | Arrives too late for any advance notice |
| Interim usage update | Time accounted up to that update | Staleness equals the update interval |
| Local timestamp taken at activation | Age of your observation | Resets whenever the observer restarts |
Déi Tabell ass e Kontrakt fir däin eegenen Notifizéierer, keng Beschreiwung vun der Callback-API vun engem Client. Wat och ëmmer dat installéiert Produkt iwwer de Verbindungszoustand dokumentéiert, ass d'Quell, un déi s du bannen solls; wou et nëmmen Authentifikatiounsevenementer offenlegt, sot dat haart a kraaft a akzeptéier dat méi graff Verhalen amplaz eng Sëtzung ze schléissen.
Test et mat enger kuerzer Schwell
Debug ni en Dagestimer mat engem Dag Waarden. Füüg eng konfiguréierbar Schwell derbäi, setz se op drësseg Sekonnen, a fuer véier Iwwergäng an der Rei: verbannen, waarden, trennen, nei verbannen. All Iwwergang soll genau eng Zoustandännerung ginn, an d'Neiverbindung soll en neien Termin plangen amplaz den ale z'erwen.
# current connection state and profile identity
nmcli -f GENERAL.STATE,GENERAL.CONNECTION connection show work
# the notifier unit you wrote: does it restart the deadline or resume it?
journalctl --user -u vpn-timer.service --since "-5 min" -o cat
Kuck op d'Zäitstempelen amplaz op d'Wierder. Eng Notiz, déi mat der Ufankszäit vun der vireger Sëtzung kënnt, huet de falschen Objet gebonnen, an eng Notiz, déi zweemol fir een Termin kënnt, heescht, datt de Gescheckt-Fändel ni gespäichert gouf.
Schlof, Neiverbindung an eng verpasst Liwwerung
De Schlof brécht béid naiv Konzepter. En monotone Coundown hält op, wärend d'Maschinn schléift, en Termin no der Mauerauer leeft weider, an en Timer, deen am Schlof ausléist, gëtt spéit oder guer net geliwwert. Entscheet, wéi eng Verhalen deng Ufuerderung brauch, setz d'Maschinn dann iwwer d'Schwell an de Schlof a bestätegt et.
D'Liwwerung verdéngt déiselwecht Suergfalt. Wann d'Notiz net ka gewise ginn, setz se an d'Rei, a kontrolléier nach eng Kéier, ob d'Zilsëtzung nach existéiert, ier s se schlussendlech weist; soss gëtt de Benotzer iwwer eng Verbindung gewarnt, déi schonn eriwwer ass. Déi erzwongene Trennung an d'Erneierung vun den Umeldungsdaten bleiwen ausserhalb dëse Wee, well eng Erënnerung, déi stëll d'Schicksal vun der Verbindung ännert, eng Politikentscheedung ass, déi sech als Notiz verkleed huet.