Xitaa laptop ka dambeeya NAT-ka bixiyehu wuxuu u adeegi karaa asxaab, haddii serverka VPN uu yahay goobta kulanka. Laba hab ayaa halkaas tagta: macmiilku dibadda ayuu wacaa oo wuxuu serverka ka codsadaa inuu hayo deked dhageysi, ama serverku wuxuu daabacaa deked oo ku tarjuntaa tunnelka. Labaduba waxay xalliyaan isla dhibaatada gaaritaanka waxayna si kala duwan u dhaqmaan marka ay jiraan cilad, kormeer iyo diiwaangelin. Saddex shuruud ayaa go'aamiya midka ku habboon habayntaada.

Laba qaab, hal goob oo kulanka

Qaabka koowaad macmiilku wuxuu dibadda u furaa fadhi SSH oo wuxuu serverka ka codsadaa inuu dhageysto deked la doortay, isagoo xiriir kasta dib ugu soo celinaya fadhigaas. Serverka waxba lama gudbiyo oo tarjumaad baakad ma dhacdo, sidaas darteed shuruudaha kaliya waa akoon SSH, gudbin la ogolaaday iyo qaanuun dab-damis oo dekedda ah. Adeeggu wuxuu ku xiran yahay loopback-ka macmiilka, taas oo badanaa tahay waxa aad rabto.

ssh -N -R 8081:127.0.0.1:8080 -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 [email protected]

Qaabka labaad serverka ayaa leh dekedda guud oo wuxuu dib u qoraa xiriir kasta dhanka cinwaanka tunnelka macmiilka. Taasi waxay u baahan tahay gudbinta IP oo shidan, tarjumaad goobta marka la soo galo iyo tarjumaad isha marka la baxo, oo waxay sii shaqeysaa marka aanu jirin fadhi SSH. Dekeddu waxay leedahay serverka ee ma aha fadhi, oo sifadaas ayaa go'aamisa inta badan kiisaska dhabta ah.

Midna qaabka labada mid ma aha mid ka nabadgelyo badan si dabiici ah. Labaduba waxay soo bandhigaan hal deked adeeg qof kasta oo gaari kara cinwaanka guud ee serverka, labaduna weli waxay ku tiirsan yihiin xaqiijinta adeegga laftiisa.

Shuruudda koowaad: dekeddu ma tahay inay ka cimri dheeraato fadhiga

Gudbin rogan waxay noolaataa sida uun inta ay noolaato fadhiga SSH ee abuuray. Marka xiriirku dhaco dhageyste ayaa lumma oo asxaabtu waxay arkaa xiriir la diiday halkii dariiqa gaabis. Kormeerka amarka iyada oo la isticmaalayo unug systemd iyo siyaasad dib u bilaabis ayaa taas xallisa, ExitOnForwardFailure=yes wuxuu isla markiiba muuqdaa xirnaansho guuldareysatay halkii laga tegi lahaa fadhi shaqeynaya oo aan gudbin lahayn.

Dekedda la tarjumay waxay ka badbaaddaa dib u bilaabista haddii qaanuunnada la kaydiyo, laakiin waxay ku tiirsan tahay in macmiilku hayo isla cinwaanka tunnelka. Barkadda firfircoon ee laptop-ka siisa cinwaan kale kadib dib u xiriir ayaa qaanuunka si aamusnaan ah ugu jeedisa meel aan waxba jirin. Marka hore kaydi cinwaanka tunnelka, kadib qor qaanuunka, oo u qaado labadaba hal isbeddel.

Haddii adeeggu ay tahay inuu ka jawaabo saddexda habeenimo iyada oo aan qofna fiirinaynin, qaabka dekedda serverku daabacay ayaa leh qaybo dhaqaaqa oo yar, sababtoo ah hawsha kaliya ee waa inay sii shaqeyso waa tunnelka laftiisa.

Shuruudda labaad: yaa leh dab-damiska iyo diiwaannada

Qaabka rogan wuxuu siyaasadda oo dhan ku hayaa laba meelood. sshd wuxuu AllowTcpForwarding ku go'aamiyaa haddii gudbinta fog la ogolyahay gabi ahaanba, GatewayPorts wuxuu go'aamiyaa haddii dhageystuhu ku xirmo loopback ama cinwaan kasta. Iyada oo la isticmaalayo qiimaha caadiga ah no asxaabta serverka dibadiisa ma gaari karaan dekedda in kasta oo gudbintu guuleysatay, taasina waxay u egtahay tunnel jaban marka dhab ahaan ay tahay cinwaan xirnaansho.

sudo ss -ltn '( sport = :8081 )'
sudo grep -E '^(GatewayPorts|AllowTcpForwarding)' /etc/ssh/sshd_config

Qaabka la tarjumay wuxuu u baahan yahay gudbin shidan iyo laba qaanuun, qaanuunka labaadna waa meesha inta badan hababka khaldamaan. Ku xaddididda tarjumaadda isha xaaladda conntrack DNAT waxay la macno tahay in kaliya xiriirada uu abuuray qaanuunka goobta dib loo qoro, ma aha baakad kasta oo serverku tunnelka u diro.

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8081 -j DNAT --to-destination 10.88.0.6:8080
sudo iptables -t nat -A POSTROUTING -o tun0 -m conntrack --ctstate DNAT -j SNAT --to-source 10.88.0.1

Dib u qoristaas waxay sidoo kale burburisaa nisbeynta. Kadib macmiilku wuxuu arkaa wicitaan kasta sida cinwaanka tunnelka serverka, taas oo xaddidaadda xawaaraha cinwaan kasta ku wada shubta hal baaldi oo qarinaysa yaa wax diray. Haddii nisbeyntu muhiim tahay, xiriirka ku dhammee serverka ama go'aanka fasaxa halkaas ku hay oo aqoonsiga ku gudbi cinwaan-madax ah oo adeeggu aaminsan yahay. Doorashada u dhaxaysa labadan sixid waxay ku tiirsan tahay haddii adeeggu akhriyo cinwaan-madaxa wakiilka.

Shuruudda saddexaad: hal deked ama badan, iyo yaa leh magaca

Hal adeeg oo hal deked ku yaal waa kiiska ay gudbinta rogan ku guuleysato dadaalka. Waxaad u baahan tahay hal amar, hal akoon iyo hal qaanuun dab-damis, nadiifintuna waa dilka fadhiga. Adeegyo badan oo isku cinwaan guud ah ayaa kuu riixaya qaabka serverku daabacay, sababtoo ah gudbin kasta oo rogan waxay u baahan tahay dekeddeeda server, ururkaana wuu koraa adeeg kasta.

Magacyadu waxay ka sii dhigaan mid adag. Gudbin rogan waxay ka dambeysaa wakiil TCP oo ku jiheeya SNI, halka dekedda la tarjumay badanaa tahay hal deked adeeg kasta. Haddii adeeggu isagu dhammeeyo TLS oo u baahan yahay magaca martigeliyaha asalka ah, habka wakiilku wuu ilaaliyaa, habka DNAT-na wuxuu ilaaliyaa oo kaliya haddii adeeggu aqbalo magacaas dekeddaas.

Qor saddexda shuruudood kee ayaa go'aamiyay qaabka. Haddii kale qofka xiga ee ku daraya adeeg labaad wuxuu dib u furayaa isla isbarbardhigga isagoo leh macne yar.

Go'aanso, kadib ka tijaabi dibadda

Ka tijaabi dariiqa shabakad aan lahayn waddo laptop-ka, oo fiiri tirooyinka serverka inta codsigu socdo. Ka tijaabinta serverka dhanka cinwaankiisa guud waxba kama caddeyso halkan, sababtoo ah baakadku gudaha ayuu ka abuurmaa oo waligiis ma gaaro qabatinka tarjumaadda soo-galka, sidaas darteed tijaabadu way gudbi kartaa iyada oo dariiqa dhabta ah uu jaban yahay.

sudo iptables -t nat -L PREROUTING -n -v
sudo tcpdump -ni any 'tcp port 8081' -c 20

Tirooyinka fadhiya waxay la macno tahay baakadku waligiis ma gaarin qaanuunka, taas oo tilmaamaysa bixiyaha ama dab-damiska martigeliyaha. Tirooyinka dhaqaaqa inta adeeggu diidayo waxay tilmaamayaan dab-damiska macmiilka laftiisa ama cinwaanka uu adeeggu dhageysto. Tunnel qaada baakadka laakiin waxba soo celin waxay tahay dhibaato dariiq ama dariiq rogan, oo midkoodna saddexdan natiijada laguma hagaajin karo isagoo tafatiranaya adapterka macmiilka. Qor tirooyinka kee dhaqaaqay ka hor inta aanad wax beddelin, sababtoo ah tijaabada xigta waxay u baahan tahay saldhiggaas.

Marka qaabku shaqeeyo, diiwaangeli dekedda, milkiilaha iyo habka kormeerka dhinaca habaynta tunnelka. Sixid gaaritaan oo kaliya ku jirta taariikhda shellka qof waa hal dib u bilaabis u jira dhacdo soo noqnoqota.

Maqaallo la xiriira