Como configurar una VPN con Raspberry Pi

Publicado por Loli Diéguez en

En este tutorial, repasaré los pasos para configurar un servidor VPN en tu Raspberry Pi 4 usando el software OpenVPN y mostraré otros aspectos de la configuración para garantizar que la conexión sea lo más segura posible.

 

 

Te comento ya, antes de que sigas leyendo, que este articulo es un poco largo, no es complicado para nada, pero hay que dar muchos pasos para conseguir lo que pretendemos con una Raspberry y OpenVPN.

 

OpenVPN

 

Usar una Raspberry Pi es una forma barata de configurar una red privada virtual (VPN) que puede permanecer on-line 24/7 sin consumir muchos recursos ni energía.

Las VPN son una herramienta de red increíblemente útil que pueden permitirte acceder al tráfico cifrado y seguro de Internet, incluso cuando utilizas Wi-Fi público.

En primer lugar, es importante saber que estoy usando una versión recién instalada de Raspbian. Si no lo ha instalados y te gustaría saber cómo, mira este otro artículo donde explico como como instalar Raspbian en Raspberry Pi.

Tienes que saber que configurar una VPN puede ser una puerta de entrada a tu red domestica, así que asegúrate que realmente la necesitas, y si lo haces, asegúrate bien de que dejas configuradas las claves de acceso con un grado alta de dificultad para que no puedan ser averiguadas.

Bien, empecemos...

Configurar la Direccion IP en el Servidor VPC

Es importante decidir si vas a utilizar una dirección IP estática o una dirección IP dinámica, configurar una VPN para una dirección IP estática es un proceso bastante simple y no requiere mucho esfuerzo.

Si eliges ir por el camino de un servicio de DNS dinámico, debes decidir si deseas utilizar tu propio nombre de dominio o uno gratuito.

Si deseas usar tu propio nombre de dominio, entonces puedes usar un servicio como CloudFlare, si vas a usar un subdominio gratuito, entonces un servicio como no-ip.org será útil para ti.

 

 

 

Redireccionamiento de puertos hacia tu Raspberry Pi

Otro aspecto importante es que tendrás que configurar un redireccionamiento de puertos de tu router hacia Raspberry Pi donde estarás ejecutando OpenVPN.

El puerto predeterminado que necesitas redireccionar es el 1194, sin embargo, te recomiendo que uses otro diferente, ya que en caso de que alguien quiera atacar tu red, los puertos conocidos son los primeros en ser escaneados en busca de fallos de seguridad, para el propósito del articulo dejare el 1194, pero ten esto que digo muy presente, si decides cambiarlo, recuerdalo, ya que lo necesitarás más adelante en el tutorial. El protocolo que tendrás que utilizar para este puerto es UDP.

Si no estás seguro de cómo hacer el reenvío de puertos en tu router te recomiendo que busques las instrucciones de tu equipo donde seguramente te lo explican.

 

Como instalar OpenVNP en Raspberry Pi

Configurar un Servidor VPN en Raspberry Pi puede ser un proceso bastante complicado, normalmente tendrías que instalar el software, generar las claves de cifrado, agregar el puerto al firewall, configurar la Pi para mantener una dirección IP estática y mucho más.

Afortunadamente, hay una manera mucho más fácil de configurar un servidor VPN Raspberry Pi gracias a un script de instalación llamado PiVPN que se encarga de todo el trabajo duro para configurar una VPN y reduce los errores que se pueden cometer.

Antes de comenzar, primero debes cambiar la contraseña del usuario pi predeterminado, así aseguras que si alguien llega hasta tu servidor no podrá acceder a él fácilmente, utiliza el siguiente comando en el terminal de Raspbian para cambiar la clave:

Passwd

 

cambio contraseña pi

 

Con la contraseña cambiada, podemos comenzar el proceso de configuración de nuestro servidor VPN en la Raspberry Pi. Ejecuta el siguiente comando, este comando descarga el script de instalación de la página de GitHubde PiVPN y lo ejecuta.

curl -L https://install.pivpn.io | bash

 

Para saber que contiene el script ve a este enlace donde encontrarás todos los detalles del mismo.

Una vez que hayas ejecutado el comando anterior verás la siguiente pantalla, selecciona OK y pulsa enter.

Proceso de configuración de VPN

 

La siguiente pantalla explica que tendrás que configurar una dirección IP estática para la Raspberry Pi, esto sirve para que cuando se reinicie la Raspberry Pi por cualquier motivo, intentará utilizar la misma dirección IP nuevamente.

Configuración IP estática en Raspberry Pi

 

Aquí, solo seleccionaremos <Aceptar>para usar la configuración de red actual como una dirección IP local estática y en la siguiente pantalla acepta si estas de acuerdo o haz los cambios pertinentes para que se muestra la direccion IP que quieres.

Aceptar la configuración IP estática

Las siguientes pantallas explican que necesitaremos establecer un usuario local para el cual se crearán las configuraciones de OVPN. Puedes seleccionar <Ok>y pasar a la siguiente pantalla donde verás una lista de usuarios que podrás elegir. 

 

Establecer un usuario local

 

En mi caso seleccionare el usuario por defecto pi, tu selecciona el que mas desees.

Ahora se te presentará una explicación de las actualizaciones desatendidas; esta característica hace que Raspbian descargue automáticamente las actualizaciones de paquetes de seguridad en tu Raspberry Pi diariamente. Esta configuración ayuda a proteger tu Raspberry Pi, esto es un aspecto realmente importante, ya que estarás dejando un puerto de tu router abierto, así que es altamente recomendable que permitas la instalación de los paquetes de seguridad de forma desatendida, así tu placa siempre estará actualizada a la ultima.

Configuración de VPN en Raspberry Pi

 

En esta pantalla, recomendamos encarecidamente seleccionar <Sí>. Dejar esta función desactivada puede suponer un riesgo de seguridad importante para tu Raspberry Pi y tu red doméstica.

Configuración de seguridad para tu Raspberry Pi

 

Ahora nos pedirá que configuremos el protocolo por el cual se ejecutará OpenVPN, haremos uso de UDP.  Solo selecciona TCP si sabes por qué lo necesitas. Pulsa enter con tu elección.

 

Configuración de protocolo para ejecutar OpenVPN

 

Ahora indicaremos el puerto por el que OpenVPN funcionará, y presionamos Ok, deja el puerto 1194 si no lo cambiaste o introduce el que configuraste para usar con OpenVPN (recuerda que si lo vas a usar de forma normal, seria conveniente que este puerto lo cambies).

Puerto por donde funcionará OpenVPN

 

La razón para cambiarlo es que si alguien realiza una exploración de puerto predeterminada en tu dirección IP, será mucho más difícil para ellos saber que tienes una VPN en funcionamiento.

 

A continuación verás una pantalla de confirmación para el número de puerto que configuraste. Si estás satisfecho con el puerto, selecciona <Sí>para continuar.

 

 

Ahora debemos elegir el tamaño de la clave de cifrado, y recomiendo dejar el valor por defecto, usar un valor mas pequeño puede reducir la seguridad de tu VPN, y usar el valor mas alto puede hacer que tu conexión sea lenta debido a los procesos de encriptación con un método de cifrado demasiado seguro (aunque en este punto tu eres quien eliges).

Confirmación del puerto que configuraste

Ahora te preguntará si deseas utilizar la versión 2.4 del software OpenVPN. Si no estás seguro de si tu aplicación cliente es compatible con 2.4, Selecciona <No>, si es compatible con OpenVPN 2.4, selecciona <Sí>  para asegurarte de que puedes utilizar todos sus beneficios.

 

Confirmar versión de OpenVPN

 

Ahora debemos decidir si queremos hacer uso de nuestra dirección IP pública o utilizar un servicio de IP dinámica como no-ip.org.

Si tiene una dirección IP dinámica, usa las teclas de flecha para navegar por el menú y usa la barra espaciadora para seleccionar la entrada de DNS antes de presionar Enter.

 

Configuración de IP externa de la Raspberry Pi

 

Si seleccionaste DNS, entonces puedes configurar tu nombre de DNS aquí, puede ser una  dirección xxxxx.no-ip.org o un nombre de dominio de tu propia elección que apunte a tu dirección IP. Deberías configurar esto antes de completar este tutorial.

Configurar el nombre de DNS en Raspberry Pi

 

El siguiente paso es seleccionar un proveedor de DNS, puedes usar uno que configures tu mismo,

Seleccionar un proveedor de DNS

 

O puedes usar los de Google.

 

DNS de Google para configurar la VPN en Raspberry Pi

 

Has completado con éxito la instalación de tu VPN de Raspberry Pi, pero todavía hay un par de cosas más que deberás completar para permitir las conexiones.

 

Instalación de OpenVPN en Raspberry Pi

 

Ahora nos saldrá una pantalla que nos solicita reiniciar la Raspberry Pi, selecciona <Sí> en las siguientes dos pantallas, ya que es crucial que se reinicie.

 

Como configurar un usuario para OpenVPN

 

Normalmente, configurar un usuario para OpenVPN sería un proceso laborioso, ya que tendríamos que generar los certificados individuales para el usuario; pero afortunadamente, podemos hacerlo con un solo comando gracias a PiVPN.

 

 

Para comenzar a agregar el usuario, ejecuta el siguiente comando:

sudo pivpn add 

En esta pantalla, deberás indicar un nombre para el cliente, y este nombre actuará como un identificador para que puedas diferenciarte entre diferentes clientes/usuarios. También te pedirá que establezcas una contraseña para el cliente, y es importante que sea segura y no fácil de adivinar, ya que esto asegurará la clave de cifrado. Si alguien puede adivinar tu contraseña fácilmente, reduce la seguridad de tu VPN.

Configurar un usuario para OpenVPN

 

Una vez que presiones Enter, el script PiVPN le dirá a Easy-RSA que genere la clave privada RSA de 2048 bits para el cliente, y luego almacena el archivo en la ruta  /home/pi/ovpns.

 

En esa ruta es a la que tendremos que acceder en los próximos pasos para poder copiar el archivo que nos permitirá conectar con nuestro servidor VPN desde un equipo en el exterior de nuestra red.

Asegúrate de mantener estos archivos a salvo, ya que son tu única forma de acceder a su VPN.

Ahora que nuestro nuevo cliente está configurado para OpenVPN, solo nos queda establecer la conexión con nuestro servidor VPN, para ellos, copia el archivo que mencionamos antes en el PC desde el que quieres establecer la conexión segura, accede a tu Rapsberry Pi por SFTP o directamente por escritorio y ve a la ruta anterior mencionada, localiza el archivo que se ha generado y copialo, el archivo tendrá la extension *.ovpn.

Dicho archivo contiene los datos que necesitaremos para conectarnos a la VPN. También es la única forma en que alguien podría tener acceso a tu VPN, por lo que es muy importante mantener la contraseña y el archivo seguro. Si alguien tiene acceso a esto, podría causar graves problemas en tu red.

 

 

Ahora que tenemos el archivo .opvn en nuestro PC, podemos usarlo para hacer una conexión a nuestra VPN.

El archivo .opvn almacena todo lo que necesitamos para establecer una conexión segura. Contiene la dirección web para conectarte y todos los datos de cifrado que necesita. Lo único que no contiene es tu contraseña, por lo que deberás introducir esto cuando te conectes a la VPN.

El cliente que vamos a utilizar es el cliente oficial de OpenVPN, y puedes obtenerlo en el sitio web oficial de OpenVPN.

Descarga e instala este cliente. En tu primera ejecución, se minimizará automáticamente en la barra de tareas, haz clic con el botón derecho en el icono, y luego Selecciona "Importar archivo ..."

 

Importar archivo de configuración VPN

 

Aparecerá una pantalla de explorador de archivos, aquí vete a la carpeta donde guardaste el archivo .opvn. Una vez que lo hayas encontrado, haz doble clic en el archivo para importarlo en el cliente OpenVPN.

Si todo fue bien, verás un mensaje en pantalla que te indicará que la importación fue correcta.

 

 

Ahora haz clic en el botón derecho en el icono del cliente OpenVPN en la barra de tareas, y luego en Conectar.

 

Menu de conectar VPN en Raspberry Pi

 

Ahora el cliente OpenVPN intentará leer los datos ubicados en el archivo .opvn. Te pedirá que introduzcas la contraseña que antes configuraste. Y presiona el  botón OK .

 

Menu de configuración de VPN

 

Ahora el cliente OpenVPN intentará conectarse al servidor VPN de tu Raspberry Pi. Si el icono de OpenVPN se vuelve verde fijo, significa que se ha conectado correctamente a tu VPN, sin embargo, si se vuelve amarillo y no se vuelve verde después de 60 segundos, significa que algo está fallando en la conexión.

 

En la mayoría de los casos, el fallo de la conexión se debe a problemas de redireccionamiento de puertos en el router, si es tu caso, busca el modelo de router que usas y mira como se configuran los puertos, aunque también algunos proveedores de servicios de Internet bloquean puertos específicos, por lo que es mejor verificar que tu ISP no esté bloqueando el puerto que planeas usar.

Si estás utilizando un servicio de DNS dinámico, asegúrate de que el servicio se está actualizando correctamente con tu última dirección IP, de lo contrario la conexión también puede fallar por este motivo.

Con suerte, a estas alturas, tendrás una VPN completamente funcional a la que podrás conectarte con éxito.

Espero que este tutorial te haya mostrado cómo configurar un servidor VPN de Raspberry Pi y que no hayas tenido ningún problema. Sin duda, es un gran proyecto para cualquier persona que desee configurar una red VPN barata y siempre disponible.

 


Compartir esta publicación



← Publicación más antigua Publicación más reciente →