La reunion sobre VPN’s fue un exito!, todo funciono a la perfeccion, aqui les pongo una peque;a receta para montar una VPN de manera facil. La info tambien la pueden encontrar en la pagina del GulCOL.
A continuacion se listaran una serie de pasos para poder conseguir que nuestra VPN funcione!.
1. Descargamos e instalamos el paquete openvpn :
#apt-get install openvpn
2. Instalamos el paquete lzop para comprimir los datos
#apt-get install liblzo1 lzop
3. Despues tenemos que generar nuestra clave para nuestra VPN
# openvpn –genkey –secret clave.key
Y la movemos a /etc/openvpn/
4. Ahora pasamos nuestro archivo a la otra computadora (2 nodo), aqui utilizaremos el programa scp (porque encripta la informacion).
# scp /etc/openvpn/clave.key root@ip_segundo_nodo:/etc/openvpn/clave.key
Si les marca un error al copiar, hay que crear primero la carpeta /etc/openvpn y despues ejecutar el comando.
Tenemos que tener mucho cuidado como mandamos nuestro archivo clave.key , debido a que esta será nuestra contraseña para la VPN, asi que ni se les ocurra mandarla por mail, http, ftp o algun medio que no sea seguro.
5. Cargamos el modulo tun (__Universal TUN/TAP device driver support__)
#modprobe tun
Si les dice que no encuentra el modulo, a compilar el kernel!… este modulo esta en: Device __Drivers -> Networking support__ o algun luga parecido.
6. Comprobamos que exista la siguiente liga: /dev/net/tun , si no existe procedemos con:
# mknod /dev/net/tun c 10 200
7. Creamos nuestro archivo de configuracion para la VPN, en general debemos de tener algo como esto:
local [ip local]
remote [ip remota]
dev tun0
port 5000 [puerto elegido, puedes cambiarlo]
comp-lzo
user nobody
ping 15
ifconfig [ip del tunel local] [ip del tunel remoto]
secret /etc/openvpn/clave.key
Veremos que significa lo de las ip’s. La ip local ponemos nuestra direccion ip de la tarjeta eth0 o la direccion de la interfaz que tiene salida a internet.
En ip remota ponemos la direccion a la cual nos queremos conectar, se recomienda que sea algo fijo para no andar moviendo cada rato al archivo, en caso que tengamos algun enlace externo y la ip cambie cada rato, les recomiendo que saquen una cuenta en dynds o en no-ip, si tenemos un dominio pues en lugar de la ip, ponemos el nombre del dominio. Si estas detras de un router este debe de tener NAT y routear los puertos que se eligan a la maquina VPN, hay que recordar que estamos usando UDP.
En la seccion donde dice ip del tunel local ahi tenemos que crear nuestras propias direcciones ip (privadas) para la VPN, y bueno como su nombre lo dice en local ponemos la ip del nodo 1, y en remota la de nodo 2 (facil no??).
Por ejemplo si nuestro nodo 1 tenemos la siguiente dirección en eth0: 192.168.0.5 y la cuenta en dynds se llama nodo1.ath.cx, en el nodo 2 tenemos: 192.168.0.10 y el dominio es nodo2.ath.cx, las direcciones privadas para la vpn es para el nodo 1 10.0.0.1 y para el nodo 2 es 10.0.0.2, sabiendo esta información procedemos a crear los archivos de configuración.
a) En el nodo 1 ponemos lo siguiente en el archivo /etc/openvpn/tunel.conf
local 192.168.0.5
remote nodo2.ath.cx
dev tun0
port 5000
comp-lzo
user nobody
ping 15
ifconfig 10.0.0.1 10.0.0.2
secret /etc/openvpn/clave.key
b) En el nodo 2 ponemos lo siguiente en el archivo /etc/openvpn/tunel.conf
local 192.168.0.10
remote nodo1.ath.cx
dev tun0
port 5000
comp-lzo
user nobody
ping 15
ifconfig 10.0.0.2 10.0.0.1
secret /etc/openvpn/clave.key
8. Ejecutamos el siguiente comando en los 2 nodos.
#openvpn –verb 5 –config /etc/openvpn/tunel.conf
El parametro –verb nos permite ver la informacion que arroja el programa openvpn, si agregamos el parametro –daemon significa que se ejecutará en 2 plano (como demonio), ahora si vemos algo que dice: Peer Connection Initiated with [ip remota]:[puerto] entonces ya funciono!.
Si les marca algun error que la dirección ip local ya esta ocupada entonces reiniciamos la maquina, y si sigue sin funcionar entonces nos avisan jeje.
9. Se debe de crear un archivo en rc.d o init.d llamado openvpn, solo lo agregamos a nuestros procesos de arranque y listo!!.., tenemos que tener nuestra VPN funcionando a la perfeccion, si queremos probar si realmente funciona solo demos un ping a la ip del tunel remoto.
Esta receta se basa en las siguientes paginas:
* http://www.javier-gonzalez.com/articulos/openvpn/
* http://madridwireless.net/docs/openvpn/openvpn-howto.html
* http://openvpn.net