Sobes.tech
Junior

Čo je to presmerovanie portov?

sobes.tech AI

Odpoveď od AI

Port forwarding (port forwarding) je sieťová technika, ktorá presmerová sieťové pakety prichádzajúce na určitý port a IP adresu na iný IP adresu a port v lokálnej sieti.

Toto umožňuje externým zariadeniam pristupovať k službám spusteným na vnútorných zariadeniach, ktoré sú zvyčajne skryté za NAT (Network Address Translation).

Hlavné typy port forwarding:

  • Statický (Static NAT): Určené pravidlo port forwarding, ktoré neustále spája vonkajší port s vnútorným portom na konkrétnej vnútornej IP adrese.
  • Dynamický (Dynamic NAT): Častejšie sa používa pre odchádzajúci prenos, kde skupina vnútorných IP adries je dynamicky mapovaná na jednu alebo viac vonkajších IP adries a portov. V kontexte "port forwarding" sa zvyčajne myslí statický port forwarding pre prichádzajúci prenos.
  • Port forwarding cez SSH (SSH Port Forwarding): Použitie SSH tunelov na bezpečné presmerovanie prenosu. Môže byť:
    • Lokálne: Presmeruje port z lokálneho stroja na vzdialený servis cez SSH server.
    • Vzdialené: Presmeruje port z vzdialeného stroja na lokálny servis cez SSH server.
    • Dynamické (SOCKS proxy): Vytvára SOCKS proxy, ktorá umožňuje tunelovať prenos na viaceré adresy a porty.

Používa sa na:

  • Prístup k webovým serverom, SSH, FTP, herným serverom a iným službám vnútri lokálnej siete zvonku.
  • Realizáciu VPN.
  • Obchádzanie firewallov a NAT v určitých scenároch (napríklad so SSH).

Príklad pravidla na smerovači (konceptuálne):

Vstupné rozhranie Vonkajší IP Vonkajší port Protokol Vnútorný IP Vnútorný port
WAN 203.0.113.10 80 TCP 192.168.1.100 80
WAN 203.0.113.10 2222 TCP 192.168.1.101 22

Príklad SSH lokálneho port forwardingu:

# Lokálny port 8080 sa presmeruje na port 80 na serveri webserver.example.com
ssh -L 8080:webserver.example.com:80 user@ssh.example.com

Príklad SSH vzdialeného port forwardingu:

# Vzdialený port 8080 na ssh.example.com sa presmeruje na port 80 na lokálnej mašine
ssh -R 8080:localhost:80 user@ssh.example.com