Junior
¿Qué es el reenvío de puertos?
sobes.tech AI
Respuesta de la IA
El reenvío de puertos (port forwarding) es una técnica de red que redirige los paquetes de red que llegan a un puerto y dirección IP específicos a otra dirección IP y puerto en la red local.
Esto permite que dispositivos externos accedan a servicios que se ejecutan en dispositivos internos, que generalmente están ocultos tras NAT (Network Address Translation).
Los principales tipos de reenvío de puertos:
- Estático (Static NAT): Una regla de reenvío fija que vincula constantemente un puerto externo con un puerto interno en una dirección IP interna específica.
- Dinámico (Dynamic NAT): Se usa más para tráfico saliente, donde un grupo de direcciones IP internas se mapea a una o varias direcciones IP y puertos externos de forma dinámica. En el contexto de "reenvío" generalmente se refiere a reenvío estático para tráfico entrante.
- Reenvío de puertos en SSH (SSH Port Forwarding): Uso de túneles SSH para redirigir tráfico de forma segura. Puede ser:
- Local: Redirige un puerto desde la máquina local a un servicio remoto a través de un servidor SSH.
- Remoto: Redirige un puerto desde una máquina remota a un servicio local a través de un servidor SSH.
- Dinámico (proxy SOCKS): Crea un proxy SOCKS que permite tunelizar tráfico hacia varias direcciones y puertos.
Se aplica para:
- Acceso a servidores web, SSH, FTP, servidores de juegos y otros servicios dentro de la red local desde el exterior.
- Implementación de VPN.
- Superar firewalls y NAT en ciertos escenarios (por ejemplo, con SSH).
Ejemplo de regla en un router (conceptualmente):
| Interfaz Entrante | IP Externa | Puerto Externo | Protocolo | IP Interna | Puerto Interno |
|---|---|---|---|---|---|
| WAN | 203.0.113.10 |
80 |
TCP | 192.168.1.100 |
80 |
| WAN | 203.0.113.10 |
2222 |
TCP | 192.168.1.101 |
22 |
Ejemplo de reenvío SSH local:
# El puerto local 8080 se redirige al puerto 80 en el servidor webserver.example.com
ssh -L 8080:webserver.example.com:80 user@ssh.example.com
Ejemplo de reenvío SSH remoto:
# El puerto remoto 8080 en ssh.example.com se redirige al puerto 80 en la máquina local
ssh -R 8080:localhost:80 user@ssh.example.com