Jou goedgekeurde proxy loop op ’n spronggasheer waar dit net op loopback luister, so niks buite daardie masjien kan dit bereik. Jy het nie ’n VPN of ’n nuwe proxy nodig nie; jy het een poort van daardie masjien nodig wat na een poort van joune gedra word. ’n Plaaslike deurstuur doen presies dit, en dit verg een opdrag plus een toepassinginstelling. Die verwarring kom gewoonlik daarvan dat ’n mens die loopback-adresse met die verkeerde masjiene verbind.

Bepaal of ’n vaste proxy reeds bestaan

Hierdie tegniek stuur ’n diens deur wat reeds loop. As die afgeleë gasheer bloot ’n SSH-daemon het en geen proxy nie, skep geen mate van deurstuur een nie, en die verbinding sal van die afgeleë kant geweier word. Bevestig dat die proxy gebind is, wat sy poort is, en of dit op 127.0.0.1 of op ’n spesifieke koppelvlakadres luister, want daardie adres is wat die deurstuur moet teiken.

As jy dit eers bevestig, hoef jy nie ’n tonnel te ontfout wat nooit aan iets gekoppel was nie.

Bou die deurstuur en lees die opdrag

Die vorm wat jy wil hê, bind ’n loopback-poort op jou skootrekenaar en koppel dit, van die bediener se kant af, aan die proxy se adres soos die bediener dit sien.

ssh -NT -o ControlPath=none -o ExitOnForwardFailure=yes \
  -L 127.0.0.1:13128:127.0.0.1:3128 [email protected]

Die -N onderdruk ’n afgeleë opdrag en -T onderdruk termios-toewysing, want jy wil ’n tonnel hê en nie ’n dop nie. Die eerste loopback-adres is waar die skootrekenaar luister; die tweede word deur die SSH-bediener opgelos, so 127.0.0.1 beteken daar die proxy op daardie masjien. ExitOnForwardFailure laat die opdrag hardop misluk as die plaaslike poort al in gebruik is, in plaas daarvan om ’n sessie te begin wat niks deurstuur nie. Skryf die teikenadres soos die bediener dit oplos, want ’n naam wat net jou skootrekenaar kan oplos, sal aan die ander kant misluk.

Die bediener se eie beleid geld voordat enigiets hiervan werk. AllowTcpForwarding moet dit toelaat, en PermitOpen kan beperk watter bestemmings en poorte ’n sessie mag bereik, so ’n deurstuur wat die kliënt aanvaar, kan steeds deur die bediener geweier word. Die weiering verskyn as ’n deurstuur- of kanaalfout by die kliënt, en om daardie boodskap te lees is vinniger as om die opdrag te wysig.

Rig een toepassing op die deurstuur

Stel die toepassing in om ’n HTTP-proxy by http://127.0.0.1:13128 te gebruik, met geloofsbriewe as die afgeleë proxy dit vereis. Behou die toepassing se eie sertifikaatverifikasie vir HTTPS-bestemmings, want die proxy-tonnel vervang dit nie. Dit is ’n vaste deurstuur van een diens, so die toepassing moet van ’n proxy vertel word eerder as om een self te ontdek.

’n Vinnige toets voordat jy iets permanent instel: curl -x http://127.0.0.1:13128 -I https://example.com, wat die HTTP CONNECT-metode uitoefen wat die proxy moet ondersteun.

Hou die gesag waar dit was

Die afgeleë proxy besluit steeds watter bestemmings en metodes dit toelaat, en ’n SSH-aanmelding behoort nie stilweg aan elke rekening ’n algemene webaflosser te gee nie. Om op 127.0.0.1 op die skootrekenaar te bind, voorkom dat die poort aan jou plaaslike netwerk bekend gemaak word, en dit maak die poort nie privaat van ander prosesse op dieselfde masjien nie. Om daardie binding met ’n wildcard-adres te vervang om die proxy te deel, is hoe ’n onbestuurde oop aflosser ontstaan.

Die SSH-vervoer beskerm die sprong na die bediener. Verder as dit open die proxy sy eie verbinding, so ’n gewone HTTP-versoek na ’n bestemming bly gewoon verby die bediener, selfs al was die eerste segment geënkripteer.

Verifieer beide kante en ruim dan op

Plaaslike tonnelopstelling en sukses van die afgeleë diens is twee verskillende uitkomste, en die opdrag se afsluitstatus vertel jou net van die eerste. Kyk of die luisteraar bestaan met ss -ltn, maak dan ’n toegelate toepassingversoek en ’n versoek wat die proxy behoort te weier. As albei optree soos verwag, is die pad eg; as die tonnel aan is en elke versoek misluk, weier die proxy of kan dit die bestemming nie bereik nie.

Wanneer jy klaar is, stop die SSH-proses wat dit besit, verwyder die proxy-instelling uit die toepassing, en bevestig dat die plaaslike poort weg is eerder as om ’n luisteraar te laat wat die taak oorleef.

Verwante artikels