Jo geane derfan út dat in SOCKS-proxy rinne moat dêr't de netwurktoegong al bestiet. OpenSSH kin de harker hiel earne oars pleatse. In ôfstânsdynamyske trochstjoering iepenet de SOCKS-poarte op in ôfstânhost en begjint elke ferbining fan jo lokale SSH-klant, dy't jo laptop syn goedkarde VPN-paad draacht. De Pi krijt in beheinde proxy; hy erft jo tunnel of jo privileezjes net.

De harker en de kant dêr't de ferbining wei komt, kinne ferskille

In gewoane ssh -D 1080 lit de harker op jo eigen masine rinne en stjoert ferbiningen dêrwei. In ôfstânsdynamyske trochstjoering keart dat om: de harker ferskynt op it ôfstânhost, en elke ferbining dy't er oannimt, wurdt fan de lokale kant iepene. De hânlieding fan de OpenSSH-klant dokumintearret -R sûnder fêst bestimming krekt as dizze SOCKS4/5-regeling.

In stipe opdracht fan de laptop sjocht der sa út, mei it akkount, de hosts en de poarte as plakhâlders:

ssh -NT -S none -o ExitOnForwardFailure=yes \
  -o PermitRemoteOpen=app.corp.example:443 \
  -R 1080 [email protected]

Trije details dogge dêr nuttich wurk. -S none hâldt de sesje by in dielde kontrôlemaster wei, ExitOnForwardFailure mislearret fluch ynstee fan jo mei in heal-iepen sesje efter te litten, en PermitRemoteOpen beheint wat de ôfstânharker berikke mei. Brûk in autorisearre Pi-akkount en ferifiearje de hostkaai foardat jo dêr wat fan tafoegje.

Wat de ôfstânharker wier bleatleit

Kontrolearje it trochstjoerbelied fan de tsjinner foardat jo op de harker fertrouwe. Mei GatewayPorts no bliuwt de ôfstântrochstjoering oan loopback bûn, en dat is de bleatstelling dy't jo wolle. In tsjinner dy't ynsteld is om wildcard-trochstjoering te twingen, publisearret deselde poarte op elk ynterface, wat in persoanlike proxy feroaret yn eat dat it lokale netwurk berikke kin.

Loopback is ek gjin grins per brûker. In oar proses op de Pi kin mei 127.0.0.1:1080 ferbine as it de poarte ken, dus de lokale akkounts fan de Pi en alles wat dêrop rint binne diel fan jo toegongsûntwerp. Dat is in reden om de bestimmingslist smel te hâlden, net in reden om de beliedskontrôle oer te slaan.

Hâld de tastiene bestimming spesifyk foar de applikaasje dy't jo berikke wolle. It ferfangen troch ûnbeheinde trochstjoering om in net besibbe programma wurkje te litten, ferbreedet it paad folle fierder as it probleem dêr't jo mei begûnen. In bestimmingslist skriuwt ek op wêr't de sesje foar wie, wat helpt wa't it letter auditearret. Skriuw it op njonken it akkount dat jo brûkten.

Stjoer ien applikaasje troch de proxy

In proxybewuste klant op de Pi kin dan it fersyk dwaan. It foarheaksel socks5h jout de bestimmingsnamme oan de proxy, sadat it opfreegjen en de ferbining beide oan de laptopkant barre, en it komt oerien mei de neamde bestimming yn PermitRemoteOpen:

curl --proxy socks5h://127.0.0.1:1080 \
  --noproxy '' https://app.corp.example/

Hâld normale sertifikaatfalyderaasje en de eigen autentikaasje fan de applikaasje. De proxy feroaret wêr't de TCP-ferbining makke wurdt; hy makket in net-autentisearre tsjinst net feilich en feroaret in selsûndertekene einpunt net yn in fertroud ien.

De laptop hat noch altyd syn eigen rûte en tagong ta de resolver nedich, sawol nei de SSH-tsjinner as nei de applikaasje. It ferkear fan syn SSH-klant moat troch it goedkarde VPN-belied keazen wurde, en in split-tunnel-útsluting kin dat ferkear oer in oar paad stjoere as dat jo testen.

Bewiis it paad en slút it

Befêstigje dat de harker bestiet dêr't jo him ferwachtsje en dat allinnich de bedoelde bestimming antwurdet:

$ 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/

ExitOnForwardFailure kin bewize dat de trochstjoering oanmakke is, en kin noch hieltyd net befêstigje dat de oanmelding by de applikaasje streamôf slagget. Test de applikaasje, net allinnich de poarte. In harker dy't oannimt en dan elk fersyk mislearje lit, betsjut meast dat de bestimmingsnamme of de rûte fan de laptop ferkeard is, net dat de tunnel mislearre.

Dizze regeling draacht allinnich TCP. UDP, ICMP en programma's dy't proxy-ynstellingen negearje bliuwe derbûten, en de trochstjoering einiget op it stuit dat de SSH-sesje einiget. Stopje dy sesje as jo klear binne en helje de proxy-ynstelling fuort dy't jo oan de applikaasje tafoege hawwe.

Foar permaninte tagong brûkje ynstee de stipe ynskriuwing fan de netwurkeigner of in beheard gateway. In omkearde proxy is it ferkearde helpmiddel om de apparaat- of boarnesbeheiningen fan in VPN te ûntwiken; brûkt binnen dy beheiningen is it gewoan ien autorisearre applikaasjepaad mei útdruklike grinzen.

Relatearre artikelen