Një program i vogël që lidh një VPN ekzistues ka nevojë për një kontrollues, jo për një implementim të ri të VPN. Motori i mbështetur duhet të merret me negociimin dhe trafikun e tunelit; programi juaj duhet të shprehë kërkesën e përdoruesit dhe ta shpjegojë rezultatin me ndershmëri. Në Linux, ndërfaqja D-Bus e NetworkManager i jep atij kontrolluesi një model konkret për t'u ndjekur.

Katër kontrolle e pengojnë kontrolluesin të ngatërrojë një profil të ruajtur, një kërkesë aktivizimi dhe një sesion që punon.

Kontrolli i parë: cili identitet zgjidhet

Mbaje UUID-në e profilit si identitetin e përhershëm dhe zgjidhe përmes menaxherit kur të duhet rruga e objektit. Një emër shfaqjeje mund të ndahet nga dy profile, dhe një rrugë autobusi në kohë ekzekutimi nuk është një preferencë e arsyeshme përdoruesi për t'u ruajtur. Shkruaje zgjedhjen në konfigurimin tënd, jo në një koment rreth asaj se cila hyrje ishte e dyta në listë.

Verifiko çfarë kthen menaxheri përpara se ta quash përputhje. Një UUID që nuk ekziston më prodhon një dështim kërkimi, dhe kjo është një rrugë kodi ndryshe nga një profil që ekziston dhe refuzon të aktivizohet.

Kontrolli i dytë: çfarë kthen thirrja e aktivizimit

Thirrja e dokumentuar e aktivizimit merr rrugën e objektit të një lidhjeje ekzistuese, një rrugë pajisjeje dhe një objekt specifik. Kthen rrugën e një lidhjeje aktive, dhe ai përgjigje është një dorezë, jo një rezultat gatishmërie. Mos e vendos flamurin e gatishmërisë të aplikacionit nga vlera e kthyer; abonohu në vend të kësaj në gjendjen dhe arsyen e lidhjes aktive.

Për një VPN, objekti specifik zgjedh lidhjen bazë aktive. Kalimi i rrugës rrënjë e lë zgjedhjen e pajisjes te NetworkManager, i cili zgjedh atë që është aktualisht e parazgjedhur. Ky është një vendim konteksti rrugëtimi dhe jo një fushë fjalëkalimi, dhe ndryshon se në cilën pajisje vendoset tuneli.

Mos merr një shembull të përgjithshëm shto-dhe-aktivizo dhe mos prit që ai të krijojë një profil VPN. Ndihmësi i dokumentuar përjashton lidhjet VPN, kështu që përgatitja ose importimi i profilit është një hap i veçantë dhe i rishikuar. Kjo ka rëndësi sepse përgatitja kërkon autorizim dhe rishikim që një buton lidhjeje nuk i ofron. Trajto importimin si një veprim administrativ me rreshtin e vet të regjistrit dhe miratuesin e vet.

Kontrolli i tretë: si përfaqësohet gjendja

Një lidhje aktive kalon nëpër aktivizim, aktive, çaktivizim dhe çaktivizuar, dhe fusha e arsyes thotë pse. Shtypja e gjithë kësaj në një vlerë Boolean të quajtur loggedIn humb informacionin që i duhet përdoruesit dhe atë që do të kërkojë mbështetja. Tregoni të paktën nëse lidhja është në pritje, e vendosur ose e zhdukur, dhe mbaj vargun e arsyes për rastin e dështimit.

Lidh përgjigjet asinkrone me kërkesën që i prodhoi. Një përfundim i vonuar i një përpjekjeje më të vjetër nuk duhet të mbishkruajë një veprim më të ri të përdoruesit, dhe një shtypje e dyfishtë e Connect duhet të injorohet ose të trajtohet si anulim dhe provë e re me një politikë të dukshme.

Kontrolli i katërt: çfarë ndodh pas një rinisjeje

Kur menaxheri riniset ose kontrolluesi yt rilidhet me autobusin, rindërto gjendjen e vëzhguar nga pronari. Mos vazhdo të shfaqësh një sesion të ruajtur në memorie si aktiv sepse një rrugë e vjetër objekti është ende në memorie. Sinjalet e ndryshimit të gjendjes ekzistojnë pikërisht që një kontrollues të mund të risinkronizohet në vend që të hamendësojë.

Zgjidh çfarë do të thotë mbyllja e kontrolluesit. Të lësh të hapur një lidhje ekzistuese në pronësi të makinës mund të jetë e saktë, dhe të shkatërrosh një sesion qëllimisht afatshkurtër gjithashtu mund të jetë e saktë. Të lësh të hapur një lidhje ekzistuese në pronësi të makinës mund të jetë e saktë; të shkatërrosh një sesion qëllimisht afatshkurtër gjithashtu mund të jetë e saktë. Shkruaje atë kontratë pronësie në ndërfaqe në vend që të supozosh se dalja e procesit kryen veprimin e rrjetit. Përdoruesit nuk duhet të hamendësojnë nëse mbyllja e dritares do t'u presë tunelin. Vendos përgjigjen në tekstin e ndërfaqes, jo vetëm në një koment kodi.

Mbaj autoritetin dhe sekretet te pronarët e tyre

Lejet kthehen si po, auth ose jo, dhe ndërfaqja duhet të pasqyrojë ndryshimin midis lejuar, lejuar pas vërtetimit dhe refuzuar. Ekzekutimi i kontrolluesit si root nuk zbaton një politikë lejesh; e heq pyetjen.

Kredencialet i përkasin agjentit të sekreteve të mbështetur ose integrimit të klientit për metodën e vërtetimit të konfiguruar. Një fjalëkalim në kodin burimor, në një argument ose në një regjistër është një gjetje, dhe autorizimi administrativ lokal nuk është i njëjti ngjarje si vërtetimi në portë.

Së fundi, raporto gjendjen e lidhjes veçmas nga detyra që përdoruesi dëshiron të kryejë. Tuneli mund të jetë aktiv ndërsa një emër privat ose një aplikacion mbetet i padisponueshëm, dhe ai dështim i dytë meriton mesazhin e vet dhe statusin e vet. Një kontrollues që thotë saktësisht cili shtresë dështoi është më i dobishëm se ai që thotë se VPN-i ka rënë.

Artikuj të ngjashëm