[Nota]: en todo el proceso vas a necesitar privilegios de root
Preparando el terreno
Para poder utilizar un servidor SSH para hacer una VPN, tendremos que hacer algunos cambios:
El primero es cargar el modulo del kernel "tun" (si aparece al hacer lsmod|grep tun , no hace falta), esto se puede hacer con
modprobe tun
Despues vamos a /etc/ssh/sshd_config y comprobamos que los parametros PermitRootLogin y PermitTunnel esten activados (yes)
Y reiniciamos el servidor SSH
Levantando la VPN
Se establece una conexion SSH con el servidor de una forma parecida a la que se utiliza para usarlo de proxy:
ssh -w <interface local>[:<interface remota>] [<usuario> @]<host>
Las interfaces seran las que conecten la VPN, se pueden especificar a traves de un numero (que no puede estar en uso), o "any" (para utilizar la primera "no ocupada").
[Nota]: Siempre se va a necesitar una cuenta root en el servidor (ya que se crean nuevas interfaces)
Automaticamente, se crearan interfaces tunel (del tipo point to point) en el cliente y en el servidor (por ejemplo seran tun0 y tun1, aqui para abreviar,usaremos tunC para la del cliente y tunS para la del servidor)
Pues bien, una vez creadas hay que conectarlas, suponiendo que la VPN vaya a utilizar la subred 10.0.0.0, que el servidor vaya a utilizar la IP 10.0.0.1, y el cliente 10.0.0.9, habria que hacer:
En el cliente:
ifconfig tunC 10.0.0.9 pointopoint 10.0.0.1
En el servidor:
ifconfig tunS 10.0.0.1 pointopoint 10.0.0.9
(La "formula general" seria
ifconfig <interfaz tunel> <IP local> pointopoint <IP remota>
)Y ya esta, se acabo el SSH! (al menos por ahora ;)} )
[ Referencias ]
http://prefetch.net/
http://fermiparadox.wordpress.com/
No hay comentarios:
Publicar un comentario