miércoles, 6 de junio de 2012

SSH Tunneling

abriendo el mundo

Hola!, os voy a explicar brevemente como hacer para acceder a cierto servicio/puerto, detrás de un firewall/ruter que solo tiene abierto el puerto 22 (SSH). Esto es muy útil y seguro, y como ejemplo: mi RaspberryPi.

Supongamos la siguiente red:

En el ruter tengo configurada una ruta nat del puerto 22 a la ip de lan 192.168.1.2, pero quiero poder acceder al interfaz web (puerto 80) del NAS, que no esta enrutado ni pretendo hacerlo. Pues es muy fácil:

Conecto via SSH con el parametro -L:
ssh pi@TU_HOST.dyndns.org -L 2233:192.168.1.5:80
el primer puerto (elige cualquiera que no esté en uso) es el que temporalmente voy a tunelizar.
Ahora en el navegador web de la oficina me meto en:
http://localhost:2233
Y listo :) ya tengo el interfaz web de gestión del NAS, sin rutar más puertos que el ssh :)
En sucesivos post iré comentando otras formas de tunelizar para servicios más complejos.

Actualización: tunel ssh desde Putty

Es posible que tengas la mala suerte de tener que usar Putty desde un Windows para hacer el tunel, como ya es tortura suficiente tener que usar este ¿sistema operativo? te cuento como tienes que actuar:
Abre el putty y ve a "connection - SSH - tunnels"
En source port tienes que poner un puerto que no tengas en uso, por ejemplo el 5875. En destination, tienes que poner la ip local y el puerto del servicio al que quieras tunelear, en nuestro ejemplo: 192.168.1.5:80
Ahora vuelve a "Session" y conecta contra tu RaspberryPi
Como siempre, te pide usuario y clave. Cuando hayas conectado, abre un navegador en tu Windows (por Crom que no sea IExplorer) y ve a la web http://localhost:5875

2 comentarios:

  1. Imagino que el puerto 5875 en este caso, tiene que estar abierto en el NAT del router, ¿no?

    Todo esto es básicamente para evitar abrir el puerto 22 y dejar vulnerable nuestro servidor, no?

    ResponderEliminar
    Respuestas
    1. Espera, que ya me respondo a mí mismo a la absurda pregunta.

      Esto sirve para acceder a cualquier puerto del raspi abriendo solo el puerto 22 en el router.

      Eliminar