Ibgħit dinamiċi SSH bħala prokura SOCKS fuq il-VPN tiegħek
App li titkellem biss SOCKS m’għandhiex punt tat-tarf tal-prokura fuq VPN ordinarju. Żewġ qabżiet, wieħed li jisma’ fuq loopback, u tfittxija ta’ isem li s-server SSH irid jagħmel hu stess.
App li titkellem biss SOCKS m’għandhiex ma’ min titkellem fuq VPN ordinarju, għax il-mina ġġorr pakketti u l-app trid punt tat-tarf tal-prokura. OpenSSH jista’ jipprovdi dak il-punt meta sid l-aċċess jippermetti, għax l-ibgħit dinamiċi jibdel sessjoni SSH waħda fi prokura lokali. Imbagħad hemm żewġ qabżiet li għandhom jinżammu separati: il-mina li tasal għall-host SSH, u l-konnessjoni li dak il-host jiftaħ wara. Is-separazzjoni tagħhom tispjega kemm għaliex dan l-arranġament jaħdem kif ukoll x’mhu se jagħmel qatt.
F’xiex isir u f’xiex ma jsirx is-semmiegħ SSH
L-ibgħit dinamiċi ġġiegħel il-klijent SSH jisma’ lokalment u jitkellem SOCKS4 jew SOCKS5 ma’ kull ma jikkonnettja. Kull talba ssemmi destinazzjoni u s-server SSH jiftaħ il-konnessjoni li jmiss, u għalhekk it-tfittxija tad-destinazzjoni tista’ sseħħ fuq in-naħa l-oħra. Dan huwa ibgħit TCP fil-livell tal-app, mhux VPN għall-apparat kollu. Ma jġorr ebda assoċjazzjoni UDP, ebda ICMP, u xejn għall-apps li jinjoraw għal kollox is-settings tal-prokura. Il-qabża mis-server SSH għall-app lanqas mhi ġewwa l-mina tiegħek, u dan hu importanti meta d-destinazzjoni taċċetta traffiku biss minn networks magħrufa.
Il-kundizzjonijiet huma reali: rotta lejn il-host SSH, kont awtorizzat, muftieħ tal-host tas-server verifikat u permess li tibgħat. L-ebda waħda minnhom ma tinħoloq mill-prokura, u l-aħħar waħda normalment tkun l-ewwel li tonqos. Ikkonferma l-erbgħa kollha qabel ma tibda tiddibbagħ xi ħaġa oħra, għax mill-klijent il-falliment jidher l-istess, tkun liema tkun li tonqos.
Ibdejha fuq loopback b’port espliċitu
Agħżel port lokali mhux użat u orbtu b’mod espliċitu mal-loopback minflok tħalli l-indirizz barra. It-tliet għażliet hawn taħt jeżistu kull waħda għal raġuni waħda.
ssh -D 127.0.0.1:1080 -NT -o ControlPath=none -o ExitOnForwardFailure=yes \
[email protected]
-N jaqbeż il-kmand remot u -T jaqbeż il-pseudo-terminal, għalhekk is-sessjoni teżisti biss biex tibgħat. ExitOnForwardFailure iġġiegħel il-klijent joħroġ meta s-semmiegħ ma jistax jinħoloq, minflok jaħdem mingħajr l-ibgħit li tlabt. ControlPath=none iżomm is-sessjoni barra minn konnessjoni multiplexata eżistenti li tista’ żżid l-ibgħit tagħha stess. Loopback iżomm is-semmiegħ barra mil-LAN, imma fuq magna kondiviża din mhix fruntiera ta’ awtorizzazzjoni, għax proċessi lokali oħra jistgħu jilħquha wkoll. Ir-referenza tal-klijent OpenSSH tiddokumenta dawn il-flags kollha, u t-twissija dwar loopback ġejja minn x’inhu socket li jisma’.
Ibgħat l-ismijiet mill-prokura, mhux madwarha
Klijent SOCKS5 jista’ jħoll id-destinazzjoni hu stess jew jitlob lill-prokura tagħmel dan, u dik l-għażla tiddetermina liema solver iwieġeb. B’socks5h curl jibgħat l-isem tal-host mill-prokura, għalhekk it-tfittxija sseħħ fuq is-server SSH. B’socks5 sempliċi l-laptop iħoll l-ewwel u tivvjaġġa biss il-konnessjoni, li bil-kwiet tiżvojta l-iskop meta l-isem ikun intern. It-talba hawn taħt tbattal ukoll il-lista mingħajr prokura, għalhekk valur NO_PROXY li ntiret ma jistax iwassalha madwar il-prokura.
curl -sS --noproxy '' --proxy socks5h://127.0.0.1:1080 https://app.corp.example/health
Il-validazzjoni taċ-ċertifikat u d-dħul tal-app stess għadhom japplikaw, għax il-prokura ma tissostitwixxi l-ebda waħda. Jibqgħu żewġ tfittxijiet: il-laptop irid jasal għall-host SSH mill-passaġġ VPN u DNS permess, u s-server SSH irid iħoll hu l-isem tal-app. It-tieni waħda tista’ tiġi ttestjata waħedha qabel ma jgħaddi xi traffiku mill-prokura.
ssh [email protected] getent hosts app.corp.example
Ipprova destinazzjoni waħda permessa, imbagħad agħlaq is-sessjoni
Ittestja destinazzjoni li l-politika tippermetti u waħda li għandha tirrifjuta, għax ibgħit li jaħdem jipprova biss li s-semmiegħ jaħdem u xejn aktar. L-app tara l-indirizz tas-sors li jagħżel is-server SSH, u dan mhuwiex l-indirizz tal-mina tal-laptop tiegħek. Fejn in-naħa l-bogħida tirreġistra l-konnessjonijiet skont is-sors, dik id-differenza hi l-ewwel ħaġa li għandha tiġi ċċekkjata meta talba tiġi rrifjutata.
Waqqaf is-sessjoni permezz tal-proċess li jippossjediha minflok toqtol shell mhux relatat. Imbagħad ikkonferma li s-semmiegħ telaq, għax port li għadu jwieġeb hi sessjoni li ma għalaqtx tassew. Neħħi biss is-setting tal-prokura li daħħal dan l-eżerċizzju, u ħalli l-bqija tal-konfigurazzjoni tal-app kif inhi. Terminal mingħajr sorveljanza li jżomm regola ta’ ibgħit mhuwiex servizz, u prokura permanenti teħtieġ ċiklu tal-ħajja approvat, mhux tieqa minsi.
ss -ltn | grep 1080
Fallimenti li dan l-arranġament ma jistax isewwi
Xi sintomi jindikaw direttament il-limiti hawn fuq, u li tagħrafhom kmieni jiffranka wara nofsinhar ta’ dibbagħ tal-prokura. It-tabella torbot dak li tara ma’ dak li normalment ifisser. Kull ma hemm fl-aħħar kolonna hija kwistjoni ta’ disinn, mhux żball ta’ konfigurazzjoni.
| What you see | What it usually means | Where to look |
|---|---|---|
| The app connects and nothing follows | It ignores proxy settings entirely | Its own network settings, not the SSH session |
| A name resolution error for the destination | The SSH server cannot resolve it | Server resolver and search domains |
| A UDP-only application fails | Dynamic forwarding carries TCP only | This arrangement cannot serve it |
| curl works, the browser does not | The browser is not using the socks5h endpoint | Browser proxy configuration |
| The listener answers after the session ended | Another process owns port 1080 | The ss output, then the owning process |
L-ewwel tliet ringieli huma dawk li n-nies jiddijanjostikaw ħażin, għax kull wieħed jipproduċi tentattiv ta’ konnessjoni minflok żball dwar il-prokura stess. Isem li jiġi solvut fuq il-laptop ma jgħid xejn dwar is-solver tas-server, u l-falliment jinqara minflok bħala problema ta’ ċertifikat jew ta’ limitu ta’ żmien. Apps b’UDP biss joqogħdu barra mid-disinn, mhux imkissrin ġo fih, u l-ebda għażla ssh żejda ma tibdel dan. Ir-ringiela tal-brawżer hija t-tfakkira tas-soltu li s-settings tal-prokura huma għal kull app. L-aħħar ringiela hija r-raġuni għaliex teżisti l-verifika tal-għeluq: port li għadu jisma’ jfisser li issa xi ħaġa oħra tippossjedih.