Rhowch SOCKS proxy i Pi o bell drwy eich cleient SSH
Mae ymlaen-danfon dynamig o bell yn rhoi'r gwrandäwr SOCKS ar y Pi ac yn gwneud y cysylltiad nesaf o lwybr VPN cymeradwy eich gliniadur. Dim ail weinydd SSH.
Rydych chi'n tybio bod rhaid i SOCKS proxy redeg lle mae mynediad rhwydwaith eisoes yn bodoli. Gall OpenSSH osod y gwrandäwr yn hollol wahanol. Mae ymlaen-danfon dynamig o bell yn agor y porth SOCKS ar westeiwr o bell ac yn tarddu pob cysylltiad o'ch cleient SSH lleol, sy'n cario llwybr VPN cymeradwy eich gliniadur. Mae'r Pi yn cael proxy cyfyngedig; nid yw'n etifeddu eich twnnel na'ch breintiau.
Gall y gwrandäwr a'r ochr y tarddir y cysylltiad fod yn wahanol
Mae ssh -D 1080 cyffredin yn rhedeg y gwrandäwr ar eich peiriant eich hun ac yn anfon cysylltiadau o'r fan honno. Mae ymlaen-danfon dynamig o bell yn gwrthdroi hynny: mae'r gwrandäwr yn ymddangos ar y westeiwr o bell, ac mae pob cysylltiad y mae'n ei dderbyn yn cael ei agor o'r ochr leol. Mae llawlyfr cleient OpenSSH yn dogfennu -R heb gyrchfan sefydlog fel yr union drefniant SOCKS4/5 hwn.
Mae gorchymyn a gefnogir o'r gliniadur yn edrych fel hyn, gyda'r cyfrif, y gwesteiwyr a'r porth yn cael eu trin fel deiliaid lle:
ssh -NT -S none -o ExitOnForwardFailure=yes \
-o PermitRemoteOpen=app.corp.example:443 \
-R 1080 [email protected]
Mae tri manylyn yn gwneud gwaith defnyddiol yno. Mae -S none yn cadw'r sesiwn oddi wrth feistr rheoli a rennir, mae ExitOnForwardFailure yn methu'n gyflym yn lle eich gadael â sesiwn hanner agored, ac mae PermitRemoteOpen yn cyfyngu ar yr hyn y gall y gwrandäwr o bell ei gyrraedd. Defnyddiwch gyfrif Pi awdurdodedig a gwiriwch allwedd y gwesteiwr cyn ychwanegu unrhyw ran o hyn.
Beth mae'r gwrandäwr o bell yn ei ddatgelu mewn gwirionedd
Gwiriwch bolisi ymlaen-danfon y gweinydd cyn i chi ddibynnu ar y gwrandäwr. Gyda GatewayPorts no mae'r ymlaen-danfon o bell yn parhau'n rhwym wrth loopback, a dyna'r amlygiad rydych chi ei eisiau. Mae gweinydd sydd wedi'i ffurfweddu i orfodi ymlaen-danfon wildcard yn cyhoeddi'r un porth ar bob rhyngwyneb, sy'n troi proxy personol yn rhywbeth y gall y rhwydwaith lleol ei gyrraedd.
Nid yw loopback yn ffin i bob defnyddiwr chwaith. Gall proses arall ar y Pi gysylltu â 127.0.0.1:1080 os yw'n gwybod y porth, felly mae cyfrifon lleol y Pi a beth bynnag sy'n rhedeg arno yn rhan o'ch cynllun mynediad. Dyna reswm dros gadw'r rhestr gyrchfan yn gul, nid rheswm dros hepgor y gwiriad polisi.
Cadwch y gyrchfan a ganiateir yn benodol i'r rhaglen rydych chi'n ceisio ei chyrraedd. Mae disodli hynny ag ymlaen-danfon heb gyfyngiad i wneud i raglen ddi-gysylltiad weithio yn lledu'r llwybr ymhell y tu hwnt i'r broblem y gwnaethoch ddechrau â hi. Mae rhestr gyrchfan hefyd yn cofnodi beth oedd diben y sesiwn, sy'n helpu pwy bynnag sy'n ei harchwilio'n ddiweddarach. Ysgrifennwch hi wrth ymyl y cyfrif a ddefnyddiwyd gennych.
Anfonwch un rhaglen drwy'r proxy
Wedyn gall cleient sy'n deall proxy ar y Pi wneud y cais. Mae'r rhagddodiad socks5h yn rhoi enw'r gyrchfan i'r proxy, felly mae'r chwiliad a'r cysylltiad ill dau yn digwydd ar ochr y gliniadur, ac mae'n cyfateb i'r gyrchfan a enwir yn PermitRemoteOpen:
curl --proxy socks5h://127.0.0.1:1080 \
--noproxy '' https://app.corp.example/
Cadwch y dilysu tystysgrif arferol ac uwchadrediad y rhaglen ei hun. Mae'r proxy yn newid ble mae'r cysylltiad TCP yn cael ei wneud; nid yw'n gwneud gwasanaeth heb uwchadrediad yn ddiogel, ac nid yw'n troi pwynt diwedd hunan-lofnodwyd yn un dibynadwy.
Mae angen llwybr a mynediad datryswr ei hun ar y gliniadur o hyd, at y gweinydd SSH a'r rhaglen ill dau. Rhaid i bolisi VPN cymeradwy ddewis traffig ei gleient SSH, a gall eithriad twnnel hollt anfon y traffig hwnnw ar hyd llwybr gwahanol i'r un a brofwyd gennych.
Profwch y llwybr a'i gau
Cadarnhewch fod y gwrandäwr yn bodoli lle'r ydych chi'n ei ddisgwyl ac mai dim ond y gyrchfan fwriadedig sy'n ateb:
$ ss -ltnp | grep 1080
LISTEN 0 128 127.0.0.1:1080 0.0.0.0:*
$ curl -sS -o /dev/null -w '%{http_code}\n' \
--proxy socks5h://127.0.0.1:1080 https://app.corp.example/
Gall ExitOnForwardFailure brofi bod yr ymlaen-danfon wedi'i sefydlu, ac eto ni all dystiolaethu bod mewngofnodi i'r rhaglen yn llwyddo i lawr yr afon. Profwch y rhaglen, nid y porth yn unig. Mae gwrandäwr sy'n derbyn ac yna'n methu pob cais fel arfer yn golygu bod enw'r gyrchfan neu lwybr y gliniadur yn anghywir, nid bod y twnnel wedi methu.
Nid yw'r trefniant hwn yn cario ond TCP. Mae UDP, ICMP a rhaglenni sy'n anwybyddu gosodiadau proxy yn aros y tu allan iddo, ac mae'r ymlaen-danfon yn gorffen y foment y daw'r sesiwn SSH i ben. Stopiwch y sesiwn honno pan fyddwch wedi gorffen a thynnwch y gosodiad proxy a ychwanegwyd gennych at y rhaglen.
Ar gyfer mynediad parhaol, defnyddiwch gofrestriad a gefnogir gan berchennog y rhwydwaith neu borth rheoledig yn lle hynny. Mae proxy gwrthdro yn offeryn anghywir ar gyfer osgoi cyfyngiadau dyfais neu adnoddau VPN; o'i ddefnyddio o'u mewn, dim ond un llwybr rhaglen awdurdodedig gyda therfynau penodol ydyw.