Partamos de uno de estos supuestos:
- Estás conectado a una red de cuya seguridad no te fías, pero tienes un servidor seguro en algún sitio al que podrías conectarte.
- Estás en una red con conectividad limitada, pero puedes conectarte a un servidor con salida a internet
¿Tienes una opción para conectarte de forma segura? Sí. Puedes hacer una llamada «poor man’s VPN» sobre un tunel SSH ¿Cómo hacemos esto? Bueno, lo primero es que el servidor contra el que vamos a conectarnos tenga habilitados tanto la posibilidad de hacerse root de forma remota como la posibilidad de tunneling y la redirección de puertos. Todo esto lo podéis poner a funcionar en el archivo /etc/ssh/sshd_config, poniendo PermitRootLogin yes y PermitTunnel yes y luego reiniciando el servicio sshd (suponiendo que trabajéis con un servidor Linux, claro). Por seguridad podéis (deberíais) configurar unas claves SSH
Una vez esté todo eso habilitado toca empezar a configurar el cliente (vamos de nuevo con Linux) desde el que queremos conectarnos. Necesitamos saber la IP del servidor al que nos conectamos, en el ejemplo vamos a poner una ficticia que sería 83.112.23.4X. La máscara de red también tiene que ser la pertinente para vuestra configuración de conexión:
#abrimos un tunel ssh al servidor (vosotros poned la IP de vuestro server) sudo ssh -f -w any 83.112.23.4X true #asignamos una ip al tunel (ip local típica, en vuestro caso la que corresponda asegún la configuración) sudo ifconfig tun0 192.168.0.2 192.168.0.1 netmask 255.255.255.0
Tras esto es necesario tener configurado el tunel en el servidor
# la misma asignación que en el server, pero invirtiendo las ip's de los dos puntos del tunel sudo ifconfig tun0 192.168.0.1 192.168.0.2 netmask 255.255.255.0 # habilitamos el reenvío de paquetes echo 1 > /proc/sys/net/ipv4/ip_forward # habilitamos el enmascaramiento sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
Finalmente toca acabar de configurar el enrutamiento en el cliente, en este ejemplo la puerta de enlace será 10.1.1.1, para vuestra configuración usad la que toque. La cosa es borrar la ruta previa a la puerta de enlace para usar la del tunel:
sudo ip route add 10.0.0.0/8 via 10.1.1.1 sudo ip route del default via 10.1.1.1 dev eth0 sudo ip route add default via 192.168.0.2
Ya sólo te queda comprobar si la conexión está funcionando bien.