Cómo configurar una VPN con Raspberry Pi.

Por Víctor Aracil - julio 31, 2023



Con este tutorial vas a poder crear tu propio VPN gratis, de alta velocidad, y poco demandante en recursos. Tus datos no quedarán expuestos, y conseguirás sin ningún tipo de complicación, una navegación rápida y segura en tus dispositivos, desde cualquier parte del mundo; un hotel, cafetería, aeropuerto...


Requisitos.

Antes de empezar el tutorial, debes tener:

  • Una Raspberry pi en tu red local, a ser posible la Pi 4. Aunque el modelo anterior funciona perfectamente sin un número elevado de  usuarios conectados.

  • Un equipo Windows, Linux o dispositivo Android conectado por SSH a la Raspberry Pi.

  • (Opcional). Un servicio DoH (DNS over HTTPS), si tampoco quieres que tu ISP sepa dónde navegas por Internet (dónde, no es desde dónde). En esta entrada tengo una solución para implementar DoH, para que las consultas DNS estén también cifradas, y no solo el tráfico datos.

Instalando WireGuard en la Raspberry Pi.

Lo primero será instalar el paquete WireGuard a través del script PIVPN.

1. Nos conectamos a la Raspberry Pi vía SSH y actualizamos los paquetes con 'sudo apt update'.

2. Descargamos y ejecutamos la última versión del script PIVPN. Podemos comprobar si el script contiene código malicioso, si sustituimos 'bash' por 'cat'.

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

3. Seguimos el proceso de instalación con las opciones por defecto, y cuando lleguemos a la ventana 'calibrating network interface', marcamos que no, SOLO si no tenemos una IP estática configurada en la Raspberry. La IP debe ser única para evitar problemas de conexión con el servidor.

4. Elige el usuario del servidor ( 'pi' por defecto) y en la ventana de la configuración PiVPN marcas WireGuard. OpenVPN es  una VPN mucho más lenta; y si no tienes una Raspberry Pi 4, y además, tienes levantado algún que otro servicio, te quedarás sin recursos en el servidor.

5. El puerto por defecto es 51820. Si quieres cambiarlo procura no utilizar uno que esté ya asignado (22, 53...).

6. En cuanto al proveedor DNS, si tenemos DoH el programa lo detectará y preguntará si quieres elegir tal opción. En caso contrario, elegiremos los de Google o CloudFlare. 

7. Marcamos nuestra IP pública que los clientes utilizarán para conectarse a tu servidor.

8. Una vez generados las llaves y elegir si quieres que se instalen de manera desatendida los parches de actualización, reiniciamos.

9. Levantamos la interfaz de WireGuard con 'wg-quick up wg0'

wg-quick up wg0

10. Finalmente, comprobamos que la interfaz está en marcha.

sudo wg show



Configurar un perfil de cliente WireGuard.

Vamos a crear un nuevo perfil para un usuario VPN, que se conectará al servidor importando el archivo en la aplicación cliente.
Puedes ver que no hay que introducir ninguna contraseña. Esto se debe a que cada lado del túnel tiene su propia clave generada y su clave pública originada.

sudo pivpn wg add


Vemos la lista de los clientes.



Conexión al servidor WireGuard.

Importamos a nuestro equipo cliente el archivo '.conf'. 
Esto lo podemos hacer a través de un servicio FTP, protocolo Samba, SCP, subirlo a la nube...
Recomiendo el programa WinScp para Windows, aunque la manera más sencilla sería montar un dispositivo USB en la Raspberry Pi y guardar los perfiles de conexión. 
O más fácil aún sería introducir el comando 'pivpn wg -qr' y escanear desde la aplicación cliente, el código QR que te aparecerá en pantalla.



Por último, lanzamos la aplicación cliente, importamos el archivo de configuración y listo.


Recuerda abrir en el router el puerto que hayas elegido (51820 por defecto) para acceder desde Internet.
Si quieres una conexión cifrada desde tu móvil Android al servidor, en la tienda de Google puedes descargar el cliente WireGuard.

Para comprobar que estás conectado a tu VPN desde Internet, puedes verificar cuál es tu IP desde el teléfono móvil y ver que coincide con la IP pública del router de tu casa.


  • Comparte:

Puede que también te guste

0 Reviews

Vuelve arriba