Junior
Mi az a port továbbítás?
sobes.tech MI
Válasz az MI-től
A portátirányítás (port forwarding) egy hálózati technika, amely átirányítja a hálózati csomagokat egy adott port és IP-cím érkezését egy másik IP-címre és portra a helyi hálózatban.
Ez lehetővé teszi külső eszközök számára, hogy hozzáférjenek a belső eszközökön futó szolgáltatásokhoz, amelyek általában NAT (Network Address Translation) mögött rejtve vannak.
A portátirányítás fő típusai:
- Statikus (Static NAT): Egy állandó átirányítási szabály, amely folyamatosan összeköti a külső portot egy adott belső IP-cím belső portjával.
- Dinamikus (Dynamic NAT): Gyakrabban használják kimenő forgalomhoz, ahol egy belső IP-címcsoport dinamikusan van hozzárendelve egy vagy több külső IP-hez és porthoz. A "portátirányítás" kontextusában általában statikus átirányításról beszélnek bejövő forgalom esetén.
- SSH portátirányítás (SSH Port Forwarding): SSH alagutak használata a forgalom biztonságos átirányítására. Lehet:
- Helyi: A helyi gépről egy távoli szolgáltatásra irányít portot SSH-n keresztül.
- Távoli: Egy távoli gépről egy helyi szolgáltatásra irányít portot SSH-n keresztül.
- Dinamikus (SOCKS proxy): Egy SOCKS proxy létrehozása, amely lehetővé teszi a forgalom tunnelingját több cím és port felé.
Alkalmazások:
- Web szerverek, SSH, FTP, játék szerverek és más szolgáltatások elérése a helyi hálózaton belülről kívülről.
- VPN megvalósítása.
- Tűzfalak és NAT megkerülése bizonyos szcenáriókban (pl. SSH-val).
Példa szabály egy routeren (koncepcionális):
| Bejövő interfész | Külső IP | Külső port | Protokoll | Belső IP | Belső 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 |
SSH helyi portátirányítás példája:
# A helyi port 8080 átirányítódik a webserver.example.com port 80-ra
ssh -L 8080:webserver.example.com:80 user@ssh.example.com
SSH távoli portátirányítás példája:
# A távoli port 8080 az ssh.example.com-on átirányítódik a helyi port 80-ra
ssh -R 8080:localhost:80 user@ssh.example.com