En este tutorial vamos a configurar una VPN
entre un servidor y un cliente. En mi caso el servidor de VPN será un
equipo con Windows 7, es posible hacerlo mediante un router que admita
VPN, o incluso mediante un Servidor Linux, Mac, Windows XP, etc..
Para el cliente usaré un Mac con Mountain Lion instalado.
Para el servidor usaremos openVPN, por su facilidad de configuración y por ser gratuito. Puedes descargarlo aquí:
Para el cliente usaremos tunnelblick que permite el uso de openVPN en MacOS. Puedes descargarlo aquí: https://code.google.com/p/tunnelblick/
Lo pasos generales a seguir serán:
1 Descargar e instalar ambos
2 Crear las claves necesarias para servidor y clientes
3 Crear los ficheros de configuración que se usaran en las conexiones de servidor y clientes.
4 Preparar la conexión Bridging en el servidor.
5 Testear y lanzar las conexiones.
1 Descargar e instalar ambos.
En este punto no hay nada reseñable, tan solo que en nuestro Windows 7
tendremos que editar las propiedades del ejecutable openVPN GUI y
activar que se pueda ejecutar como administrador. (Botón derecho sobre
el)
2 Crear las claves necesarias para servidor y clientes. Necesitaremos crear las siguientes claves y certificados:
1 Certificado y clave para Master Certificate Authority (CA) : Abrimos línea de comandos, e iremos al path c:\Program Files\openVPN\easy-rsa
Ejecutamos:
init-config (copia el fichero vars.bat en vars.bat.sample)
Editamos el fichero vars.bat y modificamos las entradas KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG y KEY_EMAIL
Ejecutamos:
vars
clean-all
build-ca (Con esto hemos creado las claves y certificados para la CA).
2 Certificado y clave para Servidor: ejecutamos el comando build-key-server server
para crear las claves del servidor. Aquí a veces podemos encontrar un
problema con la generación de claves si repetimos esta tarea varias
veces, para ello es importante que usemos TODOS los datos que se nos
pide de manera igual tanto en el cliente como en el servidor, A
EXCEPCIÓN del grupo que es preferible poner algo distinto para cada
certificado.
3 Certificado y clave para cada uno de los clientes que se vayan a conectar: igual que para el servidor, pero ejecutando el comando build-key client , donde client será un nombre distinto para cada uno de los clientes que queramos conectar.
4 Por último generamos los parámetros Diffie Hellman: ejecutando el comando build-df
Una vez creados los
ficheros con los certificados y las claves los copiamos en su lugar
correspondiente. Todos estos ficheros se generan y se guardan en la
carpeta keys dentro de easy-rsa. En principio los del servidor se
copiarán en la carpeta config y son ca.crt, dh{1}.pem, server.crt y
server.key.
3 Preparar la conexión Bridging en el servidor.
Cuando realizamos la instalación de openVPN se nos ha añadido un nuevo
adaptador a los adaptadores de red de nuestro Windows. En este caso un
adaptador llamado TAP-Win32. Lo renombraremos a MyTAP.
La idea aquí será
trabajar con los dos adptadores, el físico correspondiente a nuestra
tarjeta de red y el TAP añadido creando un bridge entre los dos. Para
ello seleccionando ámbos adaptadores a la vez y pulsando con el botón
derecho podremos seleccionar la opción Bridge Conections. Aparecerá un
nuevo adaptador del tipo bridge. A este adaptador le daremos una
configuración IP, que será la IP de nuestro Servidor VPN. En mi caso
192.168.1.3.
En este punto hay que
decir que hay que tener cuidado con coger redes de este tipo, es decir
192.168.1.x, ya que si la red desde la que conectamos posee un rango de
este tipo crearemos problemas en la VPN, ya que cuando hablemos de una
ip dada de ese rango, no sabrá decir en que subred está, en la local o
en la remota.
4 Crear los ficheros de configuración que se usaran en las conexiones de servidor y clientes.
Para ello iremos a la carpeta simple-config y allí encontraremos
ejemplos para el servidor y para el cliente. Los copiamos también a la
carpeta config y los editamos para configurarlos.
Abrimos el fichero server.ovpn y lo configuramos. Los puntos a tocar serán:
Comentamos dev tun (añadir un ; para que quede así ;dev tun)
Descomentamos
dev tap
dev-node MyTAP
Comentamos la línea que empieza por server
Descomentamos server-bridge y la dejamos así:
Server-bridge 192.168.8.4 255.255.255.0 192.168.8.128 192.168.8.254
Lo que indica la IP y mascara del servidor VPN y el rango de IPs a servir a los clientes.
No olvidar desactivar el filtrado del firewall para el bridge y el TAP.
Grabamos y abrimos el
fichero client, en este caso tan solo tendremos que indicar la IP del
servidor VPN así como el puerto a usar, el resto debe ponerse igual que
para el servidor.
5 Copiar los ficheros necesarios en el cliente.
En este paso crearemos una conexión vpn para tunnelblick. Para ello
abrimos tunnelblick y en la ventana que aparece escogemos la opción
Tengo Archivos de Configuración, y en la siguiente opción
Cofiguración(es) VPN
Se abre entonces una
carpeta donde copiaremos los certificados, clave y fichero de
configuración creados para el cliente previamente: client.crt,
client.key, ca.crt y cliente.ovpn
Una vez copiados los
ficheros dentro de la carpeta le ponemos un nombre representativo para
la conexión y añadimos una extensión del tipo tblk, por ejemplo
miVPN.tblk, de esa forma se crea un paquete de configuración al que
haremos doble click para instalar en tunnelblick.
6 Testear y lanzar las conexiones.
En este paso podemos testear las conexiones haciendo click con el botón
derecho sobre los ficheros del Servidor y del cliente y escogiendo la
opción Iniciar OpenVPN con este fichero de config. En el caso del
servidor deberemos obtener una pantalla similar a esta:
Lo mismo con el fichero del cliente
Una vez todo este ok
podemos lanzar las conexiones, primero en el servidor para que quede
escuchando, lo cual podemos hacerlo desde el icono de openVPNGUI justo
al lado del reloj y en el cliente a través del icono tunnelblick y
escogiendo la VPN configurada.
No hay comentarios:
Publicar un comentario