Laba daemon oo OpenVPN ah ayaa labaduba soo sheegi karaan tunnel guul leh iyadoo gateway-ga u dirayo macmiil kasta isla midkaas. Waxba gudaha is-gaadhista ma go’aamiyaan tunnelka macmiilku isticmaalo; kernelka ayaa go’aamiya, packet packet, isagoo maraya xeerarka siyaasadda kadibna shaxda uu xeer kastaa magacaabo. Markaad sidaas u eegto, habayntu ma noqoto mid ku saabsan xulashooyinka OpenVPN oo waxay noqotaa matrix habaysan oo leh laba milkiile.

Kernelka ayaa go’aamiya, ma aha daemonka

Packet la gudbiyay wuxuu yimaadaa interface-ka LAN oo koodka habaynta wuxuu qiimeeyaa liiska xeerarka sida mudnaanta. Xeerkii ugu horreeya ee xulashadiisu u dhiganto ayaa magacaaba shax, oo waddooyinka shaxdaas ayaa doorta qalabka soo-saarka. Haddii shaxdu aanay lahayn waddo u dhiganta, raadinta waxay u gudubtaa xeerka xiga, oo faahfaahintan ayaa ka dhigtaa habayn nus-dhammaad ah inay si aamusan u guuldareysato halkii ay cod dheer ku guuldareysan lahayd.

Habka tunnelku waxbo kama qabo socodkaas. Wuxuu abuuraa interface oo wuxuu rakidi karaa waddooyin, laakiin haddii packetka macmiil gaar ah uu galo interface-kaas waxay si buuxda ugu xiran tahay shaxda loo diray. Sidaas darteed laba tunnel oo leh waddooyin la soo dejiyay isku mid ah ayaa tartama, oo kan ugu dambeeya qoraa ayaa u guuleysta qof kasta. Taas ayaa sababta habaynku uga muuqan karo mid isku dheeli tiran faylasha habaynta haddana macmiil kasta u mariyo hal daemon.

Sii nuqul kasta kooxdiisa kheyraad gaar ah

Ku bilow magacyada, sababtoo ah magacyo dib loo isticmaalay ayaa ah dariiqa labada nuqul si shil ah u bilaabaan inay xaalad wadaagaan. U qoondee qalab tunnel oo gaar ah, faylal habayn oo gaar ah, aqoonsiyo gaar ah iyo cutubyo adeeg oo gaar ah. Diiwaangeli barta dhammaadka dibadda iyo cinwaanka tunnelka nuqul kasta isla shaxda matrix-ka siyaasadda, si isbeddel dambe uu hal meel u yeesho inuu eego.

dev tun-office
route-nopull
pull-filter ignore "redirect-gateway"

dev tun-lab
route-nopull

route-nopull wuxuu ka ilaaliyaa waddooyinka uu serverku riixo shaxda gudaha, waana taas aad rabto marka shaxaha siyaasadda ay tahay inay cad yihiin. Haddii server gaar ah uu sidoo kale riixo xulashada redirect-gateway, iyo haddii nuqulka macmiilkaagu taageero qaabka shaandhaynta, waa mudan in lagu hubiyo buug-gacmeedka halkii la qiyaasi lahaa.

Qor matrix-ka: isha, shaxda, qalabka

Koox kasta oo macmiil, ku dar xeer doorta shax iyada oo la eegayo cinwaanka isha, kadib geli waddada loogu talagalay shaxdaas:

ip rule add from 10.8.1.0/24 lookup 100 priority 1000
ip rule add from 10.9.1.0/24 lookup 200 priority 1000
ip route add default dev tun-office table 100
ip route add default dev tun-lab table 200

Shaxdu waxay u baahan tahay waddooyinka meesha loo socdo ee kooxdu yeelan lahayd, iyo sidoo kale wax kasta oo ka reeban gudaha ama maamul oo gateway-ga u ilaaliya mid la isticmaali karo. Shaxda leh oo kaliya waddo caadi ah waa siyaasad tunnel buuxa kooxdaas, taas oo laga yaabo inay sax tahay, laakiin waa inay noqotaa go’aan oo aan ahayn wax laga booday.

Gaadiidka tunnelka laftiisu kuma jiro koox macmiil

Packet-yada sir ah ee daemon kastaa waxay ka soo baxaan gateway-ga laftiisa, oo waxaa loo tilmaamay saaxiibka dibadda. Xeerkii kaliya u dhiganta prefix isha macmiilka ayaa packet-yadaas uga tagaa, taas ayaa sababta xeerarka isha ku xaddidan ay ka badbaado badan yihiin xeerarka wax walba u dhiganta. Xeer aan xulasho lahayn wuxuu qabsan karaa gaadiidka tunnelka laftiisa oo uu dib ugu celiyo tunnel, markaas isku xirka ayaa u guuldareysta si u eg dhibaato bixiye.

Kulanka maamulka gudaha iyo waddada lakabka hoose si cad uga ilaali shaxaha siyaasadda. Ku qor waxyaabahaas ka reeban matrix-ka agtiisa; waa qayb ka mid ah naqshadda, ma aha xal ku meel gaar ah oo dib loo ogaanayo inta lagu jiro dhacdo.

Doorka waddo ma fasaxayso

Fasaxa gudbinta waa go’aan labaad oo la qaato goor dambe waddada. Xeerka derbiga dabka ee aqbala packet-yada ka baxa tunnelka labaad ma ka dhigayo koodka habaynta inuu doorto, oo shax sax ah ma bixiso fasax gudbin. Labaduba waa inay jiraan, oo imtixaan kaliya mid caddeeya ayaa kaa marin habaabin doona kan kale. Marka koox shaqeyso oo tan kale aanay shaqeyn, hubi labadaas tallaabo si gooni ah halkii aad dib u qori lahayd shaxaha.

Turjumaadda isha waa go’aan saddexaad, oo waa in lagu xaddido kooxda isha iyo qalabka tunnelka ee runtii qaada. Ku dar silsilad gaar ah labada nuqul halkii aad nadiifin lahayd silsiladda postrouting, sababtoo ah adeegyo aan xiriir lahayn ayaa laga yaabaa inay halkaas gelitaan yeeshaan oo nadiifintu si aamusan uga saarto.

Waxa dhaca marka hal tunnel dhaco

Go’aanso habdhaqanka guuldarada ka hor. Marka shaxda tunnelku lumiso waddadeeda, raadintu waxay ku dhacdaa xeerka xiga, oo taraafikada kooxdu waxay sii socotaa tunnelka kale ama isku xirka sare ee caadiga ah iyada oo aan khalad lahayn. Haddii taas aan la aqbali karin, ku dar xeer dhammaad leh lambar mudnaan hooseeya oo ishaas u soo celiya natiijo aan la gaari karin, si luminta u muuqato halkii la nuugo.

Ka dir codsi cusub koox kasta oo isha ah oo qor afar xaqiiqo: shaxda la doortay, qalabka soo-saarka, isha la turjumay, iyo haddii jawaabtu ku soo noqotay isla waddadaas. Kadib hoos u dhig hal tunnel oo ku celi. Laba qalab TUN oo ku jira liiska interface-yada ayaa caddeeya in labada daemonba bilaabmeen; waxna kama sheegaan midka macmiil gaar ah isticmaalay. Socodka labaad, oo hal tunnel maqan yahay, ayaa ah kan muujinaya haddii xeerkaaga beddelka ahi sameeyo wixii aad damacsanayd.

Maqaallo la xiriira