Hileko datu-kuota OpenVPN kontu bakoitzean non sartzen da
Birkonexio bakoitzean berrezartzen den kuota ez da muga. Jarraitu erabilera kontuaren arabera, kobratu byte-delta bakoitza behin, eta egin agortzeak sarrera blokea dezan.
Tunela birkonektatzen den bakoitzean berrezartzen den kuota ez da muga, eta hori lortzen da byte-kontagailu bat VPN zerbitzari bati itsasten zaionean egoera iraunkorra gordetzeko tokirik gabe. Kontagailua saio batekoa da; kuota pertsona batena edo gailu-kontratu batena da. Ezaugarriaren zailtasun guztia desdoitze horretatik dator, beraz beheko egiaztapenek egoera non bizi den eta zein geruzari dagokion erabakitzea jorratzen dute.
Lotu kuota kontu bati, ez tunel bati
Hasi kuotaren subjektua izendatzen. Pertsona batek hiru gailu-ziurtagiri izan ditzake, eta horietako inork ez luke hileko aurrekontu independenterik jaso behar bereiz autentifikatzen direlako bakarrik. Birkonexioei, tunel-helbide berriei eta bigarren atebide batera mugitzeari eusten dien kontu-identifikatzaile egonkorra da kuotak erabil dezakeen aingura bakarra. Ziurtagiri baten izen arruntak gako gisa balio du soilik zure jaulkipen-politikak izen bakoitzeko kontu bat bermatzen duenean.
Esleitutako tunel-helbidea ez da inoiz erantzuna. Helbideak birziklatu egiten dira, poolak partekatzen dira, eta kontu bera bi aldiz ager daiteke bi atebidetan minutu berean. Liburu nagusiak helbide batean giltzatzen badu, deskonektatu eta berriro konektatzea nahikoa da depositua berriz betetzeko.
Erregistratu saio bakoitzeko aritmetika auditagarria izan dadin: kontua, fakturazio-aldia, atebidearen instantzia, saioaren identitatea, azken aldiz behatutako kontagailuak eta finkatutako guztizko kopurua. Sartu daemonaren abiarazte-belaunaldia saioaren identitatean, berrabiarazitako zerbitzariak bezero-IDak berrerabiltzen baititu eta bat-etortze inozoa aurreko oinarri-lerroa heredatuko luke.
Finkatu unitatea, norabidea eta berrezartze-muga
Lau definizio idatziz finkatu behar dira edozein bilketa hasi aurretik. Kuotak bezeroak bidaltzen dituen byteak, jasotzen dituen byteak edo bien batura zenbatzen ditu? Gigabyte bat 10^9 byte ala 2^30 da? Zein tokiko ordutan eta zein ordu-eremutan aldatzen da aldia? Eta zer neurtzen du zehazki kontagailuak, tunelaren gainkarga eta berbidalketak sartuta daudela, baina aplikazioaren fitxategi-tamaina eta hornitzailearen faktura ez daudela?
Aukera horietako bat ere ez da okerra, baina inplementazioak eta bezeroak ikusten duen zenbakiak bat etorri behar dute. Sistema beraren bi erdiek GiB-ari buruz edo tokiko orduaren ordez UTC gauerdian gertatzen den aldaketari buruz bat ez badatoz, kuota osoarekiko konfiantza higatzen duen tiket mota bera sortzen dute.
Bihurtu byte-guztizkoak kobratutako delta bakarrera
Kudeaketa-interfazeak BYTECOUNT_CLI lerro periodikoak jakinarazten ditu, bezero-ID bat eta norabide bakoitzean metatutako byte-guztizkoak daramatzatenak, eta bytecount komandoak ezartzen du zenbatetan iristen diren. Zerbitzariaren ikuspegitik, jasotako zifrak bezeroak bidalitako byteak zenbatzen ditu eta bidalitako zifrak hari entregatutako byteak zenbatzen ditu. Ezarri tartea liburu nagusiak xurruka dezakeen zerbaitetan; tarte oso laburrak benetan lortzen ez duzun doitasuna erosten du.
Muga batek diseinu osoa eratzen du: kudeaketa-socketak kontrol-konexio bakarra onartzen du. Monitorizazio-esportatzaile batek, GUI batek eta zure kontrolagailuak ezin dute bakoitzak berea ireki. Erabaki zein prozesuk duen kanala eta utzi besteei egoera hortik irakurtzen, interfaze honek administrazio-ekintzak ematen baititu eta, nolanahi ere, ez litzatekeelako hostetik kanpo azaleratu behar.
rx_delta = sample.rx_now - session.prev_rx
tx_delta = sample.tx_now - session.prev_tx
charge = rx_delta + tx_delta
# same transaction:
ledger.total += charge
session.prev_rx, session.prev_tx = sample.rx_now, sample.tx_now
Finkatu oinarri-lerro berriak eta erabileraren gehikuntza elkarrekin, lagin bat berriz erreproduzitzeak ezer kobratu ez dezan bitan kobratu beharrean. Atzeraka mugitzen den kontagailua seinale bat da, ez zor bat: saioa ordeztu dela edo daemona berrabiarazi dela esan nahi du, eta erantzun zuzena saioaren identitatea adostea da, zenbateko negatiboa kreditatu beharrean.
Deskonexio-bideak arreta bera behar du. Azken gertaera batek saioaren amaierako guztizkoak badaramatza, kobratu azken lagin finkatuarekiko aldea soilik. Guztizko osoa gehitzea aldizkako laginketa jada kobratu ondoren etxeko kuota-sistemen bikoizketa arruntena da. Aldi-muga zeharkatzen duten saioek arau bat ere behar dute, amaierako guztizko bakar batek ez baitu informaziorik ematen byteek noiz zeharkatu zuten gauerdia.
Agortzeak sarrera uka dezala, ez soilik tunela hil
Kontu bat bere mugaraino iristen denean, bi gauza gertatu behar dira: lehendik dauden saioak amaitzen dira eta berriak ukatzen dira. Kudeaketa-protokoloak client-kill eskaintzen du bezero-IDaren arabera, eta horrek lehen erdia konpontzen du kontuaren saio bizi guztiak zenbatzen badituzu, ohartu zaren helbide bakarra hiltzen aritu beharrean.
Bigarren erdia da kuota-diseinuek huts egiten duten lekua. Hiltze hutsa bezeroaren birkonexio-begiztaren aurkako lasterketa da, eta hark gogoz itzuliko du segundo batzuk geroago. Sarrerak liburu nagusi partekatuarekin kontsultatu behar du, eta atebide anitzeko inplementazio batean egiaztapen hori ezin da makina bakoitzeko fitxategi bat izan. Saioa onar dezakeen instantzia bakoitzak agortutako egoera bera ikusi behar du.
Tokenetan oinarritutako birkonexioek beren proba propioa merezi dute. OpenVPN 2.6k saio-tokena barnean balidatu dezake auth-gen-token-ekin, zure kontrolagailuak muga betearazteko erabiltzen zuen kanpoko autentifikazio-deia saihestuz. Beraz, oraindik balio duen token batek identitatea frogatzen du, ez gainerako kuota, eta bezero-instantzia berri bakoitzak liburu nagusiarekin kontsultatu behar du oraindik ere. Horren ordez management-client-auth gaitzen baduzu, kontrolagailua autentifikatzaile bihurtzen da eta saioaren egoera aztertzeko eta iraungitako edo baliogabeko tokenak berak baztertzeko betebeharra heredatzen du.
Onartu laginketak sortzen duen gainditzea
Aldizkako behaketa gehi deskonexioak tolerantzia ezaguna duen lagindutako kuota ematen dizute. Bezero batek gutxi gorabehera txosten-tarte bat gehi kontrolagailuak jarduteko behar duen denbora gaindi dezake, eta kontu bateko saio paraleloek leiho hori biderkatzen dute. Esan interfazean, ezin duzun azken byteko ebaki zehatzik iragarri beharrean.
Benetako goiko muga gogor bat beste ingeniaritza-problema bat da: birbidaltze-bidearen barnean betearaztea, saioetan zehar kontu berari lotuta. Kontagailuak arinago irakurtzea ez da gauza bera, eta ez dio eusten tunel gehiago besterik irekitzen dituen bezero bati.
Inplementatu aurretik, exekutatu implementazio inozoak hausten dituzten onarpen-kasuok: birkonexio errepikatuak, bi gailu aldi berean, kontrolagailuaren eta atebidearen berrabiarazteak, galdu den deskonexio-gertaera bat, saioaren erdian aldi-aldaketa bat eta agortzearen ondorengo token bidezko birkonexio-saio bat. Ondoren erabaki kontabilitate-etenduren hutsegite-modua. Liburu iraunkorrak erregistratu duzun erabilera babesten du; ez dezake inoiz iritsi ez zen behaketarik berpiztu, eta bezeroak merezi du jakitea bi egoera horietako zeinetan dagoen.