SSH-lokale trochstjoering nei in besteande HTTP-proxy: twa loopback-adressen
In besteande proxy op in SSH-host kin ien applikaasje tsjinje fia ien lokale trochstjoering. Hâld de twa loopback-adressen en it proxyprotokol útinoar.
Jo goedkarde proxy draait op in springhost dêr’t er allinnich op loopback harket, sadat neat bûten dy masine him berikke kin. Jo hawwe gjin VPN of nije proxy nedich; jo hawwe ien poart fan dy masine nedich, oerbrocht nei ien poart fan josels. In lokale trochstjoering docht krekt dat, en it kostet ien opdracht plus ien ynstelling fan de applikaasje. De betizing komt meastentiids fan it trochinoar heljen fan hokker loopback-adres by hokker masine heart.
Beslis oft der al in fêste proxy is
Dizze technyk stjoert in tsjinst troch dy’t al draait. As de fiere host allinnich in SSH-daemon hat en gjin proxy, makket gjin hoemannichte trochstjoering ien, en de ferbining sil fan ’e fiere kant wegere wurde. Befêstigje dat de proxy bûn is, wat syn poart is, en oft er op 127.0.0.1 harket of op in bepaald ynterface-adres, want dat adres moat de trochstjoering rjochtsje.
As jo dat earst befêstigje, foarkomme jo it debuggen fan in tunnel dy’t nea oan eat ferbûn wie.
Bou de trochstjoering en lês de opdracht
De foarm dy’t jo wolle bûn in loopback-poart op jo laptop en ferbynt dy, fan ’e serverkant, mei it adres fan de proxy sa’t de server it sjocht.
ssh -NT -o ControlPath=none -o ExitOnForwardFailure=yes \
-L 127.0.0.1:13128:127.0.0.1:3128 [email protected]-N ûnderdrukt in fiere opdracht en -T ûnderdrukt termios-tawizing, want jo wolle in tunnel en gjin shell. It earste loopback-adres is wêr’t de laptop harket; it twadde wurdt troch de SSH-server oplost, dus 127.0.0.1 dêr betsjut de proxy op dy masine. ExitOnForwardFailure lit de opdracht lûd mislearje as de lokale poart al beset is, ynstee fan in sessy te starten dy’t neat trochstjoert. Skriuw it doeladres sa’t de server it oplost, want in namme dy’t allinnich jo laptop oplosse kin, sil oan ’e oare kant mislearje.
It eigen belied fan de server jildt foardat eats hjirfan wurket. AllowTcpForwarding moat it tastean, en PermitOpen kin beheine hokker bestimmingen en poarten in sessy berikke mei, sadat in trochstjoering dy’t de kliïnt akseptearret dochs troch de server wegere wurde kin. De wegering ferskynt as in trochstjoerings- of kanaalfout by de kliïnt, en dat berjocht lêze is flugger as de opdracht bewurkje.
Rjochtsje ien applikaasje op de trochstjoering
Konfigurearje de applikaasje om in HTTP-proxy op http://127.0.0.1:13128 te brûken, mei oanmeldgegevens as de fiere proxy dy freget. Hâld de eigen sertifikaatferifikaasje fan de applikaasje foar HTTPS-bestimmingen, want de proxytunnel ferfangt dy net. Dit is in fêste trochstjoering fan ien tsjinst, dus de applikaasje moat oer in proxy ferteld wurde ynstee fan sels ien te ûntdekken.
In flugge kontrôle foardat jo eat permanint konfigurearje: curl -x http://127.0.0.1:13128 -I https://example.com, dat de HTTP CONNECT-metoade oefenet dy’t de proxy stypje moat.
Hâld it foech wêr’t it wie
De fiere proxy beslút noch altyd hokker bestimmingen en metoaden er tastiet, en in SSH-oanmelding heart net stilwei elke akkount in algemiene webrelais te jaan. Binen oan 127.0.0.1 op de laptop foarkomt dat de poart yn jo lokale netwurk buorkundich wurdt, en it makket de poart net privee foar oare prosessen op deselde masine. Dy bining ferfange troch in wildcard-adres om de proxy te dielen is hoe’t in ûnbeheard iepen relais ûntstiet.
It SSH-transport beskermet de sprong nei de server. Foarby dat punt iepenet de proxy syn eigen ferbining, sadat in gewoan HTTP-fersyk nei in bestimming gewoan bliuwt foarby de server, ek al wie it earste segmint fersifere.
Ferifiearje beide kanten en romje dan op
Lokale tunnelopset en sukses fan ’e fiere tsjinst binne ferskillende resultaten, en de ôfslutstatus fan de opdracht fertelt jo allinnich oer it earste. Kontrolearje dat de harker bestiet mei ss -ltn, doch dan in tastiene applikaasjefersyk en in fersyk dat de proxy wegere moatte soe. As beide har gedrage lykas ferwachte, is it paad echt; as de tunnel oan is en elk fersyk mislearret, wegeret de proxy of kin er de bestimming net berikke.
As jo klear binne, stopje dan it SSH-proses dat it besit, ferwiderje de proxy-ynstelling út de applikaasje, en befêstigje dat de lokale poart fuort is ynstee fan in harker efter te litten dy’t de taak oerlibbet.