Transbordador SSH
Recientemente he usado la herramienta sshuttle y he quedado bastante satisfecho con la misma. Os comento algunos detalles por si la veis de utilidad.
En diversas ocasiones es posible que os hayáis encontrado que tenéis un acceso SSH a un servidor en otra red. Este servidor tiene visibilidad de esa red y lo necesitáis para ‘hacer de puente’. En esta situación se pueden hacer varias cosas:
- Conectaros al servidor por SSH y hacer las cosas desde ahí. Si usáis
ssh -Xpodréis incluso tener un entorno gráfico, aunque dependéis de las utilidades instaladas en ese equipo. - Hacer un túnel SSH a través de este servidor al servidor remoto que os apetezca conectaros (
ssh -R). - Hacer un túnel SSH a través de este servidor con interfaz SOCKS, de manera que puedas usar aplicaciones que soporten este tipo de proxy (
ssh -D) - Hacer un túnel SSH crenado interfaces tun (
ssh -w), que es necesario hacerlo como root - Usar sshuttle, que es más cómodo y fácil y empieza a ser mi favorito
Las ventajas principales de esta última solución es que no necesitas ser root y que puedes limitar qué redes vas a enrutar por el túnel. A efectos prácticos, es como si tu equipo fuera el servidor remoto para las redes que tú le digas.
Además te ahorras tener que estar cambiando la configuración de navegadores cada dos por tres o cambiando rutas a mano, etc.
La cosa funciona así de fácil:
sshuttle -r servidor_ssh 10.0.0.1/8 172.16.0.1/16
Con este comando le estás diciendo que para llegar a las redes citadas vaya a través del túnel SSH creado con servidor_ssh.
Lo único que necesitas es tener Python instalado en el servidor (que todos lo suelen tener por defecto) y que el servidor SSH te deje hacer túneles, claro.
