sshuttle iyo VPN buuxa: waxa habkeeda dhab ahaan daboolo
sshuttle waxay qaaddaa oo kaliya waxa habkeeda gudbintu taageerto: marka hore hubi daboolka TCP, DNS iyo UDP, awoodda maxalliga ah ee loo baahan yahay iyo kaaliyaha fog.
sshuttle waxaa loo doortaa sababtoo ah SSH horey ayuu u shaqeeyaa oo sirta aad bay u egtahay mid la yaqaan, oo sababtaas waxay dhaafsiisaa su'aasha kaliya ee go'aamisa inuu ku habboon yahay. Baakaddee ayaa mishiinka ka baxa, akoonkee ayaa dhinaca kale qaada, iyo inta awood maxalli ah oo qalabku dalbado. Saddexdan jawaabood way kala duwan yihiin iyadoo ku xiran habka gudbinta, sidaas darteed habayn u shaqaysa hal barnaamij ayaa si aamusnaan ah ugu guuldarrayn karta tan xigta. Faahfaahinta hoose waxay ka bilaabataa borotokoolka uu barnaamijku dhab ahaan u baahan yahay.
Ka bilow borotokoolka uu barnaamijku u baahan yahay
Taageerada borotokoolka ee sshuttle 2.0 waxay ku xiran tahay habka aad dooratay. Hababka NAT iyo nft ee Linux waxay maareeyaan TCP iyo DNS, TPROXY-na wuxuu ku daraa UDP guud. Nidaam kasta iyo hab kastaa waxay leeyihiin xadadkooda, macOS-na wuxuu ku dhexgalo hab kale gabi ahaanba. Kahor intaadan wax dooran, qor nooca la rakibay, habka la doortay iyo borotokoolka uu barnaamijku u baahan yahay.
Sidaas darteed codsi TCP shaqeeya wax yar ayuu caddeeyaa ku saabsan barnaamij UDP ama baaritaan kasta oo DNS ah. sshuttle sidoo kale wuxuu TCP u arkaa qulqulo halkii uu tunnel-gelin lahaa baakadaha IP oo dhan, sidaas darteed gabagabo ku saabsan xawaaraha laga soo qaatay VPN caadi ah halkan kuma shaqeyso. Isbarbardhig farsamada aad dhab ahaan socodsiiso iyo culayska aad dhab ahaan haysato.
| Approach | What it carries | What it needs locally |
|---|---|---|
| SSH local forward | One explicitly named TCP destination | Nothing beyond the SSH client |
| sshuttle, nft or nat method | TCP and DNS to the routed prefixes | Root or sudo for firewall rules |
| sshuttle, tproxy method | TCP, DNS and general UDP | Root or sudo, and kernel support |
| IP VPN | Routed IP traffic in a tunnel | A client with the required privileges |
Waxa macmiilku u baahan yahay gudaha
Habaynta macmiilka ee la diiwaangeliyay waxay u baahan tahay root ama sudo, sababtoo ah waxay rakibtaa xeerar dhexgal maxalli ah halkii ay abuuri lahayd interface tunnel. Xaqiiqdaas keliya waxay beddeshaa sheekada amniga: nidaam leh awooddaas wuxuu leexin karaa gaadiidka mishiinka oo dhan, ma aha oo kaliya hal barnaamij. Ula dhaqan awoodda sida qayb ka mid ah naqshadda ee ma aha faahfaahin rakibid.
Xaqiiji xeerarka uu qalabku rakibay iyo inay baaba'aan marka uu baxo. Kulan dumay oo ka taga xeerar dhexgal ayaa laga yaabaa inuu gaadiidka u diro god madow waqti dheer ka dib marka hawlwadeenku aaminsanaado in xiriirku tagay, calaamadduna waxay u egtahay cilad shabakadeed ee ma aha xeer hadhay.
sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route
Amarka ugu horreeya waa qaabka wicitaan caadi ah, oo leh horgalaha aad dhab ahaan u baahan tahay. Kan labaad wuxuu muujinayaa waxa qalabku rakibay, kan saddexaadna wuxuu xaqiijinayaa in aanay soo bixin interface tunnel, taas oo ah natiijada la filayay naqshaddan.
Waxa dhinaca fog socodsiiyo
Dhinaca fog waa akoon SSH la oggolaaday oo lagu daray deegaan kaaliye Python oo ku habboon. Gelitaan ku guulaysta qolof xaddidan gudahaheeda si otomaatig ah uma bixiso fasax lagu socodsiiyo kaaliyahaas, akoonka socodsiiya kaaliyahana si otomaatig ah uma gaaro adeeg kasta oo bartilmaameed ah. Labada xaqiiqo waxay ka tirsan yihiin codsiga gelitaanka ee ma aha qoraallada xallinta dhibaatooyinka.
Ilaali xaqiijinta aqoonsiga martigeliyaha iyo xaqiijinta akoonka. Aqbalaadda fure martigeliye oo aan la aqoon si xiriirka ugu horreeya u shaqeeyo waxay meesha ka saartaa hubinta in dhinaca fog yahay mishiinka aad ula jeeday, taasna halkan way ka muhiimsan tahay gudbin hal ujeeddo ah.
Ku xaddid akoonka fog adeegyada ay u baahan tahay socodka shaqada, oo kala hadal baaxaddaas kuwa maamula martigeliyaha. Iyagu waa qayb ka mid ah xiriirka kalsoonida, oo ma jiro dejinta dhinaca macmiilka ah oo beddela taas.
Xadka kalsoonidu xaggee yahay
Gudbinta xiriir API gaar ah iyada oo loo marayo SSH ma ogolaasho hawlgalkasta API. TLS-ka barnaamijka iyo gelitaanka barnaamijka wali way shaqeeyaan, qalabkuna ma samayn karo adeeg aan xaqiijin lahayn mid ammaan ah. Boodhka xiga ee ka imanaya martigeliyaha fog sidoo kale si otomaatig ah ma aha qaybta la ilaaliyay ee la mid ah kanaalka SSH, sababtoo ah xiriirkaas labaad wuxuu raacaa siyaasad kasta oo martigeliyaha fog leeyahay.
Qor xadka hal jumlad: gaadiidka horgalahaan wuxuu ka baxaa akoonkan martigeliyahaan. Haddii jumladu u baahan tahay cutub ka reebban, naqshaddu waxay samaysaa wax ka badan wixii ay sheegato dukumeentigeeda oo waxay mudan tahay eegid labaad kahor inta aanay gaarin wax soo saar.
Ku caddee borotokool kasta, ka dib dooro qalabka
Tijaabi borotokool kasta oo loo baahan yahay codsi aan waxyeello lahayn, oo ay ku jiraan dariiqa xalliyaha iyo qoysaska cinwaanka ee uu barnaamijku isticmaalo. Ku dar go'itaan tijaabada, si habdhaqanka guuldarrada ee la oggolaaday uu noqdo natiijo la yaqaan ee ma aha yaab inta lagu jiro dhacdo. Kulanka si sax ah u gudbiyay inta uu shaqeynayay waxba kama sheego waxa dhaca marka uu dhaco.
Dhowr adeeg oo si cad loo magacaabay, gudbin maxalli ah oo caadi ah ayaa sahlan in la maamulo oo sahlan in la baaro. Gaadiidka barnaamijka ee ku habboon habkiisa, sshuttle wuxuu bixiyaa dariiqa dhexe oo sharci ah. Marka shuruuddu tahay xiriir IP ballaaran, naqshadda VPN waa jawaabta daacadda ah, doorashaduna waxay raacdaa daboolka iyo mas'uuliyadda hawlgalka ee ma aha kala sareynta algorithms-ka sirta.