Hagidda siyaasadda iyo SOCKS: layerkee ayaa dhab ahaan u proxy-gareeya taraafikada
Waddo loo maro dekedda SOCKS ma aha fadhi SOCKS. Isbarbardhig dejinta proxy heer app, adapter IP-ilaa-proxy iyo irrid la maray oo lagu salaystay layerka beddela.
Waxaad ku dartay waddo siyaasadeed oo u dirta taraafikada macmiilka VPN martigeliyaha socodsiiya dhegeysanaha SOCKS dekedda 1080. Xirmooyinka way yimaadaan, dhegeysanuhu wax ma diiwaangaliyo, xiriirkuna wuu laalaadaa. Waddada wax qaldan ma jirto: boodhka xiga wuxuu doortaa halka xirmadu aaddo, SOCKS-na waa wada-hadal ay tahay in macmiilku bilaabo. Isbarbardhig saddexda dhismeed ee dadku caadi ahaan ula jeedaan marka ay taraafikada maraan proxy, waxaana caddaan doonta qaybta ka maqan dejintaada.
Hagidda, DNAT iyo SOCKS waxay beddelaan waxyaabo kala duwan
Waddo siyaasadeed waxay dib u qortaa go'aan layer 3. Laba sadar ayaa ku filan in taraafikada hal macmiil loo diro boodhka xiga ee la doortay:
ip route add default via 10.50.0.2 table 101
ip rule add from 10.77.0.2 lookup 101Taas ka dib kernelku wuxuu xirmada u gudbiyaa 10.50.0.2, halka goobta asalka ah ay weli ku jirto madaxa IP. Haddii 10.50.0.2 uu yahay rauutar, wuu gudbiyaa xirmada. Haddii uu yahay martigeliyaha leh daemon SOCKS 1080, xirmada lama cinwaan gelin wax ay aqbali karto, DNAT-ka dekedda 1080-na ma caawiyo, sababtoo ah xirmada la turjumay waxay weli qaadaysaa culayska asalka ah ee app-ka halkii ay ka ahaan lahayd salaanta SOCKS.
SOCKS5 wuxuu ku bilaabmaa byte nooca, liis habab, is-dhaafsiga xaqiijinta iyo codsi magaca goobta. Taasi waa xogta app-ka. Ma jiro galitaan hagid ama bartilmaameed netfilter oo soo saara, taasina waa isbarbardhigga hal sadar: hagiddu waxay doorataa waddo, SOCKS waxay ka codsataa server inuu sameeyo xiriir labaad.
Kiiska koowaad: app-ku isagu wuu hadli karaa SOCKS
Marka barnaamijku leeyahay dejin proxy, kani waa waddada ugu gaaban oo uma baahna beddel kernel. U jihee dhegeysanaha, bixi aqoonsiga haddii serverku codsado, oo go'aanso in magacyada gudaha lagu xalliyo ama proxy-ga loo gudbiyo. curl-ka kuwani waa calamo kala duwan, farqiguna waa muhiim marka goobta laga xalliyo dhinaca proxy-ga oo keliya:
curl --socks5 10.50.0.2:1080 https://docs.example.com
curl --socks5-hostname 10.50.0.2:1080 https://internal.example.comBarnaamijyada iska indhatira doorsoomayaasha deegaanka proxy, ama furaha socket-ka ceyriin, sidan lama caawin karo. Browser-yada iyo inta badan qalabka HTTP way fiican yihiin; macmiilka ciyaarta, daemonka boostada ama faylka binary-ga ganacsadaha ee aan loo baahnayn caadi ahaan maaha. Xadku waa app kasta iyo borotokool kasta, sidaas darteed ikhtiyaarkani waa mid heer sare ah tijaabada oo daciif ah jawaabta VPN-ka oo dhan.
Kiiska labaad: adapter u beddela qulqulka IP fadhiyo proxy
Barnaamijyada aan hadli karin SOCKS, beddelku waa inuu ku dhaco wax joojiya taraafikada IP oo u fura fadhiyo proxy magacooda. Qaybtaas waxay leedahay interface tunnel, waxay aqbashaa qulqulka uu doortay hagidda siyaasadda, waxay u sameysaa SOCKS gacan-qabsiga mid kasta oo iyaga ka mid ah, waxayna dib u dhisaa jawaabaha. Waddadu waxay taraafikada u jiheysaa xaggeeda; adapterkaa ayaa abuura fadhiga.
Akhri dukumeentigeeda ka hor inta aadan u aammin subnetwork dhan. Adapter badan ayaa si fiican u qaada TCP oo waxay UDP ku maareeyaan kaliya isku-xirka UDP ee SOCKS5, midkoodna ICMP uma beddelo taraafikada proxy, sidaas darteed ping guuleystay wax kama sheegayo waddada proxy. DNS waa dabin kale: haddii adapterku magacyada gudaha ku xalliyo, diiwaannada gudaha oo keliya waxay ku xalliyaan jawaab khaldan, ama waxba.
Ka-hortagga wareegyada waa faahfaahinta hawlgalka ee qaniinta. Xiriirada adapterka ee serverka SOCKS waa in aan dib loogu celin adapterka, sidaas darteed taraafikiisu wuxuu u baahan yahay ka-reexan xeerka ama cinwaan isha gaar ah. Haddii aad tan qaldanto, fadhiga proxy wuxuu isku dayi doonaa inuu isagu is-proxy-gareeyo.
Kiiska saddexaad: martigeliyuhu dhab ahaan waa irrid la maray
Mararka qaarkood dejinta shaqeysa wax SOCKS ah ma leh. Martigeliyaha fog wuxuu gudbiyaa xirmooyinka ama wuu NAT-gareeyaa, xeerka isha ku salaysan ayaa si fudud u dooranaya bixitaan ahaan. Nashqadaasi waa sharci, waxayna sharraxaysaa sababta dejinta la koobiyeeyay ay uga shaqeyso shabakad oo uga guuldareysato mid kale: xeerku waa isku mid, qaybta maqan waa adeegga gudbinta dhinaca kale.
Saddexda kiis ayaa si dhakhso ah u kala baxa. Hubi waxa dhab ahaan dhegeysanaya, ka dib eeg bytes-ka ugu horreeya ee gaara martigeliyaha:
ss -ltnp 'sport = :1080'
tcpdump -ni eth0 -X 'tcp port 1080'Byte-ka ugu horreeya ee culayska macmiilka SOCKS dhabta ah waa 0x05, nooca ku jira salaanta. Haddii qabashadu ay muujiso xogta asalka ah ee app-ka, daemon SOCKS ah ma jawaabi doono, sababtoo ah wada-hadalku waligiis ma bilaaban. Haddii wax aan dhegeysanayn 1080, martigeliyuhu waa irrid, su'aashuna waxay noqoneysaa inuu gudbiyo iyo inuu jiro waddo dib u noqosho.
Dooro layerka afar su'aalood
Barnaamijku ma leeyahay dejin proxy? Isticmaal oo halkaas joog. Taraafikadu ma ka kooban yahay UDP ama ICMP ay tahay inay noolaadaan? Kaliya irrid la maray ama NAT ayaa qaada ICMP, UDP-na wuxuu u baahan yahay isku-xir SOCKS5 oo labada dhinac ay taageeraan. Ma tahay in qayb kasta oo mishiinka ah, oo ay ku jiraan kuwa aadan dejin karin, la daboolo? Markaas waxaad u baahan tahay adapter leh interface-ka oo joojiya qulqulka. Ma qaadi kartaa hagiddiisa, DNS-kiisa iyo ka-reexannada ka-hortagga wareegyada? Haddii kale, irridda caadiga ah way ka jaban doontaa maamulka.
Hal farqiin ayaa mudan in si toos ah loo hayo. Ikhtiyaarka socks-proxy ee macmiilka VPN wuxuu sharraxaa sida xiriirka tunnelka dibadda uu u gaaro serverkiisa, waxna kama sheegayo beddelka qulqulka gudaha ee macmiilka. Labada ayaa si joogto ah loogu khaldaa tikidhka isku mid ah. Go'aanso xiriirka aad u baahan tahay ka hor inta aadan taaban waddo.