La Forma Más Fácil de Instalar un Servidor OpenVPN en Raspberry Pi

OpenVPN es un servicio para alojar tu propio servidor VPN, sin utilizar servidores de terceros.
Una VPN es una conexión segura entre dos redes, por ejemplo entre tu teléfono y tu casa.
En este tutorial, te daré un método paso a paso para instalarlo rápidamente en Raspberry Pi.

OpenVPN está disponible en el repositorio oficial, por lo que se puede instalar con apt como cualquier otro paquete.
A continuación, hay que configurar la seguridad para garantizar que los datos se cifran correctamente entre ambas redes.

De hecho, ya hice un tutorial sobre cómo instalar OpenVPN (en inglés) hace unos años, pero muchos os perdisteis en el proceso.
La parte de configuración es tan larga y compleja, que era demasiado complicada de seguir, especialmente para un uso personal.

Por eso busqué un método más sencillo para instalar y configurar OpenVPN, ¡y lo encontré!
Lo compartiré con vosotros ahora.

Si estás buscando progresar rápidamente en Raspberry Pi, puedes consultar mi libro electrónico aquí. Es un reto de 30 días en el que aprendes una cosa nueva cada día hasta que te conviertes en un experto en Raspberry Pi. El primer tercio del libro te enseña lo básico, pero los siguientes capítulos incluyen proyectos que puedes intentar por tu cuenta.

Requisitos previos

Justo antes de la parte de instalación, asegúrate de tenerlo todo preparado.
Para los usuarios avanzados, probablemente pueden saltarse esta parte, sólo quiero responder a todas las preguntas antes de seguir adelante.

¿Qué es una VPN?

VPN son las siglas de «Virtual Private Network» (Red Privada Virtual), y básicamente la idea es fusionar dos redes.
Por ejemplo, las empresas pueden utilizarlo para tener empleados en dos sedes distintas, pero utilizando los mismos recursos del edificio principal (como un archivo compartido, por ejemplo).

Con una Raspberry Pi, generalmente la utilizaremos para acceder a una red remota desde cualquier parte del mundo.
Por ejemplo, puede acceder a tu cámara de seguridad o a la página web de domótica desde tu smartphone mientras viaja.
El smartphone se conectará a la Raspberry Pi a través de Internet y creará un túnel seguro entre los dos dispositivos para que puedas acceder a cualquier servicio de tu red doméstica.

OpenVPN es el software que hará que esto funcione en ambos lados.

Encuentre tu dirección IP

Para construirlo, necesitas conocer la dirección IP pública de tu casa y configurarla en el lado del cliente.
Si no lo sabes, te mostraré cómo obtener tu dirección IP, y también cómo evitar problemas si tu IP cambia de vez en cuando.

¿Cuál es mi IP?

Encontrar tu dirección IP actual es bastante fácil, ya que hay muchos sitios web que te la darán.
Por ejemplo, ve a WebInpact.com y anota la dirección IP.

Sólo lo necesitarás al final del tutorial, cuando configures el cliente OpenVPN, pero es un prerrequisito importante, especialmente si tienes una dirección IP dinámica.

¿Estática o dinámica?

Dependiendo de tu proveedor de Internet puedes tener una dirección IP estática o no.
En mi caso, no tengo tanta suerte, así que mi dirección IP se sustituye por una nueva cada día aproximadamente.
Si te encuentras en este caso, tu cliente VPN dejará de funcionar tras el primer cambio (o tendrás que actualizar la dirección IP cada vez).

Para evitarlo, puedes utilizar un servicio gratuito llamado NoIP, que proporciona un nombre de host gratuito (como minombre.ddns.net) que redirige a tu dirección IP, incluso después de un cambio. De esta forma, puedes configurar tu cliente VPN con myname.ddns.net en lugar de tu dirección IP.

Sólo necesitas tener algo en tu red, que actualice la dirección IP en NoIP regularmente.
Tengo esta función en mi router de Internet, así que sólo tengo que poner mis credenciales en la interfaz y ya está.
Pero incluso si no lo tienes en tu router, puedes instalar un script en tu Raspberry Pi (o cualquier otro dispositivo) para hacer lo mismo. El tutorial de Raspberry Pi está disponible aquí si estás interesado (en inglés).

Instalar Raspberry Pi OS

El último paso es asegurarse de que Raspberry Pi OS está instalado y configurado correctamente.
Si necesitas ayuda sobre esto, puedes consultar mi tutorial paso a paso aquí.

Antes de seguir adelante, te recomiendo que lo compruebes:

  • Raspberry Pi OS está instalado (la versión Lite es suficiente para un servidor VPN).
  • Que tienes acceso a tu red y a Internet en ella (conexión Ethernet si es posible).
  • Tu sistema está actualizado
  • Y algunas medidas de seguridad se han hecho, especialmente si quieres mantenerlo alimentado 24/24 con el servicio VPN funcionando.

Espera, ¡tengo algunas recomendaciones para ti!

Antes de continuar, te invito a descubrir algunos productos que he seleccionado cuidadosamente para ti. Creo que son esenciales para tu Raspberry Pi. Échales un vistazo y pídelos directamente en Amazon.

Una caja silenciosa y práctica Un SSD de alto rendimiento para potenciar tu Pi Una pantalla genial para liberar el televisor Un teclado dedicado con touchpad

Configuración del servidor OpenVPN

Obtiene mi hoja de trucos de comandos
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar

Una vez listo, podemos iniciar la instalación del servidor en la Raspberry Pi.
Hay muchas cosas implicadas, como la red, la configuración de seguridad, los usuarios y los certificados. Pero el script de instalación se encargará de todo.

El script OVPN

Conéctate a tu Raspberry Pi mediante SSH y sigue este procedimiento:

  • Utilizaremos el script de instalación de «angristan» en GitHub.
    Puedes comprobar el código en este enlace antes de instalarlo si lo deseas.
  • Copia y pega este comando en tu terminal para descargarlo:
    wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh -O openvpn-install.sh
  • A continuación, ejecuta el script con:
    sudo bash openvpn-install.sh
  • El script te mostrará tu dirección IP local (la necesitarás en el siguiente paso), tu dirección IP pública y te hará algunas preguntas.
  • La mayoría de las veces mantener los valores por defecto, así que pulsa «Enter» para cada pregunta si no lo sabes.
    Se inicia la instalación de OpenVPN.
  • Unos segundos más tarde, se le pedirá alguna información sobre el primer usuario a crear.
    Dale un nombre (tu nombre o el del dispositivo con el que te conectarás, por ejemplo) y establece una contraseña si es necesario (no es obligatorio).

Una vez hecho esto, el script termina y te da la ruta al primer fichero de configuración:

Eso es todo, el servidor VPN se está ejecutando y su primer cliente está listo para usar 🙂

Nota: Recomiendo reiniciar la Raspberry Pi después de la instalación. No sé por qué, pero a mí no me funcionaba antes del reinicio, incluso después de iniciar el servicio manualmente.

Reenvío de puertos

Antes de la configuración del cliente, hay un paso adicional que debes realizar.
Lo más probable es que su Raspberry Pi no esté directamente en Internet, sino detrás de un router. Así que necesitas configurar este router para redirigir las conexiones VPN a tu Raspberry Pi.

La configuración dependerá del modelo de router que tengas, así que no puedo darte el procedimiento exacto paso a paso, pero probablemente tu proveedor de Internet pueda ayudarte (por ejemplo AT&T tiene una página de documentación para cada módem).

Tendrás que configurarlo:

  • El puerto externo: puede ser 1194 para mantenerlo simple, o cualquier otra cosa.
  • La dirección IP interna: el script lo mostraba al principio, o puedes consultar este tutorial para conseguirlo ahora.
  • El puerto local: que es 1194 por defecto, o lo que estableciste en el script si no mantuviste el valor por defecto.

En mi caso, tiene este aspecto:

Así que añadí la segunda línea, para redirigir el puerto 1194 a la Raspberry Pi, mismo puerto.
Incluso puede utilizar un nombre de dominio en lugar de tu dirección IP, especialmente si tu dirección IP pública no es estática.

Nota: una buena idea puede ser utilizar una dirección IP estática en su Raspberry Pi, o configurar el servidor DHCP para mantener la dirección IP para su Raspberry Pi.

Obtiene mi hoja de trucos de comandos
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar

Configuración del cliente OpenVPN

Obtiene mi hoja de trucos de comandos
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar

Nuestro servidor VPN ya está disponible en Internet, por lo que podemos configurar un cliente para conectarnos a él desde cualquier lugar.
OpenVPN está disponible para PC (Windows, Linux) y smartphone (iPhone, Android). Te mostraré cómo instalarlo y configurarlo.

Obtener el archivo OVPN

El primer paso, sea cual sea tu sistema, es obtener el archivo generado en la Raspberry Pi por el asistente de OpenVPN.
¿Te acuerdas? Para mí, fue /home/pi/android.ovpn

Necesitas conseguirlo en el cliente donde quieras instalar OpenVPN.
La forma más fácil de hacer esto si SSH está habilitado, es conectarse a la Raspberry Pi con FileZilla o WinSCP, y transferir el archivo en su ordenador.
Luego puedes enviarlo a cualquier dispositivo que quieras configurar.

En FileZilla, crea un nuevo sitio, y utiliza SFTP para conectarte a la Raspberry Pi.
Establezca la dirección IP del host, así como el nombre de usuario y la contraseña.

Una vez conectado, puedes descargar el archivo ubicado en /home/pi, y enviarlo al dispositivo que quieras usar como cliente (yo suelo hacerlo por correo electrónico, pero para un PC también puedes usar una llave USB).

Edite el archivo para utilizar su nombre de host No-IP

Si usted tiene una dirección IP pública dinámica y está utilizando el servicio de No-IP (en inglés), hay un paso extra:

  • Abrir el archivo .ovpn
  • Encuentra esta línea al principio:
    remote <IPADDRESS> 1194
  • Sustitúyelo por:
    remote <HOSTNAME> 1194
  • Guardar y cerrar el archivo

Ya está, ahora puedes utilizarlo en cualquier dispositivo.

Instalación en Windows

  • Descarga el instalador de OpenVPN desde el sitio web oficial
  • Instálalo (puede mantener los valores por defecto)
  • Una vez hecho esto, debería aparecer un icono de OpenVPN en la bandeja, cerca del reloj en la parte inferior derecha de la pantalla.
    Si no, puedes iniciarlo desde el menú principal.
  • Haz clic con el botón derecho en este icono y seleccione «Import file…».
  • Selecciona el archivo generado en la Raspberry Pi y confirme.
  • Vuelve a hacer clic con el botón derecho y pulsa «Connect».
    Sólo funcionará si el dispositivo no está en tu red doméstica, pero puedes probarlo compartiendo la conexión de tu teléfono, por ejemplo.
  • Introduce la contraseña si la pusiste al establecer una en la configuración.

Eso es todo, ya estás conectado a tu servidor VPN 🙂

Instalación en iPhone / Android

También puedes instalar OpenVPN en tu teléfono.
La aplicación se llama «OpenVPN Connect» y está disponible en la App Store y Google Play Store.

  • Instala la aplicación en tu teléfono
  • Transfiere el archivo .ovpn a tu teléfono: la forma más fácil de hacerlo es enviarlo por correo electrónico y descargarlo desde tu aplicación de correo electrónico.
  • Abrir OpenVPN Connect
  • Ve a Import Profile > File, y selecciona el archivo .ovpn de su carpeta de descargas
  • Haz clic en «Import» y «Add».
  • Se añade un nuevo perfil, y puedes conectarte haciendo clic en élNo olvides desconectarte de la Wi-Fi si estás en la misma red que la Raspberry Pi
  • Ya está, ya estás conectado:
Obtiene mi hoja de trucos de comandos
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar

Conclusión

Eso es todo, ahora sabes una manera fácil de instalar OpenVPN en tu Raspberry Pi, y conectarte a tu red doméstica desde cualquier lugar del planeta.
La dirección IP y el reenvío de puertos pueden ser un poco complicados para los principiantes (por eso lo explico todo aquí en inglés), pero la instalación de OpenVPN es realmente sencilla con este método.

Cuando estés preparado, aquí tienes un atajo para ti:

Domina tu Raspberry Pi en 30 días: Si buscas los mejores consejos para convertirte en un experto en Raspberry Pi, este libro es para ti. Aprende habilidades útiles de Linux y practica múltiples proyectos con guías paso a paso.

Publicaciones Similares