VPN en Raspberry Pi. Acceso remoto seguro.

¿Por qué queremos instalar un servidor OpenVPN en Raspbian y/o para que sirve?

Tener un servidor OpenVPN doméstico nos ofrecerá dos funcionalidades interesantes:

1) Anonimizar conexiones.
2) Acceder a recursos internos de nuestra red local desde el exterior.

La implementación de este servicio puede resultar tediosa si se realiza a mano realizando los pasos individualmente uno por uno:

Crear una autoridad certificadora y generar certificados con easy-RSA
Configuración del servidor OpenVPN en Raspbian
Configurar IP forwarding en la Raspberry Pi
etc…

Existen en la red multitud de tutoriales al respecto.-

Montar un servidor casero con Raspberry Pi (Parte 7): Instalación y configuración de OpenVPN

Instalando OpenVPN server en una Raspberry Pi

Bien, tras algunas pruebas e instalaciones encontre en la red un “script” en github que realiza todo el proceso de forma automatica y sencilla siguiendo los pasos de un asistente y respondiendo a unas sencillas consultas que nos realizara durante su ejecución.

La información esta extraida en su totalidad de GitHub.-

Enlace de interes.-
https://github.com/StarshipEngineer/OpenVPN-Setup

Montando una VPN en Raspberry Pi con OpenVPN-Setup

1.- Configuración de servidor

Podemos descargar el script OpenVPN setup directamente desde terminal o ssh usando Git. Si todavia no lo tienes, actualiza tus repositorios APT e instalalo:

#sudo apt-get update
#sudo apt-get upgrade
#sudo apt-get install git

Entoces descargamos el ultimo script setup a traves de la linea de comandos:

#cd
#git clone git://github.com/StarshipEngineer/OpenVPN-Setup

Ejecutamos el script con:

#cd OpenVPN-Setup
#sudo chmod +x openvpnsetup.sh
#sudo ./openvpnsetup.sh

Responde las cuestiones que realiza el script para instalar el servicio y la entidad certificadora.

2.-Fabricando perfiles de clientes

Después de que la configuración del lado del servidor haya terminado y tras reiniciar la máquina, es posible utilizar el script MakeOVPN para generar los perfiles .ovpn que posteriormente habra que importar en cada una de sus máquinas cliente.

Para generar nuestro primer perfil de cliente, ejecute el comando openvpnsetup una vez más y seleccione la opción 02 en el menú  o bien podemos asegurarnos que el script MakeOVPN.sh es ejecutable y ejecutarlo.

#sudo ./openvpnsetup.sh

Se nos pedirá que introduzcamos un nombre para nuestro cliente. Introducimos todo la información que deseemos pulsamos ‘Enter’.

Se nos pedirá que introduzcamos un password para el acceso futuro de este cliente; asegurate de introducir uno que recordaras.

Se nos pedirá a continuación la entrada en más campos de identificación que podemos pasar por alto si se quiere.

Asegurarse de dejar en blanco el campo “desafio”. El script nos preguntará entonces si desea firmar el certificado de cliente y si estamos seguros; pulsamos ‘y’ para ambos.

A continuación, se nos pedirá que introduzca el password que acaba de elegir con el fin de cifrar la clave de cliente, e inmediatamente después, se nos pedira elegir otro password para la clave de cifrado. ( si eres normal, sólo tienes que utilizar la misma. )

Después de esto, el script crea el archivo .ovpn cliente que encontraras en el directorio “ovpns” dentro de su directorio de usuario.

Podemos generar perfiles de cliente .ovpn adicionales en cualquier momento para otros dispositivos que deseemos conectar a la VPN.

Para ello iremos al directorio donde tengamos el script OpenVPN-setup y lo ejecutamos para seleccionar la opción de menú 02. ( Repetir los pasos anteriores para cada cliente que deseemos conectar )

3.- Importación de perfiles .ovpn en las máquinas cliente

Para mover un perfil de cliente .ovpn a Windows podemos utilizar un programa como WinSCP o Cyberduck.

Debemos tener en cuenta que es posible que necesitemos permiso de administrador para mover archivos a algunas carpetas en nuestra máquina Windows, por lo que si usted tiene problemas para transferir el perfil a una carpeta en particular con su programa de transferencia de archivos elegido, debera moverlo otra carpeta como por ejemplo “escritorio” y posteriormente llevarlo a la ubicación correcta.

Para mover un perfil para Android, puede recuperarlo en el PC y luego moverlo a su dispositivo a través de USB, o puede utilizar una aplicación como Turbo FTP y SFTP para recuperarlo directamente desde su dispositivo Android.

Para importar el perfil de OpenVPN en Windows, descargar el software OpenVPN GUI desde la sección de descargas de la comunidad de openvpn.net, instalarlo, y colocar el perfil en la carpeta ‘config’ del directorio de OpenVPN, es decir, en “C: \ Archivos de programa \ OpenVPN \ config ‘.

Para importar el perfil en Android, instalar la aplicación OpenVPN Connect, seleccione “Importar” en el menú desplegable en la esquina superior derecha de la pantalla principal, seleccione el directorio en el dispositivo donde almacenó el archivo .ovpn y seleccione la archivo.

Después de la importación, para conectarse al servidor VPN en Windows debe ejecutar OpenVN GUI con permisos de administrador, haga clic en el icono en la bandeja del sistema, y haciendo clic en “Conectar”, o en Android seleccionando el perfil bajo ‘OpenVPN Perfil’ y pulsando ‘Conectar’.

Se le pedirá que introduzca la frase de paso que eligió. Al introducirla, tras unos breves segundos de negociación, estaremos conectados desde el exterior a nuestra red local como si de un equipo se tratara.

Ya podemos conectar por telnet, ftp, escritorio remoto, etc a cualquier dispositivo de nuestra red local de forma totalmente segura.

4.- Eliminaciçon de OpenVPN

Si en algún momento deseamos eliminar OpenVPN de nuestra RasPi y volver a un estado anterior a la instalación, vamos al directorio del script, lo ejecutamos y seleccionamos la opción 03.