Mae dangfwrrd yn gofyn am rif o ba mor hir y mae'r cysylltiad wedi bod ymlaen, ac OpenVPN nid yw'n darparu un. Mae'r cleient yn gwybod pryd y cododd ei dwnnel, ond dim ond os yw rhywbeth yn cofnodi'r foment honno cyn i gyflwr y sesiwn gael ei golli. Y man a gefnogir yw'r bach up, a'r gwerth sy'n werth ei storio yw eiliad epoch amrwd yn hytrach na llinyn wedi'i fformatio. Popeth ar ôl hynny yw rhifyddeg, ynghyd ag ychydig o reolau trefnu sy'n penderfynu a yw'r rhif yn aros yn onest.

Cadarnhewch fod y bachau yn rhedeg mewn gwirionedd

Profwch fod y bach yn tanio cyn dylunio unrhyw beth o'i gwmpas. Mae cyfluniad cleient lleiaf yn gofyn am script-security 2 ynghyd â llwybrau up a down; heb y llinell diogelwch mae OpenVPN yn gwrthod gweithredu'r sgript ac yn dweud hynny'n blwmp ac yn blaen. Ychwanegwch up-restart a down-pre ar yr un pryd fel bod llwybrau ailgychwyn a dadfoni mor ragweladwy.

Gwnewch fersiwn gyntaf y bach yn un sy'n atodi ei amgylchedd i ffeil ac yn gwneud dim arall. Mae hynny'n dweud wrthych enwau'r newidynnau y mae eich adeiladwaith yn eu hallforio mewn gwirionedd, fel dev a script_type, yn lle'r rhai rydych yn eu cofio o fersiwn arall. Rhedwch un cysylltiad ac un datgysylltiad, yna darllenwch y ffeil. Os na ymddengys unrhyw beth, stopiwch yma, oherwydd bydd dyluniad stamp amser ar ben bach nad yw byth yn rhedeg yn edrych fel methiant monitro am wythnosau.

Gwiriwch pa ddefnyddiwr y mae'r bach yn rhedeg fel. Gyda user a group wedi'u gosod, mae OpenVPN yn gollwng breintiau cyn rhedeg sgriptiau, felly gall cyfeiriadur y gall root ysgrifennu ynddo fod ar gau i'r bach. Dewiswch y llwybr o safbwynt y gwasanaeth yn hytrach nag o safbwynt eich plisgyn.

Cofnodwch un gwerth epoch a'i glirio'n fwriadol

Mae ar y bach up angen un llinell, date +%s > /run/openvpn-client.started, gyda'r llwybr wedi'i addasu fesul enghraifft. Mae gwerth epoch yn osgoi cwestiynau iaith, parth amser a fformat yn ddiweddarach, a dyma'r un rhif y gall asiant monitro ei gymharu â'i gloc ei hun.

Mae clirio yr un mor bwysig â chofnodi. Dylai'r bach down wacáu neu ddileu'r ffeil, ac mae down-pre yn gwneud hynny cyn i'r rhyngwyneb gau, sy'n dileu'r ffenestr lle mae'r ffeil yn disgrifio twnnel sydd eisoes wedi mynd. up-restart wedyn yn adnewyddu'r stamp ar ailgychwyn mewnol yn lle gadael y gwerth gwreiddiol yn ei le. Heb y pâr hwnnw, ailgychwyn oherwydd terfyn amser ping yn cynhyrchu rhif sy'n dal i ddringo tra bo'r twnnel yn ailsefydlu.

Dewiswch leoliad â'r oes gywir. Mae ffeil o dan /run yn diflannu ar ailgychwyn, sy'n cyfateb i realiti, tra gall ffeil o dan /tmp gael ei glanhau'n annisgwyl ac mae un yn y cyfeiriadur cyfluniad yn goroesi mewn ffordd sy'n camarwain. Gosodwch ganiatadau fel mai dim ond defnyddiwr y gwasanaeth a'r darllenydd monitro all ei darllen.

Cyfrifwch amser gweithio heb ymddiried yn llinellau'r log

Darllenwch yr eiliad a storir, darllenwch yr eiliad bresennol, tynnwch. Pan fydd y ffeil yn absennol neu'n wag, yr ateb onest yw nad oes twnnel gweithredol, nid bod yr amser gweithio yn sero, oherwydd dylai'r ddau gyflwr godi rhybuddion gwahanol. Cadwch eiliadau amrwd yn llwyth monitro a fformatiwch ddyddiau ac oriau yn y haen arddangos. Mae fformatydd sy'n talgrynnu y tu mewn i'r allforiwr yn taflu manylder y bydd rhywun eisiau ei gael yn ystod digwyddiad.

Mae dosrannu stampiau amser y log yn llwybr byr demtasiwn, ac mae'n methu mewn tair ffordd: mae'r fformat yn dilyn pa bynnag opsiynau a osodir, mae cylchdroi yn dileu'r hanes, ac mae ailgysylltu yn ymddangos fel sesiynau ar wahân yn hytrach nag un twnnel parhaus. Mae'r bach yn cofnodi'r digwyddiad unwaith, ar y foment y mae'n digwydd.

Pan fydd y gwiriad yn rhedeg ar westeiwr arall, anfonwch y stamp amser yn hytrach na'r hyd fel bod y darllenydd yn defnyddio ei gloc ei hun. Yna mae canlyniad negyddol bach yn darllen fel gwyriad cloc yn hytrach na bach wedi torri.

Cwmpaswch ailgysylltu, ailgychwyn a nifer o enghreifftiau

Mae angen dwy ffeil ar ddau dwnnel ar un gwesteiwr, wedi'u hallweddu gan enw'r enghraifft y mae'r gwasanaeth eisoes yn ei ddefnyddio. Mae llwybr a rennir yn golygu bod y cysylltiad diweddaraf yn trosysgrifo amser cychwyn pob proffil, a'r symptom yw rhif sy'n neidio'n ôl pan fydd ail dwnnel yn cychwyn.

Mae ymddygiad ailgysylltu yn haeddu prawf ei hun, oherwydd dyna lle mae dyluniad credadwy yn adrodd y peth anghywir yn dawel. Gorfodwch ailgychwyn drwy ollwng y cymar neu anfon signal at y broses, yna cymharwch gyflwr y rhyngwyneb â'r ffeil. Dylai'r stamp amser symud ymlaen ar y foment y mae'r twnnel yn dychwelyd.

Ar ochr y gweinydd, mae'r ffeil statws yn cario gwerth connected-since fesul cleient, sy'n ateb cwestiwn gwahanol: pryd y gwelodd y gweinydd y cymar hwnnw ddiwethaf. Defnyddiwch ef ar gyfer traws-wirio yn hytrach nag fel disodliad, gan ei fod yn diflannu gyda'r sesiwn y mae'n ei disgrifio. Nid yw'r naill fesuriad na'r llall yn dweud dim am iechyd y rhaglen y tu ôl i'r twnnel.

Rhedwch y tri gwiriad sy'n dal bygiau trefnu

Profwch gysylltiad arferol, ailgysylltiad gorfodol a stop glân, gan ddarllen y rhestr rhyngwynebau a'r ffeil gyda'i gilydd ar ôl pob un. Mae stamp sy'n dal yn bresennol ar ôl stop glân, neu ffeil sy'n honni twnnel nad yw'r rhestr rhyngwynebau yn ei gynnwys, yn pwyntio'n syth at drefn y bachau. Rhedwch y gwiriadau fel defnyddiwr y gwasanaeth a chyda llwybrau'r gwasanaeth, oherwydd gall plisgyn root weld ffeil wahanol a rhoi ateb anghywir hyderus. Yna gadewch i holwr araf ddarllen y ffeil a chadarnhewch nad yw byth yn ysgrifennu iddi.

Mae arolwg bob minut yn cwmpasu rhybuddio, ac ni ddylai unrhyw fach ddibynnu ar fod yr holwr hwnnw yn fyw. Cadwch y ddau gyfrifoldeb ar wahân ac mae'r rhif yn aros yn ddibynadwy pan fydd y naill ochr neu'r llall yn cael ei ailgyflwyno.

Erthyglau cysylltiedig