Abro una máquina virtual Ubuntu, la pongo en puente he instalo el paquete OpenVPN. Lo primero es hacer un apt-get update para actualizar los repositorios, y luego un apt-get install openvpn.
Se podría descargar directamente de la página web, usando el comando wget y poniendo la página web, pero en este caso lo cogemos de los repositorios.
Hay que averiguar dónde está el archivo de configuración y para ello ponemos el comando find / -name openvpn. Con eso te muestra todos los archivos que tienen alguna relación con openvpn.
Nos vamos al archivo /usr/share/doc/openvpn/examples, dentro de ese a simple-config-files y ahí tenemos que descomprimir el archivo server.conf.gz con gunzip.
En principio el archivo no hay que tocarlo.
Nos vamos ahora al archivo /usr/share/doc/openvpn/examples y nos metemos en sample-keys.
Copiamos el ca.crt, server.crt.gzt, server.key y el dh1024.pem dentro de /etc/openvpn. Y descomprimimos el server.crt.gz con el gunzip.
Nos vamos ahora al cliente e instalamos el winscp. Porque tenemos que llevarnos los certificados del cliente a la carpeta de configuración del vpn. Nos conectamos al servidor poniendo su ip.
Nos vamos a la ruta donde están los certificados para pasarlos al cliente /usr/share/doc/openvpn/examples/simple-keys y traspaso el ca.crt el client.key y el client.crt.gz.
Me voy a la ruta c:\Archivos de programa\OpenVPN\config y copio los certificados junto con el archivo de cliente que se encuentra en c:\Archivos de programa\OpenVPN\sample-config.
Vamos a crear otra red y hacer que el cliente se conecte por vpn. Para ello nos vamos al archivo de configuración. /etc/openvpn/server.conf. Descomentamos la línea señalada, indicamos la red a la que queremos llegar.
Nos conectamos por VPN y comprobamos en el cliente con la tabla de encaminamiento que ya se puede acceder a la red con el comando route print.
Nos vamos al archivo vars que se encuentra en /usr/share/easy-rsa y modificamos los datos del certificado.
Lo siguiente que hacemos es ejecutar el archivo para que se exporten las variables y lo hacemos con . vars y luego ./clean-all.
Nos pregunta si queremos que el certificado este firmado por una autoridad certificadora, y le decimos que sí, y luego nos pregunta si queremos confirmarlo y decimos que sí.
El siguiente es el build-dh.
El siguiente es el del cliente que lo llamaremos cliente1, e igual que con él servidor le decimos que lo firme una entidad certificadora y lo confirmamos.
Si nos vamos a /usr/share/easy-rsa/keys y hacemos un ls allí encontramos los certificados creados. Vamos a copiar los del servidor, el ca y el dh a /etc/openvpn.
Lo siguiente que hay que hacer es modificar el dh1024.pem por el dh2048.pem en el archivo de configuración /etc/openvpn/server.conf y restablecemos el servicio.
Lo siguiente es copiar los certificados del cliente en el cliente. En este caso, seguimos usando winscp para copiarlos. No nos deja entrar en el directorio keys, así que vamos a darle permisos con chmod 644 keys y también a cliente1.key.