VPN gratis en Linux Debian con ProtonVPN

Tutorial que explica cómo instalar un servicio de VPN de forma gratuita en Debian usando el servicio de ProtonVPN que aunque gratuito es relativamente rápido.

¿Que es VPN?

Una VPN (Virtual Private Network) en sí es una conexión que permite acceder de forma virtual a una red privada, útil para configurar redes o garantizar acceso cuando los dispositivos no están físicamente en el mismo lugar.
Sin embargo este tutorial se refiere al uso de servidores proxy mediante la tecnología VPN.
Normalmente cuando usamos internet nuestro PC se conecta al  router, este se conecta a nuestro ISP (Proveedor de Internet) y de ahí a la página web o servicio al que queremos acceder.  De esta forma por ejemplo nuestro ISP tiene acceso a todo lo que hacemos en internet.

Usando una VPN en cambio, nuestra PC se conecta al router, este al ISP, luego al servidor VPN y por último a la página web o servicio que queremos acceder, de esta forma por ejemplo nuestro ISP no puede ver a qué páginas o servicios accedemos, pudiendo ver solo la conexión con el servidor VPN. De la misma forma los servicios y páginas a los que accedemos tampoco verán nuestra dirección IP, sino la del servidor VPN.

Sobre ProtonVPN:

ProtonVPN es un servicio atractivo para usuarios que no desean pagar ni tienen pretensiones de conectarse desde una ubicación específica en su versión gratuita (La versión premium soporta cerca de 40 países).
El servicio está disponible para Linux, Windows, Macintosh, Android y iOS.
Usa los protocolos de encriptación IKEv2 con  AES-256 y puede accederse mediante TOR.

Cómo configurar ProtonVPN en Linux Debian:

ProtonVPN se descarga desde la web  https://protonvpn.com/, clickeando en el boton verde GET PROTONVPN NOW que se muestra en la siguiente imagen.

vpn gratis linux


En la siguiente pantalla seleccionamos la opción GET FREE de la izquierda y nos llevará al formulario de registro.

VPN gratis linux



Llenamos los campos en el formulario de registro como muestra la siguiente imagen.

instalar vpn gratis debian




Confirme el medio de verificación y presione el botón Send.

configurar vpn debian


En mi caso seleccione la verificación vía mail que es donde llego el código de verificación:

Instalar ProtonVPN Debian


El código de verificación debe ingresarse en el formulario de registro y presionar el boton Verify.

Configurar protonvpn Linux




Tras ingresar el código de verificación ingresamos al panel de control.

descargar Proton vpn linux


Tras completar el registro empezamos la instalación desde la consola, primero instalando el paquete strongswan ejecutando el siguiente comando:

sudo apt install strongswan -y
instalar strongswan debian


Una vez instalado instalamos los paquetes libstrongswan-extra-plugins y libcharon-extra-plugins ejecutando:

sudo apt install libstrongswan-extra-plugins libcharon-extra-plugins


Una vez instalados los paquetes se debe descargar el certificado de ProtonVPN ejecutando el siguiente comando cómo muestra la imagen:

wget https://protonvpn.com/download/ProtonVPN_ike_root.der -O /tmp/protonvpn.der
descargar protonvpn linux debian

Movemos el certificado al directorio ipsec.d ejecutando el siguiente comando:

sudo mv /tmp/protonvpn.der /etc/ipsec.d/cacerts/

Con su editor preferido edite el archivo /etc/ipsec.conf, en mi caso elegí nano como muestra la imagen de abajo:

nano /etc/ipsec.conf

El archivo /etc/ipsec.conf mostrará contenido similar al de la siguiente imagen:


Debajo de Sample VPN connections hay que añadir lo siguiente:

conn ProtonVPN
 left=%defaultroute
 leftsourceip=%config
 leftauth=eap-mschapv2
 eap_identity=<USUARIO-OPENVPN-AQUI>
 right=nl-free-01.protonvpn.com
 rightsubnet=0.0.0.0/0
 rightauth=pubkey
 rightid=%nl-free-01.protonvpn.com
 rightca=/etc/ipsec.d/cacerts/protonvpn.der
 keyexchange=ikev2
 type=tunnel
 auto=add


Reemplace <USUARIO-OPENVPN-AQUI> por el nombre de usuario OpenVPN/IKEv2 que se encuentra en el panel de control en la web de ProtonVPN> Account> OpenVPN/IKEv2 como muestra la siguiente imagen:



La siguiente imagen muestra mi configuración del archivo ipsec.conf. También es posible cambiar de servidor, reemplazando nl-free-01.protonvpn.com por alguno de los servers disponibles en el plan gratuito o seleccionado.

Los servidores disponibles de ProtonVPN pueden encontrarse en la sección de descargas del Dashboard (https://account.protonvpn.com/downloads).


Cierre el editor guardando cambios (si decidio usar nano presione CTRL+X para salir de nano guardando cambios). Luego vuelva a ejecutar nano para editar el archivo /etc/ipsec.secrets y añadir nuestras credenciales OpenVPN/IKEv2:

sudo nano /etc/ipsec.secrets

En el archivo ipsec.secrets deberemos agregar “USUARIO : EAP CONTRASEÑA” como muestra la siguiente imagen, donde 5ZfHluprioP4Y0bX debe ser reemplazado por su nombre de usuario OpenVPN/IKEv2, y YFwQTeie9pn0guZMdN8AbptcWDBFWT debe ser reemplazado por su actual contraseña OpenVPN/IKEv2.

Una vez agregados nombre de usuario y contraseña, cerramos presionando CTRL+X

Por ultimo, reiniciamos el servicio IPSEC ejecutando:

sudo ipsec restart

Para conectarse mediante ProtonVPN ejecute el siguiente comando:

sudo ipsec up ProtonVPN

El proceso de conexión comienza, y en segundos debería poder conectarse mediante VPN:

configurar proton vpn

Puede confirmar el funcionamiento VPN buscando su propia IP en Google:

encontrar direccion ip vpn

Para desactivar la VPN, simplemente ejecute:

sudo ipsec down ProtonVPN

Espero que encuentren este tutorial útil, muchas gracias por seguir Linux Latinoamérica.