En este artículo, encontrarás un tutorial sobre cómo configurar un servidor VPN desde una Raspberry Pi utilizando el software OpenVPN. También te explicaré cómo asegurarte de que tu conexión es lo más segura posible configurando claves de cifrado.
Este proyecto puede ser un poco largo, pero es un tutorial relativamente sencillo de seguir, y no debería requerir ninguna interacción adicional una vez que se ha configurado.
Utilizar una Raspberry Pi es una forma económica de configurar una red privada virtual (VPN) que puede permanecer en línea 24/7 sin consumir una gran cantidad de energía. La Raspberry Pi es lo suficientemente pequeña y potente como para gestionar unas pocas conexiones a la vez, lo que la hace ideal para uso privado en casa.
Las VPN son una herramienta de red increíblemente útil que puede darle acceso a un tráfico de Internet cifrado y seguro, incluso cuando utilice una red Wi-Fi pública. Pero también puedes utilizarla para conectarte con tu propio ordenador y acceder a la red doméstica. Permite que tus otros dispositivos fuera de tu red local actúen como si estuvieran en la red local del servidor VPN. Por ejemplo, si tienes un Servidor NAS al que desea acceder cuando se desplaza, un servidor VPN le resultará extremadamente útil para garantizar el acceso a este servidor.
Lo que necesitas para construir tu propio servidor VPN
A continuación se presentan todos los elementos que he utilizado para este tutorial sobre el servidor VPN Raspberry Pi. No hay nada realmente especial más allá del hardware básico.
Una frambuesa (funciona con todos los modelos de Raspberry, incluso la Pi zero)
Una tarjeta micro SD (mínimo 8 GB)
Un cable de Internet o un adaptador Wifi (para frambuesas sin WiFi)
Una caja de frambuesas (opcional)
Teclado y ratón USB (opcional)
Preparación de la Raspberry Pi
Antes de empezar a configurar el servidor VPN Raspberry Pi, hay algunas cosas que debes comprobar para asegurarte de que estás listo para configurarlo y utilizarlo.
En primer lugar, para este tutorial, es importante saber que estoy usando una versión limpia de Raspbian. Si aún no lo has instalado y quieres aprender a hacerlo, encontrarás un montón de tutoriales en línea sobre cómo instalar Raspbian en una Raspberry.
En primer lugar, asegúrate de que realmente necesitas una VPN antes de empezar a configurarla, ya que puede actuar como puerta de entrada a tu red doméstica.
Si tienes intención de utilizar una VPN, asegúrate de que todos los ordenadores de tu red doméstica son seguros y de que no compartes nada dentro de tu red local a lo que no quieras que acceda nadie.
Preparar la dirección IP de su servidor VPN
Es importante decidir si va a utilizar una dirección IP o una dirección IP dinámica. Configurar una VPN para una dirección IP estática es un proceso bastante sencillo y no requiere ningún trabajo adicional.
Sin embargo, si desea utilizar una dirección IP dinámica, debe configurar DNS dinámico de antemano. A continuación, tendrá que decidir si desea utilizar su propio nombre de dominio o un nombre de dominio gratuito. Si desea utilizar su propio nombre de dominio, puede utilizar un servicio como CloudFlare. Si desea utilizar un subdominio gratuito, le será útil un servicio como no-ip.org.
Recuerde el nombre de dominio que ha configurado para cualquiera de los siguientes elementos Cloudflare o no-ip.org porque lo necesitarás más adelante en el tutorial.
Reenvío de puertos para su Raspberry Pi VPN
La tercera cosa importante que tienes que hacer antes de empezar a configurar tu Raspberry Pi es redirigir el puerto para el software OpenVPN.
El puerto predeterminado que debe redirigir es 1194
. No olvide el puerto que ha definido, ya que lo necesitará más adelante en el tutorial. El protocolo que necesitas usar para este puerto es el siguiente UDP
.
Instalación del servidor VPN
1. Configurar un servidor VPN Raspberry Pi puede ser un proceso bastante complicado, normalmente hay que instalar el software, generar las claves de cifrado, añadir el puerto al cortafuegos, configurar la Pi para que mantenga una dirección IP estática y mucho más.
Afortunadamente para nosotros, hay una forma mucho más sencilla de configurar un servidor VPN Raspberry Pi utilizando un script de instalación llamado PiVPNque se encarga de todo el trabajo necesario para configurar una VPN y reduce el riesgo de error.
Antes de empezar, primero tenemos que cambiar la contraseña de usuario pi por defecto, esto es para asegurarse de que si alguien se las arregla para acceder a su VPN, que no será capaz de acceder fácilmente a su Raspberry Pi.
contraseña
2. Una vez cambiada la contraseña, podemos empezar a configurar nuestro servidor VPN en la Raspberry Pi. Podemos iniciar este proceso ejecutando el siguiente comando, este comando descarga el script de instalación de la Página GitHub de PiVPN y lo ejecuta.
Normalmente, la ejecución de un script directamente desde una URL no es una buena idea, ya que puede ser una manera fácil para que alguien pueda acceder a su Raspberry Pi y hacer algún daño grave.
No obstante, se trata de una fuente fiable que hemos verificado, por lo que si desea comprobar el código usted mismo, sólo tiene que ir a la ubicación de la secuencia de comandos.
rizo -L https://install.pivpn.io | bash
3. Una vez que haya ejecutado el comando anterior, debería aparecer la siguiente pantalla. Esta pantalla contendrá un texto que le indicará que está a punto de instalar OpenVPN.
Para pasar a la pantalla siguiente, pulse la tecla INTRODUCE.
4. La siguiente pantalla explica que necesita configurar una dirección IP estática para su VPN.
Esto significa que cuando la Raspberry Pi se reinicie, intentará utilizar la misma dirección IP. Si la dirección IP local cambia, podrías perder potencialmente el acceso a tu VPN.
5. Ahora se le preguntará si está utilizando una reserva DHCP en su router.
Si no sabe qué es una reserva DHCP o cómo utilizarla, seleccione <No>
para continuar.
6. Seleccione aquí para establecer dirección IP y la pasarela actual como estática.
Si no está satisfecho con la dirección IP que aparece en esta página, seleccione <No>
.
7. Esta pantalla le advierte de que su router puede estar asignando la dirección IP a otro dispositivo.
Puedes utilizar reservas DHCP para evitar este problema. Sin embargo, la mayoría de los routers son lo suficientemente inteligentes como para evitar este problema.
Para continuar, seleccione <Ok>
y pulse la tecla ENTRAR.
8. Esta pantalla explica que necesitamos definir un usuario que será el propietario de los archivos de configuración de OpenVPN.
Seleccione <Ok>
y pulse INTRODUCE para pasar a la pantalla siguiente.
9. Se nos presenta una lista de usuarios que pueden poseer los archivos de configuración VPN para nuestra Raspberry Pi.
En este tutorial, utilizaremos la función pi
. Si desea utilizar otro usuario, utilice el botón FLECHA y BARRA ESPACIADORA para seleccionarla.
Cuando esté satisfecho con su selección, pulse la tecla INTRODUCE para continuar.
10. Ahora se le pedirá que seleccione el tipo de VPN que desea instalar en su Raspberry Pi.
Las dos opciones son WireGuard y OpenVPN.
Para esta guía, utilizaremos OpenVPN en nuestra Raspberry Pi (1.). Utilice la FLECHA y el BARRA ESPACIADORA para seleccionarla.
Una vez que haya seleccionado OpenVPN
pulse el botón INTRODUCE para continuar (2.).
10. Ahora puede decidir si desea personalizar la instalación de OpenVPN en su Raspberry Pi.
Los ajustes elegidos por el equipo de PiVPN son los mejores para la mayoría de los usuarios. Sin embargo, puede cambiarlos si lo desea.
Para nuestra guía, nos ceñiremos a la configuración por defecto.
Para continuar, seleccione <No>
a continuación, pulse el botón INTRODUCE.
11. Ahora vamos a seleccionar el puerto a través del cual operará OpenVPN.
Para este tutorial, vamos a ceñirnos al puerto predeterminado de 1194
. Sólo debe cambiar el puerto si tiene una buena razón para hacerlo.
Una vez configurado el puerto, seleccione <Ok>
y pulse INTRODUCE.
14. Se le pedirá que confirme el puerto que ha definido para su instalación de OpenVPN.
Si está satisfecho con el puerto elegido, seleccione para continuar.
15. El siguiente paso es seleccionar un proveedor de DNS. Un proveedor de DNS es el que resuelve una URL como https://monserveurnas.com
en una dirección IP.
En nuestra guía, utilizaremos los servidores DNS de Cloudflare. Cloudflare borra sus registros cada 24 horas y no rastrea la dirección IP de la solicitud.
Para seleccionar Cloudflare u otro proveedor de DNS, debe utilizar la opción FLECHA (1.).
Una vez que haya situado el cursor sobre el proveedor de DNS que desee, pulse la tecla BARRA ESPACIADORA para seleccionarla.
Cuando esté seguro de haber tomado la decisión correcta, puede pulsar el botón INTRODUCE para continuar.
16. Deberá decidir si desea utilizar su dirección IP pública o un nombre DNS.
Si está utilizando una dirección IP dinámica, le recomendamos que utilice la opción de nombre DNS público. Como estamos usando una dirección IP pública estática, solo usaremos nuestra dirección IP pública para esta guía.
Puede cambiar de una opción a otra utilizando las teclas FLECHA . Una vez que haya encontrado el que desea, pulse la tecla BARRA ESPACIADORA para seleccionarla.
17. Este siguiente paso simplemente le indica que el script PiVPN está a punto de generar la clave HMAC y la clave del servidor.
Estas claves forman parte de la parte encriptada de la VPN de tu Raspberry Pi.
Pulse el botón INTRODUCE para continuar la guía.
18. Ahora vamos a darte una explicación sencilla de las actualizaciones automáticas.
Esta función permite que el sistema operativo Raspberry Pi descargue automáticamente actualizaciones de seguridad a diario.
Pulse el botón INTRODUCE para ir a la página de configuración de este parámetro.
19. En esta pantalla, le recomendamos encarecidamente que active las actualizaciones automáticas seleccionando . Al activar esta opción, puede asegurarse de que su Raspberry Pi siempre tenga las últimas actualizaciones.
Dejar esta función deshabilitada puede suponer un riesgo de seguridad importante para la VPN de tu Raspberry Pi y potencialmente para tu red doméstica.
Una vez hecho esto, pulse la tecla INTRODUCE para confirmar los ajustes.
20. Ahora ha terminado de instalar OpenVPN en su Raspberry Pi.
Aunque todavía quedan algunos elementos por completar para habilitar las conexiones, ya has recorrido alrededor del 90 % de esta guía de instalación.
21. Ahora nos aparecerá una pantalla pidiéndonos que reiniciemos la Raspberry Pi.
Seleccione la opción en las dos pantallas siguientes pulsando la tecla INTRODUCE.
Reiniciar tu Raspberry Pi después de instalar OpenVPN es un paso crucial.
Configurar el primer usuario OpenVPN
1. Normalmente, configurar un usuario para OpenVPN sería un proceso tedioso ya que habría que generar los certificados individuales para el usuario, afortunadamente podemos hacerlo en un solo comando gracias a PiVPN.
Para empezar a añadir el usuario, ejecute el siguiente comando:
sudo pivpn añada
En esta pantalla, deberá introducir un nombre para el cliente, y este nombre se utilizará como identificador para poder diferenciar entre distintos clientes.
También le pedirá que defina un contraseña para el cliente, y es importante que esta contraseña sea segura y difícil de adivinar, ya que asegurará la clave de encriptación.
Así que si alguien puede adivinar fácilmente la contraseña, esto reduce considerablemente la seguridad de su VPN.
Una vez que haya pulsado Intro, el script PiVPN pedirá a Easy-RSA que genere la clave privada RSA de 2048 bits para el cliente y, a continuación, almacenará el archivo en la carpeta /home/pi/ovpns
.
/home/pi/ovpns
es la carpeta a la que tendremos que acceder en los siguientes pasos para copiar el archivo generado a nuestros dispositivos.
Asegúrese de guardar estos archivos en un lugar seguro, ya que son su único medio de acceder a su VPN.
2. Ahora que nuestro nuevo cliente se ha configurado para OpenVPN con nuestra frase de contraseña, ahora necesitamos enviarla al dispositivo desde el que pretendemos conectarnos.
La forma más sencilla de hacerlo es utilizar SFTP desde tu red doméstica.
Asegúrate de tener instalado un programa como FileZilla que pueda manejar conexiones SFTP antes de continuar con este tutorial.
Para empezar, vamos a conectarnos a nuestra Raspberry Pi a través de SFTP. No olvides escribir sftp://
delante de la dirección IP de tu Raspberry Pi.
Si no tiene la dirección local de su Pi, utilice el comando hostname -I
en el terminal.
Una vez que hayas introducido tu dirección IP, nombre de usuario y contraseña, pulsa el botón de conexión rápida.
3. Una vez que haya iniciado sesión correctamente, tenemos que buscar el archivo ovpns porque ahí es donde está el archivo que necesitamos.
Una vez que hayas encontrado el archivo, haga doble clic en en este caso.
4. Todo lo que tenemos que hacer ahora es arrastrar el .ovpn
que desea guardar en un lugar seguro de su ordenador. Este archivo contiene los datos que necesitaremos para conectarnos a la VPN.
También es la única forma de que alguien pueda acceder a tu VPN, por lo que es muy importante mantener la frase de contraseña y el archivo a salvo.
Si alguien accede a ella, podría causar daños a su red.
5. Ahora tenemos el .opvn
en nuestro dispositivo, podemos utilizarlo para establecer una conexión con nuestra VPN.
El .opvn
contiene todo lo necesario para establecer una conexión segura. Contiene la dirección web a la que conectarse y todos los datos de cifrado necesarios.
Lo único que no contiene es tu frase de contraseña, así que tendrás que introducirla cuando te conectes a la VPN.
El cliente que vamos a utilizar es el cliente oficial de OpenVPN, y puedes conseguirlo en el sitio web oficial de OpenVPN.
Descargue e instale este cliente, la primera vez que se ejecute se minimizará automáticamente en la barra de tareas, haga clic con el botón derecho en el icono y seleccione "Importar un archivo...".
6. Aparecerá una pantalla del explorador de archivos, en la que podrá navegar hasta la ubicación en la que guardó el archivo .opvn de antes.
Una vez que lo hayas encontrado, haga doble clic en el archivo que se importará en el cliente OpenVPN.
7. Ahora debería ver un cuadro de diálogo que le indica que el archivo se ha importado correctamente en OpenVPN.
Sólo haga clic en el " OK"para continuar.
8. Ahora clic derecho el icono del cliente OpenVPN en la barra de tareas, esta vez haga clic en el botón " Conectar" .
9. El cliente OpenVPN intentará ahora leer los datos en la carpeta .opvn
.
Como hemos definido una frase de contraseña, se le pedirá que introduzca la frase de contraseña que definió anteriormente en este tutorial.
Una vez que estés seguro de haber introducido la frase de contraseña correcta, haga clic en el botón " OK" .
10. El cliente OpenVPN intentará ahora conectarse al servidor VPN en su Raspberry Pi. Si el icono de OpenVPN se vuelve verde, se habrá conectado correctamente a su VPN.
Sin embargo, si el icono se vuelve amarillo y no vuelve a ponerse verde al cabo de 60 segundos, significa que algo está provocando el fallo de la conexión.
En la mayoría de los casos, el fallo de conexión se debe a problemas de reenvío de puertos. Mi router, por ejemplo, tiene muchos problemas de reenvío de puertos.
La forma más sencilla es buscar en Google el número de modelo de tu router para intentar encontrar ayuda sobre los problemas que puedas encontrar con el reenvío de puertos.
Algunos proveedores de servicios de Internet (ISP) también bloquean puertos específicos. Por lo tanto, es aconsejable comprobar que tu ISP no bloquea el puerto que piensas utilizar.
Si utiliza un DNS dinámicoAsegúrese de que el servicio está correctamente actualizado con su última dirección IP. Si la dirección IP ha cambiado pero la configuración DNS no, la conexión fallará.
Con un poco de suerte, ahora tienes una VPN completamente funcional a la que puedes conectarte con éxito.
Desinstale la VPN en su Pi
1. Si, por cualquier motivo, desea eliminar su VPN de su Raspberry Pi, sólo tiene que utilizar el siguiente comando.
Este comando utilizará el software pivpn para desinstalar el túnel VPN.
sudo desinstalar pivpn
Espero que este tutorial te haya mostrado cómo configurar un servidor VPN Raspberry Pi y que no hayas tenido ningún problema. Sin duda es un gran proyecto para cualquiera que quiera montar una red VPN permanente y barata.
Este tutorial es de Pimylifeup a quienes damos las gracias. Si tienes algún comentario, consejo o problema que quieras compartir, no dudes en dejar un comentario a continuación.