Volver al indice de documentacion

Reenvío de Puertos

El reenvío de puertos te permite crear túneles seguros a través de conexiones SSH. Accede a servicios remotos en tu máquina local, o expón servicios locales a sistemas remotos.

Tipos de Reenvío de Puertos

Termial soporta tres tipos de reenvío de puertos:

Reenvío Local (Local Forward)

Reenvía un puerto local al servidor remoto. Útil para acceder a servicios remotos localmente.

Ejemplo: Acceder a una base de datos remota en localhost:3306

Puerto Local 3306 → Servidor Remoto → Base de Datos:3306

Reenvío Remoto (Remote Forward)

Reenvía un puerto del servidor remoto a tu máquina local. Útil para exponer servicios locales al servidor remoto.

Ejemplo: Hacer disponible tu servidor de desarrollo local en el servidor remoto

Servidor Remoto:8080 → Tu Máquina → localhost:3000

Reenvío Dinámico (Proxy SOCKS)

Crea un proxy SOCKS a través de la conexión SSH. Útil para enrutar tráfico a través del servidor remoto.

Ejemplo: Navegar como si estuvieras en la red del servidor remoto

Apps Locales → Proxy SOCKS:1080 → Servidor Remoto → Internet

Configurar Reenvío de Puertos

Al Crear/Editar Conexión

  1. Crea o edita una conexión SSH
  2. Encuentra la sección de reenvío de puertos
  3. Haz clic en añadir nuevo reenvío
  4. Configura los ajustes (ver abajo)
  5. Guarda la conexión

Ajustes de Reenvío Local

  • Puerto Local: Puerto en tu máquina (ej: 3306)
  • Host Remoto: Hostname de destino (ej: localhost o db.internal)
  • Puerto Remoto: Puerto en el destino (ej: 3306)

Ajustes de Reenvío Remoto

  • Puerto Remoto: Puerto en el servidor SSH (ej: 8080)
  • Host Local: Hostname de destino (usualmente localhost)
  • Puerto Local: Puerto en tu máquina (ej: 3000)

Ajustes de Reenvío Dinámico

  • Puerto Local: Puerto del proxy SOCKS en tu máquina (ej: 1080)

Casos de Uso Comunes

Acceso a Base de Datos

Accede a una base de datos que solo es accesible desde el servidor:

  1. Añade reenvío local
  2. Puerto local: 5432 (o cualquier puerto disponible)
  3. Host remoto: db.internal (o localhost si la BD está en el servidor SSH)
  4. Puerto remoto: 5432
  5. Conecta con tu cliente de BD a localhost:5432

Panel de Administración Web

Accede a paneles web disponibles solo internamente:

  1. Añade reenvío local
  2. Puerto local: 8080
  3. Host remoto: admin.internal
  4. Puerto remoto: 80
  5. Abre http://localhost:8080 en tu navegador

Servidor de Desarrollo

Comparte tu servidor de desarrollo local con el servidor remoto:

  1. Añade reenvío remoto
  2. Puerto remoto: 3000
  3. Host local: localhost
  4. Puerto local: 3000
  5. Accede a tu app en el servidor remoto en el puerto 3000

Proxy SOCKS para Navegación

Enruta el tráfico del navegador a través del servidor remoto:

  1. Añade reenvío dinámico
  2. Puerto local: 1080
  3. Configura tu navegador para usar proxy SOCKS5: localhost:1080
  4. El tráfico del navegador se enruta a través del servidor remoto

Gestionar Reenvíos

Ver Reenvíos Activos

Cuando estás conectado, puedes ver qué reenvíos de puertos están activos en los detalles de la conexión.

Múltiples Reenvíos

Puedes configurar múltiples reenvíos de puertos en una sola conexión:

  • Múltiples reenvíos locales
  • Múltiples reenvíos remotos
  • Reenvío dinámico (típicamente solo uno)

Editar Reenvíos

  1. Edita la conexión SSH
  2. Modifica la configuración de reenvío de puertos
  3. Guarda la conexión
  4. Reconecta para aplicar cambios

Solución de Problemas

Puerto Ya en Uso

Si un puerto local ya está en uso:

  • Elige un puerto local diferente
  • Encuentra y detén el proceso usando el puerto
  • Usa lsof -i :PUERTO (macOS/Linux) para encontrar el proceso

Reenvío No Funciona

  1. Verifica que la conexión SSH esté establecida
  2. Verifica que el servicio remoto esté en ejecución
  3. Comprueba los permisos del firewall
  4. Verifica que el host y puerto sean correctos

Conexión Rechazada

Si obtienes conexión rechazada al conectar al puerto local:

  1. Asegúrate de que el reenvío de puertos esté activo
  2. Verifica que la conexión SSH siga activa
  3. Comprueba que el servicio de destino esté en ejecución

El Proxy SOCKS No Funciona

  1. Verifica que la aplicación soporte proxy SOCKS5
  2. Comprueba la configuración del proxy (host: localhost, puerto: tu puerto)
  3. Algunas apps requieren configuración DNS del proxy

Consideraciones de Seguridad

  1. Los puertos reenviados evitan firewalls - Ten cuidado con lo que expones
  2. Los reenvíos remotos abren puertos en servidores - Solo úsalos cuando sea necesario
  3. El proxy SOCKS enruta todo el tráfico - Puede exponer información sensible
  4. Cierra túneles cuando no sean necesarios - Desconéctate cuando termines