Saddex cinwaan macmiil ayaa ka muuqda habaynta NGINX iyo OpenVPN oo isku martigeliye ah, mid kasta oo wadada codsigu qaadan karo ah. Browserka gaara cinwaanka tunnel-ka, browserka gaara cinwaanka dadweynaha iyo barnaamij ka soo baxa marinka internetka ee albaabka dhammaantood si kala duwan ayay uga muuqdaan socket-ka dhegeysanaya. Go'aanso wadada aad eegayso ka hor inta aadan fasirin xariiqda diiwaanka. Go'aanku wuxuu ku xiran yahay halka uu macmiilku u jeestay, ka reebnaanta uu u hayo dhammaadka VPN-ka dibadda, iyo haddii wax waliba fasiraan baakadda jidka.

Ku go'aanso halka loo jeestay, ma aha qofka isticmaalaha

Ka bilow cinwaanka codsiga loo diray, maxaa yeelay cinwaankaas ayaa doorta wadada. Codsiga loo dirayo cinwaanka tunnel-ka martigeliyaha wuxuu ku yimaadaa interface tunnel-ka isagoo cinwaanka gudaha ee macmiilku asal u yahay. Codsiga loo dirayo cinwaanka dadweynaha ee martigeliyaha badanaa wuxuu ku yimaadaa interface-ka internetka u jeeda isagoo wata cinwaanka dadweynaha ee macmiilka, xitaa marka isla laptop-ka uu tunnel dhisan yahay wakhtigaas. Sidaas darteed xubinimada kooxda VPN waa sifo wadada baakadda, ma aha sifo isticmaalaha daba socota.

Path the request tookSource the site normally records
Client reaches the site at its tunnel address, 10.24.0.1Client inner address, 10.24.0.20
Client reaches another internet site through the gatewayGateway public egress address, 192.0.2.44
Client reaches the gateway's public address through the endpoint exceptionClient's own public access address

Xariiqdan saddexaad ayaa mudan in la hubiyo marka ugu horreysa marka isticmaale VPN uu ka soo muuqdo diiwaanka isagoo wata cinwaan aan wax xiriir ah la lahayn tunnel-ka. Waxay kaloo sharraxaysaa sababta laba isticmaale oo isku profile ah ay u soo saari karaan qoraallo kala duwan: shabakadooda gelitaanka ayaa kala duwan, waxna tunnel-ka dhexdiisa kuma qoro taas.

Sababta dhammaadka dibadda u abuuro wado labaad oo dadweyne

Macmiilku waa inuu gaaraa cinwaanka dadweynaha ee albaabka si uu u dhigo tunnel-ka, sidaas darteed wado loo maro cinwaankaas waa inay ka baxsan tahay tunnel-ka. Marka macmiilku u weeciyo dhammaan socodka gudaha, hirgelin caqli leh waxay haysataa wado martigeliye cad oo loo maro cinwaanka dadweynaha ee server-ka si looga fogaado tunnel ku tiirsan naftiisa. Ka reebnaantaas kuma kala soocdo adeegyada, sidaas darteed codsi kasta oo loo diro isla cinwaankaas dadweynaha wuu raacaa, oo ay ku jirto codsi browser oo loo diro goob lagu martigeliyay albaabka.

Kani waa habka ka dambeeya inta badan warbixinnada jahawareerka leh ee goobtan, wuxuuna ku xiran yahay hirgelinta macmiilka halkii uu ku xirnaan lahaa server-ka. Laba macmiil oo isku profile ah sidaas darteed si kala duwan ayay u dhaqmi karaan. Ka saarista ka reebnaanta si diiwaanka »loo hagaajiyo« waxay la soo dhaadhacdaa tunnel-ka, sidaas darteed hayso oo ka naqshadee agteeda.

Akhri socket-ka, shaxda iyo qaabka diiwaanka wada

Saddex indho-indheyn ayaa go'aaminaya wadada aad eegayso: halka socket-ku dhegeysto, interface kee uu ka jawaabo halka la jeestay, iyo waxa qaabka diiwaanku dhab ahaan qoro. Haddii dhegeyste-ku ku xiran yahay oo kaliya cinwaanka tunnel-ka, codsi dadweyne ma gaari karo isaga gabi ahaanba, taas oo isla markiiba meesha ka saarta laba xariiq. Haddii raadinta macmiilku soo celiso qalabka tunnel-ka, codsigu wuxuu yimid isagoo wata asal gudaha ah oo diiwaanku waa inuu taas muujiyaa.

ss -lntp 'sport = :443'
ip route get 10.24.0.20
ip route get 192.0.2.44

Kadib akhri qaabka halkii aad akhrin lahayd xariiqda. Goob lagu quudiyay madaxa la gudbiyay waxay diiwaangelisaa sheegasho, ma aha facoodh socket, sheegashaduna waxay muhiim tahay oo kaliya marka facoodhka dhaw uu yahay wakiil la aamini karo. Qorista labada qiime diiwaanka waxay xallinaysaa doodaha dambe, maxaa yeelay facoodhka dhaw iyo cinwaanka la beddelay waa xaqiiqooyin kala duwan oo midkood oo kaliya ayaa ka yimid shabakadda.

log_format tunneled '$remote_addr $realip_remote_addr $request $status';
grep -n 'log_format' /etc/nginx/nginx.conf

Dooro barta gelitaanka aad rabto oo DNS-ka ka dhig mid ogolaada

Haddii goobta loogu talagalay oo kaliya tunnel-ka, sii magac ugu xallinaya cinwaanka tunnel-ka macmiillada VPN oo ku dhaqan geli siyaasadda socket-ka dhegeysanaya. Jawaabka DNS qaybsan oo soo celiya 10.24.0.1 magaca gudaha waa go'aan marrin ah oo ku labisan faahfaahin xallinta magacyada. Haddii goobtu sidoo kale tahay inay dadweyne noqoto, hayso laba magac ama laba deked oo u ogolow diiwaanku inuu kuu sheego kee ayaa u adeegay codsiga.

Xeerarka fasaxa waxay raacaan isla caqligaas. Fasaxa kooxda tunnel-ka ma ogola codsi dadweyne, mana buuxin doono cinwaan gudaha xiriirka ka yimid internetka. Isku darka labada barta gelitaanka hal magac hoostiis waxay ka dhigtaa asalka la diiwaangeliyay natiijo dhinac ah oo ka timaadda marinka macmiilka halkii ay ka ahaan lahayd doorasho naqshadeed.

Hubi wadada, kadib siyaasadda

Ku xaqiiji wadada iyadoo la qabanayo albaabka iyo codsi aad maamusho. Qabashada qalabka tunnel-ka iyo mid interface-ka dadweynaha waxay muujinayaan kee qaaday bytes-ka, kuna tartiibka baakadaha ayaa kuu sheegaya haddii fasiraad dhacay inta u dhaxaysa.

tcpdump -ni tun0 port 443 -c 5
tcpdump -ni eth0 port 443 -c 5

Kadib hubi gelitaanka labada jiho: barta gelitaanka magaca leh ee loogu talagalay waxay u shaqaysaa macmiilka loogu talagalay, wadada dadweynaha ee aan la ansixin waxaa la diidayaa halkii ay uun gaabis ahaan lahayd. Goob IP-echo caadi ah waxay caddaynaysaa wax ku saabsan bixitaanka internetka ee albaabka iyo waxba kuma saabsana goobtan isla martigeliyaha. Marka bog iyo WebSocket ay isku raacsanayn, isbarbar dhig URL-yadooda, qoysaska cinwaannada iyo jawaabaha DNS ka hor inta aadan taaban habaynta server-ka.

Maqaallo la xiriira