sshuttle yn erbyn VPN lawn: beth mae ei ddull yn ei gwmpasu mewn gwirionedd
Dim ond yr hyn y mae ei ddull anfon yn ei gefnogi y mae sshuttle yn ei gario: gwiriwch gwmpas TCP, DNS ac UDP, y fraint leol sydd ei hangen a'r cynorthwyydd o bell yn gyntaf.
Dewisir sshuttle oherwydd bod SSH eisoes yn gweithio ac mae'r cryptograffeg yn edrych yn gyfarwydd, ac mae'r rhesymu hwnnw'n hepgor yr unig gwestiwn sy'n penderfynu a yw'n addas. Pa becynnau sy'n gadael y peiriant, pa gyfrif sy'n eu cario ar yr ochr bell, a faint o fraint leol mae'r offeryn yn ei mynnu. Mae'r tri ateb hynny'n amrywio yn ôl y dull anfon, felly gall trefniant sy'n gweithio i un rhaglen fethu'n dawel i'r nesaf. Mae'r daith isod yn dechrau gyda'r protocol sydd ei angen ar y rhaglen mewn gwirionedd.
Dechreuwch gyda'r protocol sydd ei angen ar y rhaglen
Mae cymorth protocol yn sshuttle 2.0 yn dibynnu ar y dull a ddewiswch. Mae dulliau NAT a nft Linux yn trin TCP a DNS, ac mae TPROXY yn ychwanegu UDP cyffredinol. Mae gan bob platfform a dull ei derfynau ei hun, ac mae macOS yn rhyng-gipio trwy fecanwaith hollol wahanol. Cofnodwch y fersiwn sydd wedi'i gosod, y dull a ddewiswyd a'r protocolau sydd eu hangen ar y rhaglen cyn dewis unrhyw beth.
Felly ychydig iawn y mae cais TCP sy'n gweithio yn ei brofi am raglen UDP neu am bob ymchwiliad DNS. Mae sshuttle hefyd yn trin TCP fel ffrydiau yn lle twnelu pecynnau IP cyfan, felly nid yw casgliad trwybyddiad a fenthycwyd o VPN confensiynol yn trosglwyddo. Cymharwch y mecanwaith a redwch mewn gwirionedd â'r llwyth gwaith sydd gennych mewn gwirionedd.
| 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 |
Beth sydd ei angen ar y cleient yn lleol
Mae'r trefniant cleient a ddogfennwyd angen root neu sudo, oherwydd ei fod yn gosod rheolau rhyng-gipio lleol yn hytrach na chreu rhyngwyneb twnnel. Mae'r ffaith unigol honno'n newid y stori diogelwch: gall proses â'r fraint honno ailgyfeirio traffig y peiriant cyfan, nid un rhaglen yn unig. Triniwch y fraint fel rhan o'r dyluniad ac nid fel manylyn gosod.
Cadarnhewch pa reolau a osododd yr offeryn a'u bod yn diflannu pan fydd yn gadael. Gall sesiwn wedi chwalu sy'n gadael rheolau rhyng-gipio ar ôl anfon traffig i dwll du ymhell ar ôl i'r gweithredwr gredu bod y cysylltiad wedi mynd, ac mae'r symptom yn edrych fel methiant rhwydwaith yn hytrach na rheol dros ben.
sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route
Y gorchymyn cyntaf yw siâp galwad nodweddiadol, gyda'r rhagddodiad sydd ei angen arnoch mewn gwirionedd. Mae'r ail yn dangos beth a osododd yr offeryn, ac mae'r trydydd yn cadarnhau na ymddangosodd rhyngwyneb twnnel, sef y canlyniad a ddisgwylir ar gyfer y dyluniad hwn.
Beth mae'r ochr bell yn ei redeg
Cyfrif SSH awdurdodedig ynghyd ag amgylchedd cynorthwyydd Python cydnaws yw'r ochr bell. Nid yw mewngofnodi sy'n llwyddo o dan gregyn cyfyngedig yn rhoi caniatâd yn awtomatig i redeg y cynorthwyydd hwnnw, ac nid yw cyfrif sy'n gallu rhedeg y cynorthwyydd yn cyrraedd pob gwasanaeth targed yn awtomatig. Mae'r ddwy ffaith yn perthyn i'r cais mynediad yn hytrach nag i nodiadau datrys problemau.
Gwarchodwch wirio hunaniaeth y gwesteiwr ac uwchadlu'r cyfrif. Mae derbyn allwedd gwesteiwr anhysbys i wneud i'r cysylltiad cyntaf weithio yn tynnu'r gwiriad mai'r ochr bell yw'r peiriant a fwriadwyd gennych, ac mae hynny'n bwysicach yma nag mewn anfon at un diben.
Cyfyngwch y cyfrif o bell i'r gwasanaethau sydd eu hangen ar y llif gwaith, a thrafodwch y cwmpas hwnnw gyda'r rhai sy'n gweithredu'r gwesteiwr. Maent yn rhan o'r berthynas ymddiriedaeth, ac nid oes unrhyw osodiad ar ochr y cleient yn newid hynny.
Lle mae'r ffin ymddiriedaeth
Nid yw anfon cysylltiad API preifat trwy SSH yn awdurdodi pob gweithrediad API. Mae TLS y rhaglen a mewngofnodi'r rhaglen yn dal i fod yn berthnasol, ac ni all yr offeryn wneud gwasanaeth heb uwchadlu yn ddiogel. Nid yw naid bellach o'r gwesteiwr o bell chwaith yn awtomatig yr un segment gwarchodedig â'r sianel SSH, oherwydd mae'r ail gysylltiad hwnnw'n dilyn pa bynnag bolisi sydd gan y gwesteiwr o bell.
Ysgrifennwch y ffin fel un frawddeg: mae traffig i'r rhagddodiadau hyn yn gadael trwy'r cyfrif hwn ar y gwesteiwr hwnnw. Os oes angen paragraff o eithriadau ar y frawddeg, mae'r dyluniad yn gwneud mwy na'r hyn y mae ei ddogfennaeth yn ei honni ac yn haeddu ail olwg cyn cyrraedd cynhyrchu.
Profwch hyn fesul protocol, yna dewiswch yr offeryn
Profwch bob protocol gofynnol gyda chais diniwed, gan gynnwys llwybr y datryswr a'r teuluoedd cyfeiriadau y mae'r rhaglen yn eu defnyddio. Cynhwyswch ddatgysylltiad yn y prawf, fel bod ymddygiad methu a ganiateir y rhaglen yn ganlyniad hysbys yn hytrach na syndod yn ystod digwyddiad. Nid yw sesiwn a anfonodd yn gywir tra oedd i fyny yn dweud unrhyw beth am yr hyn sy'n digwydd pan fydd yn disgyn.
Ar gyfer llond llaw o wasanaethau a enwir yn benodol, mae anfon lleol cyffredin yn haws i'w berchenogi ac yn haws i'w archwilio. Ar gyfer traffig rhaglenni sy'n ffitio ei ddull, mae sshuttle yn cynnig canol ffordd dilys. Pan fo'r gofyniad yn gysylltedd IP eang, dyluniad VPN yw'r ateb gonest, ac mae'r dewis yn dilyn cwmpas a chyfrifoldeb gweithredol yn hytrach na safle dulliau amgryptio.