Hopp til hovedinnhold

Dynamisk port forwarding (SOCKS proxy og VPN-lignende)

Kapittel 14

Dynamisk port forwarding lar deg bruke SSH som en midlertidig proxy-tjeneste. Det fungerer som en SOCKS-proxy, der du kan sende all trafikk fra programmer (som nettlesere) gjennom serveren din.

Kommando

ssh -D [bind_addr:]port brukernavn@server

Eksempel

ssh -D 3000 user@server1

Dette starter en lokal SOCKS-proxy på port 3000. Du kan deretter konfigurere nettleseren din til å bruke SOCKS-proxy: localhost port 3000

All nettverkstrafikk fra nettleseren vil da rutes gjennom SSH-forbindelsen og ut via serveren, slik at du får samme IP-adresse som serveren. Du kan fortsatt koble til serveren interaktivt i samme forbindelse.

Når du avslutter SSH-sessionen, opphører også proxytjenesten. Husk å sette nettleseren tilbake til normal proxy-innstilling etterpå, ellers vil den ikke få vanlig internettforbindelse.

Fordeler

  • Sikker og kryptert nettverkstunnel.
  • Brukes for tilgang til tjenester som krever IP-whitelisting.
  • En enkel måte å surfe med en dedikert IP uten å påvirke resten av maskinen.

Viktig

"localhost" i dynamisk forwarding refererer til den lokale proxy-porten på din egen maskin, der programmer (som nettlesere) kobler til.

Kjøre i bakgrunn (uten åpen terminal)

Du kan kjøre SSH-tunnelen som bakgrunnsprosess ved å kombinere flaggene -f -n -N -T

Forklaring

  • -f kjør i bakgrunnen etter pålogging
  • -n ikke les fra standard input
  • -N ikke kjør noen kommando på serveren
  • -T ikke alloker TTY

Eksempel

ssh -fnNT -D 3000 user@server

Dette oppretter en SOCKS-proxy i bakgrunnen uten at det åpnes noe SSH-shell.

For å finne og stoppe prosessen senere

ps x | grep ssh
kill PID

Konfigurasjon i ~/.ssh/config

Host server1
Hostname 10.0.1.110
# Access remote port through local port 3333
LocalForward 3333:localhost:3306
# Access local port 22 through remote port 5432
RemoteForward 22:localhost:5432
# Start a SOCKS proxy on port 3000
DynamicForward 3000

Bruksområder

  • Midlertidig “VPN” via ekstern server for trygg surfing.
  • Tilgang til tjenester via dedikert IP fra server.
  • Forbinde interne nettverk uten å åpne porter i brannmur.

Høydepunkt – dynamisk forwarding

Starte SOCKS proxy

ssh -D 3000 brukernavn@server

Starte proxy i bakgrunnen

ssh -fnNT -D 3000 brukernavn@server

Sjekke aktive prosesser

ps x | grep ssh

Stoppe tunnel

kill PID
Robert Kristoffersen
Fullstack-utvikler • Webno