Halka ay ku habboon tahay xaddiga xogta bishii ee akoonka OpenVPN
Xaddi dib u dhigmo isku xir kasta ma aha xad. La soco isticmaalka akoon kasta, xisaabi farqiinta byte kasta hal mar, oo dhig dhammaadka inuu xannibo gelitaanka.
Xaddiga dib u dhigmo mar kasta oo tunnel-ku dib u xirmo ma aha xad, oo taas ayaa si sax ah la helaa marka tiriyaha byte lagu dhejiyo server VPN oo aan lahayn meel xaalad waarta lagu hayo. Tiriyuhu waxa uu ka tirsan yahay fadhi; xaddiga waxa uu ka tirsan yahay qof ama qandaraas qalab. Dhammaan adkaanta sifadan waxa ay ka timaaddaa iswaafaqla'aantaas, sidaas darteed hubinta hoose waxa ay ku saabsan tahay halka xaaladdu deggan tahay iyo lakabka loo ogol yahay inuu go'aan qaato.
Ku xidh xaddiga akoon, ma aha tunnel
Ku bilow magacaabista mawduuca xaddiga. Qof keliya waxa uu hayn karaa saddex shahaado qalab, oo midkoodna ma qaadan karo miisaaniyad bille ah oo madaxbannaan kaliya sababtoo ah waxa ay si gooni ah u xaqiijiyaan. Aqoonsiga akoonka ee deggan ee ka badbaada isku xirka dib, cinwaannada tunnel cusub iyo u guuritaanka gateway labaad waa isha kaliya ee xaddigu isticmaali karo. Magaca guud ee shahaadadu waxa uu u shaqeeyaa sidii fure taas kaliya marka siyaasaddaada soo saaristu ay dammaanad qaaddo hal akoon magac kasta.
Cinwaanka tunnel ee la qoondeeyay waligiis ma aha jawaabta. Cinwaannada waa dib loo isticmaalaa, barkadaha waa la wadaagaa, oo isla akoonkaas waxa uu ku soo bixi karaa laba jeer laba gateway isla daqiiqad. Haddii buuggu ku saleysan yahay cinwaan, ka go'idda iyo dib u xiridda ayaa ku filan in haanta dib loo buuxiyo.
Hal fadhi kasta u qor wax ku filan si xisaabtu u noqoto mid la hubin karo: akoonka, muddada biilasha, nuqulka gateway, aqoonsiga fadhiga, tiriyayaasha ugu dambeeyay ee la arkay iyo wadarta la ansixiyay. Ku dar jiilka bilowga daemon aqoonsiga fadhiga, sababtoo ah server dib loo bilaabay waxa uu dib u isticmaalaa aqoonsiga macmiilka oo iswaafajin fudud waxa uu dhaxli lahaa khadka saldhigga hore.
Go'aami cutubka, jihada iyo xadka dib u dhigista
Afar qeexitaan waa in si qoraal ah loo go'aamiyo ka hor inta aan la bilaabin wax ururin ah. Xaddigu ma tiriyaa byte-yada macmiilku soo diro, kuwa uu helo, mise wadarta labadaba? Gigabyte ma yahay 10^9 byte mise 2^30? Saacaddee maxalli ah iyo aaggee waqti ah ayay muddadu rogmataa? Oo muxuu tiriyuhu si sax ah u cabbiraa, iyadoo kharashka dheeriga ah ee tunnel-ka iyo dib u gudbinta lagu daray laakiin cabbirka faylka abka iyo qaansheegta bixiyaha aan lagu darin?
Mid ka mid ah doorashooyinkan ma aha khalad, laakiin hirgelinta iyo tirada macmiilku arko waa inay is waafaqaan. Laba qaybood oo isla nidaam ah oo aan ku heshiin GiB ama rogman dhaca saqda dhexe UTC halkii waqti maxalli ah waxay soo saaraan isla nooca tikitka ee wiiqaya kalsoonida xaddiga oo dhan.
U beddel wadarta byte-yada hal farqiin la xisaabiyay
Interface-ka maamulka waxa uu soo sheegaa sadarrada BYTECOUNT_CLI ee xilliyeedka ah ee qaada aqoonsiga macmiilka iyo wadarta byte-yada urursan jihada kasta, amarna bytecount waxa uu go'aamiyaa inta jeer ee ay yimaadaan. Marka la eego server-ka, tirada la helay waxa ay tirisaa byte-yada macmiilku soo diray iyo tirada la diray waxa ay tirisaa byte-yada isaga loo gaarsiiyay. U dhig muddada wax ay buuggu nuugi karo; muddo aad u gaaban waxa ay iibsataa saxnaan aadan dhab ahaan helin.
Hal xaddidid ayaa qaabaysa naqshadda oo dhan: socket-ka maamulku waxa uu aqbalaa hal xidhiidh kontorool. Soo-saaraha la socodka, GUI iyo kontoroolahaagu mid kastaa ma furan karo midkiisa. Go'aami process-ka leh kanaalka oo u oggolow kuwa kale inay xaaladda ka akhriyaan, sababtoo ah interface-kani waxa uu bixiyaa falal maamuleed oo si kasta waa in aan laga muujin bannaanka martigeliyaha.
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
Ansixi khadadka saldhigga cusub iyo kororka isticmaalka si wadajir ah, si dib u ciyaarista muunad aysan waxba u xisaabin halkii laba jeer loo xisaabin lahaa. Tiriyaha gadaal u socda waa calaamad, ma aha deyn: waxa ay ka dhigan tahay in fadhiga la beddelay ama daemon-ka dib loo bilaabay, jawaabta saxda ahna waa in la waafajiyo aqoonsiga fadhiga halkii la dhigi lahaa lacag taban.
Jidka ka go'idda waxa uu u baahan yahay dadaal la mid ah. Haddii dhacdo ugu dambeysa ay qaaddo wadarta dhammaadka fadhiga, xisaabi oo kaliya farqiga muunaddii ugu dambeysay ee la ansixiyay. Ku darista wadarta buuxda ka dib markii muunad qaadashada xilliyeedka horey loo xisaabiyay waa laba-laabka ugu caansan ee nidaamyada xaddiga guriga lagu sameeyay. Fadhiyada ka gudba xadka muddada waxa ay sidoo kale u baahan yihiin sharci, maadaama hal wadar dhammaad aysan qaadin macluumaad ku saabsan goorta byte-yadu ka gudbeen saqda dhexe.
Dhammaadku waa in uu diido gelitaanka, ee ma aha oo kaliya in uu dila tunnel-ka
Marka akoonku gaaro xadkiisa, laba shay waa in ay dhacaan: fadhiyada jira way dhammaadaan oo kuwa cusub waa la diidayaa. Borotokoolka maamulku waxa uu bixiyaa client-kill aqoonsiga macmiilka, taas oo xallisa qaybta koowaad haddii aad tiriso fadhi kasta oo nool ee akoonka halkii aad dili lahayd cinwaanka kaliya ee aad si kadis ah u aragtay.
Qaybta labaad waa halka naqshadaha xaddigu ku guuldareystaan. Dilid kaliya waa tartan ka dhan ah wareegga dib u xirka macmiilka, kaas oo si farxad leh u soo noqon doona dhowr ilbiriqsi ka dib. Gelitaanku waa in uu la tashado buugga la wadaago, iyo baahinta gateway badan hubintaas ma noqon karto fayl mashiin kasta. Nuqul kasta oo aqbali kara gelitaan waa in uu arko isla xaaladda dhammaatay.
Dib u xirka ku saleysan token-ka waxa uu mudan yahay imtixaan u gaar ah. OpenVPN 2.6 waxa uu gudaha ku xaqiijin karaa token-ka fadhiga auth-gen-token, isaga oo dhaafi kara wicitaanka xaqiijinta dibadda ee kontoroolahaagu u isticmaalay in uu dhaqan geliyo xadka. Sidaas darteed token weli ansax ah waxa uu caddeeyaa aqoonsiga, ma aha xaddiga haray, oo nuqul kasta oo macmiil cusub waa in uu wali la tashado buugga. Haddii aad beddelkeeda shidto management-client-auth, kontorooluhu waxa uu noqdaa xaqiijiyaha oo waxa uu dhaxlaa waajibka ah in uu isagu falanqeeyo xaaladda fadhiga oo uu diido token-yada dhacay ama aan ansax ahayn.
Aqbal dhaafista ay muunad qaadashadu abuurto
U fiirsashada xilliyeedka iyo ka go'idda waxa ay ku siinayaan xaddi muunad leh oo leh dulqaad la yaqaan. Macmiilku waxa uu dhaafi karaa qiyaastii hal muddo warbixin iyo waqtiga uu kontorooluhu u baahan yahay in uu wax qabto, fadhiyada isku mar ah ee hal akoonna waxa ay labanlaabaan daaqaddaas. Ka dheh interface-ka halkii aad ku dhawaaqi lahayd goyn sax ah byte-ka ugu dambeeya oo aadan bixin karin.
Saqafka adag ee dhabta ah waa dhibaato injineernimo oo kale: dhaqan gelin gudaha jidka gudbinta, oo ku xidhan isla akoonka fadhiyada oo dhan. Akhrinta tiriyayaasha si ka dhaqso badan isku mid ma aha, oo ma u adkaysan karto macmiil si fudud u furaya tunnels badan.
Ka hor baahinta, socodsii kiisaska aqbalaadda ee jebiya hirgelinta fudud: isku xir dib oo soo noqnoqda, laba qalab isku mar, dib u bilowga kontoroolaha iyo gateway, dhacdo ka go'id ah oo lumay, rogman badhtamaha fadhiga, iyo isku day dib u xir token isla markiiba dhammaadka ka dib. Kadib go'aami qaabka guuldarada ee hakadaha xisaabaadka. Buug waara waxa uu ilaaliyaa isticmaalka aad diiwaangelisay; ma soo nooleyn karo indho-indhayn aan waligood iman, oo macmiilku waxa uu mudan yahay in uu ogaado labadaas xaaladood midkee uu ku jiro.