viernes, 31 de mayo de 2013

OpenVPN sobre Debian 7 Wheezy Stable

En esta ocasión vamos a instalar un servidor VPN sobre la recién salida (de forma estable) Debian 7 Wheezy.

Instalamos OpenVPN
#aptitude install openvpn

















Copiamos unos scripts:
#cp -r /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn




Accedemos a "/etc/openvpn/easy-rsa/2.0" y cremos el directorio "keys"
#mkdir keys
Damos permisos a todo el directorio  "/etc/openvpn/easy-rsa/2.0"
chmod -R 777 *






















Ejecutamos "#source ./vars" para que las variables sean variables globales.
Ejecutamos ./clean-all






Creamos la autoridad de certificación:
#./build-ca
















Generamos la clave privada para el servidor:
#./build-key-server "nombrequequeramosparaelservidorvpn"






















Generamos al clave (o certificado) de intercambio, usando el algoritmo de "diffie hellman".
#./build-dh
















Certificado para el cliente
#./build-key usuario1





























Accedemos a /etc/openvpn/keys.

Copiamos los certificados:
#cp ca.crt /etc/openvpn/
#cp ca.key /etc/openvpn/
#cp dh1024.pem /etc/openvpn/
#cp peasodebian.crt /etc/openvpn/
#cp peasodebian.key /etc/openvpn/







Ahora vamos a proceder a la configuración de OpenVPN.

Ejecutamos "#gunzip -d /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz"




Copiamos el archivo "server.conf" que se acaba de descomprimir a "/etc/openvpn":




Lo editamos de la siguiente forma (ponemos lo mismo que cuando ejecutamos #./build-key-server):








Copiamos el archivo "client.conf" al directorio /root:




Editamos el "client.conf" copiado en "/root" (En nuestro caso el usuario de ejemplo es "usuario1"):



Copiamos el fichero de configuración del cliente "client.conf", la llave y el certificado (.key y .crt), la llave de la autoridad certificadora(ca.crt) en el equipo del cliente, en este caso estamos usando el mismo.




*Se copia tambien el ".csr" pero no es necesario, simplemente se ha puesto el "usuario1.*" por comodidad.

Reiniciamos el servicio:




Ya tenemos listo nuestro servidor listo para conectarnos.

Próximamente entrada en el blog de como conectar el cliente.

Saludos.















3 comentarios:

  1. Muchas gracias por el tutorial, lo vamos a poner el practica. Saludos!

    ResponderEliminar
  2. Creo que faltan varios pasos.

    ¿No hay que abrir los puertos en el router? Que puerto debes abrir?
    ¿No tienes que habilitar el IP forwarding?
    ¿No tienes que configurar iptables para que enrute el tráfico?

    Un saludo

    ResponderEliminar
  3. Una pregunta en el server.conf y/o el client.conf no hay colocar la IP publica?

    ResponderEliminar