Qof ayaa codsaday in macmiilka VPN dib loo xiriiro, codsigaasna wuxuu macneyn karaa saddex arrimood oo kala duwan. Waxay macneyn kartaa joojinta hal fadhi oo la xaqiijiyay, ogeysiinta macmiil kasta in server UDP ah uu baxayo, ama dib u bilowga daemon-ka laftiisa. Mid kastaa wuxuu leeyahay saameyn radius kala duwan, doorashada khaldanna waxay ku beddelaysaa hagaajin hal isticmaale ah in ay noqoto hakad adeeg oo dhan. Baaxaddu waa go'aanka, amarkuna waa ka soo baxaa.

Weydii cidda ay saameynayso ka hor inta aadan weydiin kontoroolka la isticmaalayo.

Hal tusaale: interface-ka maamulka

Interface maamul oo la habaystay wuxuu liis garayn karaa tusaalooyinka xiran oo uu joojin karaa midkood oo sax ah. Fadhi kastaa wuxuu qaataa aqoonsiga macmiilka, iyo client-kill CID wuxuu bartilmaameedsadaa aqoonsigaas halkii uu magac guud bartilmaameedsan lahaa. Akhri aqoonsiga nool ee natiijada xaaladda hadda, sababtoo ah qiimaha laga koobiyeeyay log hore wuxuu tilmaamayaa fadhi aan hadda jirin. Joojinta tusaalaha waxay soo afjartaa xiriirkaas oo wax kale ma aha.

Ma dammaanad qaadinayo xiriir cusub. Hadday macmiilku soo noqdo waxay ku xiran tahay dejinta isku dayga mar kale, gelitaannada fog ee hadhay, shuruudaha xaqiijinta iyo haddii barnaamijka kormeerka uu weli shaqeynayo. Macmiilka soo noqda wuxuu helaa aqoonsi cusub, taasina waa sababta isbarbardhigga aqoonsiyada uu yahay dariiqa kaliya ee lagu kalsoonaan karo ee lagu kala garto duugoobay iyo cusub.

Ogeysiiska bixitaanka UDP ma aha amar macmiil kasta

explicit-exit-notify waa tilmaame-habayn ku saabsan dhacdooyinka bixitaanka iyo dib u bilowga. Macmiilka UDP wuxuu u sheegaa dhinaca kale in fadhigu dhammaanayo, doodda tirada ahna waxay kontoroolaysaa inta jeer ee ogeysiiska lagu celceliyo. Marka server-ku ku shaqeeyo UDP wuxuu macmiiliintiisa xiran u diraa fariin kontorool dib u bilow ah, qiimayaasha la diiwaangeliyayna waxay kala soocaan dib u xiriirka isla server-ka iyo u guurista gelitaan fog oo kale. Taasi waa calaamad wareeg nololeed oo leh dhagaysi ballaaran.

Waxba gudaheeda kama dooranayo macmiil aan loo baahnayn waqti aan loo baahnayn. In loo arko badhan dib u xiriir waxay gaartaa fadhi kasta oo xiran isku mar.

Calaamaduhu waxay ku shaqeeyaan habka, ma aha fadhiga

SIGUSR1 wuxuu waydiisanayaa hab shaqeynaya in uu dib u bilaabo xiriirkiisa isagoon dib u akhrin habaynta, iyo doorashooyinka joogtaynta ayaa go'aamiya waxa ka badbaadaya dib u bilowgaas. SIGHUP wuu sii socdaa: wuxuu dib u akhriyaa faylka habaynta oo dib u furaa kheyraadkiisa. SIGTERM iyo SIGINT waxay dalbanayaan xidhitaan nidaamsan. Kuwani waa hawlgalo heer hab ah: server leh macmiilo badan waxay saameeyaan fadhi kasta oo habku qaado, ma aha tan ku qoran tigidhka.

Marka habku ku shaqeeyo maareeye adeeg hoostiisa, isticmaal kontoroolka maareeyaha laftiisa halkii aad signal u diri lahayd PID aad ka heshay liiska hababka. Akhri unugga si aad u aragto calaamadda uu maareeyahu diro, sababtoo ah dib u bilow iyo dib u rakib ayaa wax kala duwan ku sameeya isla daemon-ka.

Go'aanso baaxadda ka hor inta aadan dooran kontoroolka

Saddex su'aal ayaa go'aamisa. Cidda ay saameynayso: hal isticmaale, macmiil kasta oo hal server ah, ama daemon-ka iyo wax kasta oo uu qaado. Waxa ay tahay inuu badbaado: habaynta, xaaladda tunnel-ka, ama midkoodna. Cidda loo fasaxay: is-dhexgalka maamulka, milkiilaha adeegga, ama hawlwadeenka shabakadda ee kontoroolaya ogeysiiska bixitaanka. Ka jawaab kuwaas oo kaliya hal kontorool ayaa ku habboon.

Ku darista dhagayste kontorool oo aan la xaqiijin si loo helo badhan dib u xiriir waxay siinaysaa qof kasta oo gaara port-ka wax badan oo ka badan badhankaas.

Hubi fadhiga cusub, ma aha go'itaanka

Dhacdo go'itaan waxay caddaynaysaa in fadhigii hore dhammaaday. Waxba kama sheegayso fadhi cusub oo la xaqiijinayo, cinwaan helaya, waddooyin rakibaya ama gaaraya kheyraadka isticmaaluhu u baahnaa. Hubi aqoonsiga cusub, kadib xaaladda tunnel-ka, kadib hal kheyraad dhab ah. Saddexdaas tallaabo waa farqiga u dhexeeya dib u xiriir iyo xiriir shaqeynaya.

Ku qor baaxadda diiwaanka isbeddelka. 'Waan dib u xiriiriyay macmiilka' ma aha sharraxaad marka macmiilku ahaa mid ka mid ah afartan server la wadaago.

Maqaallo la xiriira