Deskonexio-erregistro bat iristen da izen beraren pean bigarren konexio bat hasi ondoren, eta erabiltzaile horren errenkadarik berriena eguneratzen duen kudeatzaileak okerreko saioa ixten du. Akatsa ez dago denbora-marken konparaketan. Izen batek gehi segundo oso batek saio bat identifikatzen dutela dioen ustean dago. Kako-gertaerek konexioak deskribatzen dituzte, eta konexio batek berari bakarrik dagokion gako bat behar du.

Hasi deskonexio-aldagaiek benetan esan nahi dutena ulertzen. Orduan soilik du zentzua identifikatzailearen hautaketak.

Zer darama benetan deskonexio-kakoak

Community OpenVPN 2.6-n, kako erreferentziak time_unix bezeroa konektatu zen unea bezala definitzen du; konexio-kakoa exekutatu aurretik ezartzen da eta ez da berriz definitzen deskonexio-kakoa geroago pizten denean. time_duration saio horren iraupena segundotan ematen du, beraz amaiera gutxi gorabehera konexio-ordua gehi iraupena da. Biak segundo osoak dira, eta bat ere ez da zure datu-baseak gertaera prozesatu zuen unea. Hiru denbora horiek bereiz edukitzeak egiten du korrelazio bat eustea, probetan soilik ondo ikusi ordez.

Aritmetika hori idaztea merezi du, kakoak berak eskaintzen duen amaiera-ordu bakarra delako. Prozesatze-atzerapena eta ostalarien arteko erloju-desberdintasunak oraindik kanpo geratzen dira.

Zergatik bikote begi-bistakoa ez den bakarra

Izena konexio-orduarekin parekatzeak bilaketa murrizten du eta oraindik ez du saio bat identifikatzen. Bezero batek segundo berean berriro konekta dezake, beraz bi saioek bi balioak parteka ditzakete. Bi daemon instantziak, edo konfigurazio bera mantentzen duen zerbitzari ordezte batek, bikote hori prozesu ezberdinetatik sor dezakete. Tunel-helbideak arrazoi beragatik birziklatzen dira, eta horrek saio baten atributu bihurtzen ditu, ez haren identifikatzaile.

Hutsegite-modua isila da. Lehen saiorako berandu datorren deskonexioak errenkadarik berriena bat egiten du eta bigarren saioak oraindik erabiltzen duen esleipen bat amaitzen du, beraz erabiltzaileak ausazko sarbide-galera bat pairatzen du, bere erruz eragin ez zuena. Ondoren zuzena dirudien errenkada-kontuak arazoa antzematea zailagoa egiten du.

Nondik dator identitate egonkorra

Kudeaketa-interfazeak bezero bakoitzari bezero-instantziako identifikatzaile bat esleitzen dio, eta identifikatzaile hori eman zuen daemon instantziara mugatzen da. Kanpoko gako erabilgarri batek zerbitzari-identifikatzaile egonkor bat, daemona abiatzean aldatzen den garai bat eta bezero-ID hori konbinatzen ditu. Garaia garrantzitsua da identifikatzaileak prozesuarekin batera berrabiarazten direlako, eta prozesu-ID soil bat geroago erlaziorik gabeko zerbaiten bidez berrerabil daitekeelako.

Haur konexio-script baten barruan ezarritako ingurune-aldagaiak ez dira guraso daemonaren geroagoko deskonexio-scriptera joaten, script horiek beren ingurune propioak dituzten prozesu bereizi gisa exekutatzen direlako. Beraz, UUID bat konexio-orduan sortzea soluzioaren erdia da. Deskonexio-aldeak UUID bera izendatu ahal izan behar du, eta horrek esan nahi du identitateak bi gertaerek iristeko moduko leku batean bizi behar duela.

Egin amaiera baldintzapekoa eta idempotentea

Amaitu saioaren jabearen arabera, ez erabiltzailearen arabera. Izen bati unean dagokion edozein esleipen ezabatzen duen kudeatzaileak azkenean okerra ezabatuko du, eta defentsa bakarra kentzen ari den erregistroa gertaera honek deskribatzen duen erregistroa dela egiaztatzea da.

Kudeaketa-interfazeak kudeaketa-bezero konektatu bat onartzen du aldi berean, beraz integratu lehendik duenarekin, socket beragatik lehiatzen den bigarren behatzaile bat erantsi ordez.

Kudeatu errepikatutako gertaerak emaitza bitan aldatu gabe, eta gorde parekatu gabeko gertaerak adiskidetzerako, baztertu ordez. Deskonexio-dei-itzulerak bizi-zikloaren baldintza dokumentatuak ditu eta baliteke kraskatze edo geldialdi gogor baten ondoren inoiz iristea, beraz diseinuak amaiera-gertaera falta duen saio bat adierazteko modua behar du.

Probatu kasu deserosoak nahita: segundo batean bi berrikonexio, bi daemon instantzia, prozesatzea huts egin zuen konexio bat eta saio baten erdian daemon baten berrabiaraztea. Laurak gainditzen dituen gako bat konfiantzazkoa da.

Erlazionatutako artikuluak