Mi Blog
👉 Cómo crear un servidor VPN en una Raspberry Pi

Cómo crear un servidor VPN en una Raspberry Pi

 
(4 votos)

Con una RaspberryPi y OpenVPN/Wireguard y PiVPN podemos montar un servidor de VPN de forma rápida y económica para acceder a los recursos de nuestra casa desde cualquier lugar del mundo.

Seguid leyendo y os enseñaré a instalar rápidamente vuestro propio servidor VPN en una Raspberry Pi...

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

¿QUÉ ES OPENVPN?

OpenVPN es tanto un protocolo VPN como un software que utiliza técnicas VPN para asegurar conexiones punto a punto y de sitio a sitio. Es un software de código abierto que ofrece diferentes soluciones para establecer, mantener y personalizar redes privadas virtuales de forma gratuita. OpenVPN implementa conexiones de capa 2 o 3 y utiliza los estándares de la industria SSL/TLS para cifrar y combinar todas las características mencionadas anteriormente en las otras soluciones VPN.

OpenVPN utiliza el protocolo TLS/SSL para el intercambio de claves y puede atravesar cortafuegos y traductores de direcciones de red (NAT). Es uno de los protocolos VPN más seguros debido a que es actualizado constantemente por programadores de todo el mundo.

OpenVPN es altamente configurable y seguro.

 

 

OpenVPN es un software y un protocolo VPN

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Una Raspberry Pi con Debian/Raspbian o similar
  • Conexión a Internet

 

 

2.- ESQUEMA DE RED

A continuación, os muestro el esquema de red que queremos hacer:

Servidor VPN Raspberry PI

 

 

3.- PIVPN (OPENVPN / WIREGUARD)

PiVPN es un conjunto de scripts de shell desarrollados para convertir fácilmente una Raspberry Pi™ en un servidor VPN utilizando dos protocolos gratuitos y de código abierto:

  • Wireguard
  • OpenVPN

 

La misión principal de este script es permitir que un usuario tenga una VPN lo más económica posible en casa sin necesidad de ser un experto técnico, de ahí el diseño de PiVPN para funcionar en una Raspberry Pi con un instalador de un solo comando seguido de una gestión sencilla de la VPN con el comando 'pivpn'.

Dicho esto...

PiVPN es la forma más sencilla y rápida de instalar y configurar un servidor OpenVPN o Wireguard extremadamente seguro en una Raspberry Pi. No se necesitan tutoriales complejos, ya que PiVPN lo hace todo por nosotros.

Web: https://www.pivpn.io/

  

  

 

 

4.- INSTALAR Y CONFIGURAR PIVPN

Para configurar el servidor de VPN lo haremos gracias a los scripts de PiVPN. Para ello ejecutaremos el siguiente comando:

raul@raspberrypi:~$ sudo curl -L https://install.pivpn.io | bash

 

 

Una vez ejecutado el comando anterior y tras instalar de forma automática todos los requisitos, se mostrará en pantalla el asistente de configuración de PiVPN:

Servidor VPN Raspberry PIComenzar la instalación PiVPN

 

 

La siguiente pantalla nos avisa que al ser un servidor de VPN y para que no tengamos problemas de red, se recomienda que el servidor tenga una IP Estática:

Servidor VPN Raspberry PISe recomienda IP Estática

 

 

La pantalla siguiente avisa que no estamos utilizando IPv6. Como (en mi caso) no estoy utilizando IPv6, ni quiero, marcaremos la opción de "No":

Servidor VPN Raspberry PIRouting IPv6

 

 

La siguiente pantalla marcaremos la opción de "No" ya que la Raspberry Pi la tenemos trabajando con una IP estática:

Servidor VPN Raspberry PIReserva de DHCP

 

 

La siguiente pantalla muestra la confirmación de red (dirección IP y Gateway). Si estamos confirme, marcaremos "Yes":

Servidor VPN Raspberry PIConfiguración de red

 

 

Ahora saldrá un aviso de que podemos tener un conflicto de IPs si configuramos mal nuestro Router o la IP del servidor:

Servidor VPN Raspberry PIAviso conflicto IPs

 

 

A continuación, tendremos que seleccionar el usuario que va a manejar las configuraciones de la VPN:

Servidor VPN Raspberry PIAviso de usuarios

 

 

En la lista siguiente podremos ver todos los usuarios en el sistema. En mi caso, el usuario que va a manejar toda la configuración del servidor VPN es "raul", vosotros seleccionad el vuestro:

Servidor VPN Raspberry PISeleccionar el usuario para gestionar VPNs

 

 

 

En el siguiente paso tendremos que seleccionar que software de VPN queremos utilizar. En mi caso, Wireguard me dio algún problema, por lo que he optado por utilizar OpenVPN:

Servidor VPN Raspberry PISoftware para la VPN

 

 

En el siguiente paso seleccionaremos por defecto "No" si no queremos personalizar la configuración de OpenVPN por defecto:

Servidor VPN Raspberry PIInstalación por defecto

 

 

A continuación, seleccionaremos el puerto donde queremos que escuche" el servidor VPN. Por defecto, el puerto es el 1194 pero yo recomiendo cambiarlo por otro que no esté en uso y similar al original. Por ejemplo, podemos utilizar el puerto 2194:

Servidor VPN Raspberry PIPuerto 2194

 

 

Ahora confirmamos el puerto seleccionado:

Servidor VPN Raspberry PIConfirmar puerto OpenVPN

 

 

Cuando nos conectamos a la VPN, podemos asignar a los dispositivos unos servidores predefinidos de DNS o nuestros propios servidores. Como (en mi caso) yo no tengo servidores DNS, utilizaré los de por defecto de Google:

Servidor VPN Raspberry PIServidores DNS

 

 

Para conectar desde Internet a la VPN, es recomendado tener una IP pública fija, pero si no queremos pagar por ello, podemos usar un servicio de DNS Dinámico y crear un FQDN que apunte a nuestro servidor:

Servidor VPN Raspberry PISeleccionar un FQDN

 

 

A continuación, metemos nuestro FQDN como, por ejemplo, servidor.ddns.net:

Servidor VPN Raspberry PIFQDN

 

 

Si está correcto el FQDN, confirmamos y seguimos para adelante:

Servidor VPN Raspberry PIConfirmar FQDN

 

 

A continuación, se van a generar las llaves de cifrado de las conexiones:

Servidor VPN Raspberry PIGenerar llaves de cifrado

 

 

Aceptamos la siguiente pantalla:

Servidor VPN Raspberry PIActualizaciones

 

 

Activamos las actualizaciones desatendidas de seguridad:

Servidor VPN Raspberry PIActualizaciones de seguridad

 

 

Ya casi hemos terminado. Para manejar la VPN debemos hacer uso del comando "pivpn" en consola:

Servidor VPN Raspberry PIInstalación completa

 

 

A continuación, reiniciamos el servidor para completar la instalación:

Servidor VPN Raspberry PIReiniciar

 

 

Reiniciando el servidor...

Servidor VPN Raspberry PIReiniciando... 

 

 

5.- NAT

Para poder acceder desde Internet al servidor de VPN dentro de la red doméstica, debemos hacer NAT en el Router de Internet. Esto significa, abrir un puerto al exterior y redirigir las peticiones a la IP del servidor VPN. Como esto depende del modelo de Router, no voy a comentar nada, si buscáis por vuestro modelo y "NAT" en Google os saldrán muchos tutoriales.

Básicamente debemos acceder al router e ir a NAT y decirle que: todo lo que llegue al puerto 2194 lo reenvíe a la 192.168.1.2:2194 que corresponde con nuestro servidor de OpenVPN.

 

 

6.- PROBAR LA VPN

Para probar la VPN debemos acceder desde fuera de nuestra red, por ejemplo, desde otra conexión en otro domicilio o incluso con una conexión de móvil 3G/4G, debemos bajarnos el cliente de VPN y configurarlo con los datos que hemos configurado en nuestro servidor. Una vez conectados, podremos acceder a todo lo que haya dentro de nuestra red local. En la imagen siguiente se ve como estoy conectado desde mi teléfono móvil por 4G a la red local utilizando IPs locales de tipo 192.168.1.x:

Servidor VPN Raspberry PIConectado a la VPN

 

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
Cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.