bambouville

Reenvío de puertos

El reenvío de puertos local te permite llegar a los servicios que hay detrás de tu servidor — una base de datos, un notebook, un servidor de desarrollo — desde tu dispositivo como si fueran locales.

Añadir una regla

Abre un host en el editor y ve a la pestaña de reenvío. Cada regla consta de:

  • puerto local — el puerto en tu dispositivo (debe ser 1024 como mínimo; el sandbox de iOS no puede enlazar por debajo),
  • host remoto — tal como lo ve el servidor SSH (por omisión localhost),
  • puerto remoto,
  • una etiqueta opcional,
  • iniciar automáticamente al conectar.

Los ajustes predefinidos cubren los sospechosos habituales: jupyter 8888, postgres 5432, mysql 3306, redis 6379, web 3000, web 8080.

Los puertos locales no pueden repetirse dentro de un mismo host. Los cambios en las reglas se aplican en vivo a un host ya conectado.

La pestaña de reenvío del editor de hosts con una regla: puerto local 8080 hacia localhost:18080, etiquetada dev server, con su conmutador de activación.
Una regla guardada en la pestaña de reenvío del editor de hosts, con su conmutador de activación y su estado actual.

La página de túneles

La página de túneles de la barra lateral reúne todas las reglas de reenvío de todos tus hosts, agrupadas por host con su estado conectado/desconectado. Cada regla muestra su estado (p. ej. «escuchando · 0 activas»), contadores de bytes ↑/↓ en vivo, un conmutador de activación y un botón para abrir los puertos de tipo HTTP en Safari.

Dentro de una sesión, una ficha ⇄ N en la barra superior muestra el mismo estado para ese host.

En el iPhone, los túneles son visibles desde la barra superior de la sesión, pero las reglas se crean y se editan en el iPad.

La página de túneles con una regla de reenvío, 8080 hacia localhost:18080 etiquetada dev server, agrupada bajo un host conectado y mostrando su estado de escucha con un conmutador de activación.
Todas las reglas de todos los hosts, agrupadas por host, cada una con su estado en vivo y su conmutador.

Usar un túnel

Cuando una regla está escuchando, apunta cualquier app del dispositivo a localhost:<local port> — un navegador para un servidor de desarrollo, un cliente de Postgres para una base de datos. El tráfico viaja dentro de la conexión SSH hasta tu servidor, que a su vez se conecta al host:puerto remoto.

Mosh y el reenvío

Las reglas de reenvío viajan sobre la conexión SSH. Con el transporte mosh:

  • los modos de inicio tmux automático y tmux con nombre mantienen un canal lateral SSH para tmux, y el reenvío funciona a través de él.
  • el modo de inicio personalizado no tiene ninguna conexión SSH por la que llevar los reenvíos, así que añadir reglas está desactivado — cambia el modo de inicio a tmux automático o tmux con nombre.

Límites

  • El puerto local debe ser ≥ 1024 (sandbox de iOS).
  • No puede haber puertos locales duplicados por host.
  • El reenvío es solo de local a remoto; no hay reenvío remoto (-R).