soyasi
10-Nov-2021, 10:26
Este método funciona tanto con wicked, como con netwokmanager, pero su activación y desactivación es manual
Voy a explicarlo detalladamente con una cuenta free de openvpn.
Lo primero que debemos de hacer es registrarnos en protonvpn, para conseguir nuestro usuario y contraseña ikev2:
https://i.ibb.co/V24YQGw/ikev2b.png (https://ibb.co/RzwTBKj)
Una vez obtenidos, copialos en un archivo de texto, ya que los usaremos más adelante.
posteriormente buscamos el apartado de archivos de configuración de openvpn
https://i.ibb.co/XZQYBdc/configprotonvpnfree.png (https://ibb.co/jvNJKxn)
y nos copiamos las direcciones de los servidores free que queramos utilizar, en este caso, dejo algunos de los que podemos usar:
Holanda
nl-free-01.protonvpn.com
nl-free-02.protonvpn.com
nl-free-03.protonvpn.com
nl-free-04.protonvpn.com
nl-free-05.protonvpn.com
nl-free-06.protonvpn.com
nl-free-07.protonvpn.com
nl-free-08.protonvpn.com
nl-free-09.protonvpn.com
nl-free-10.protonvpn.com
nl-free-11.protonvpn.com
USA
us-free-01.protonvpn.com
us-free-02.protonvpn.com
us-free-03.protonvpn.com
Japón
jp-free-01.protonvpn.com
jp-free-02.protonvpn.com
jp-free-03.protonvpn.com
Una vez obtenidos los datos que vamos a utilizar, instalamos los siguientes paquetes:
zypper in strongswan strongswan-ipsec strongswan-libs0
una vez instalados los paquetes, bajamos el certificado protonvpn y lo copiamos al directorio apropiado, hazlo como root o bien usando sudo.
wget https://protonvpn.com/download/ProtonVPN_ike_root.der -O /tmp/protonvpn.der
mv /tmp/protonvpn.der /etc/ipsec.d/cacerts/
comprueba que efectivamente el certificado se ha copiado en el directorio adecuado:
ls /etc/ipsec.d/cacerts
veras el certificado:
protonvpn.der
A partir de ahora deberemos de editar/configurar dos ficheros: ipsec.secrets e ipsec.conf.
El primero que yo edito es ipsec.secrets
dejando su contenido de la siguiente forma
usuario : EAP password/contraseña el usuario: es el código alfamunérico que hemos obtenido de la página web protonvpn (Ikev2) y hemos copiado en el archivo de texto y el password/contraseña: es la contraseña que hemos obtenido de la página web de protonvpn (ikev2) y hemos copiado en el archivo de texto. Con eso ya tenemos editado y configurado ipsec.secrets.
El segundo que edito es ipsec.conf
en mi caso, configuro 3 servidores, pero puedes configurar uno o los que desees, siempre guardando la misma estructura.
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup-->asegurate que has quitado la almohadilla
# strictcrlpolicy=yes
# uniqueids = no
# Add connections here.
# Sample VPN1 connections
conn protonvpn01-->nombre único de la conexión, en este caso protonvpn01
left=%defaultroute
leftsourceip=%config
leftauth=eap-mschapv2
eap_identity=--> ¡nombre de usuario de ikev2! (sin espacio después del símbolo =)
right=nl-free-01.protonvpn.com-->nombre del server con el que quieres conectar
rightsubnet=0.0.0.0/0
rightauth=pubkey
rightid=%nl-free-01.protonvpn.com-->nombre del server con el que quieres conectar(sin espacio después del signo %)
rightca=/etc/ipsec.d/cacerts/protonvpn.der-->ruta del certificado
keyexchange=ikev2
type=tunnel
auto=add
# Sample VPN2 connections
conn protonvpn02-->nombre único de la conexión, en este caso protonvpn02
left=%defaultroute
leftsourceip=%config
leftauth=eap-mschapv2
eap_identity=--> ¡nombre de usuario de ikev2!(sin espacio después del símbolo =)
right=nl-free-02.protonvpn.com-->nombre del server con el que quieres conectar
rightsubnet=0.0.0.0/0
rightauth=pubkey
rightid=%nl-free-02.protonvpn.com-->nombre del server con el que quieres conectar(sin espacio después del signo %)
rightca=/etc/ipsec.d/cacerts/protonvpn.der-->ruta del certificado
keyexchange=ikev2
type=tunnel
auto=add
# Sample VPN3 connections
conn protonvpn03-->nombre único de la conexión, en este caso protonvpn03
left=%defaultroute
leftsourceip=%config
leftauth=eap-mschapv2
eap_identity=--> ¡nombre de usuario de ikev2!(sin espacio después del símbolo =)
right=nl-free-03.protonvpn.com-->nombre del server con el que quieres conectar
rightsubnet=0.0.0.0/0
rightauth=pubkey
rightid=%nl-free-03.protonvpn.com-->nombre del server con el que quieres conectar(sin espacio después del signo %)
rightca=/etc/ipsec.d/cacerts/protonvpn.der-->ruta del certificado
keyexchange=ikev2
type=tunnel
auto=add
Con esto ya hemos editado/configurado nuestra conexión, grabamos y salimos.
¿como arrancamos y comprobamos que todo esta bien?
ipsec start ó ipsec restart si no hemos desconectado correctamente, de esta forma eliminas los pid creados anteriormente.
linux:/home/soyasi # ipsec start
Starting strongSwan 5.8.2 IPsec [starter]...
linux:/home/soyasi # ipsec restart
Stopping strongSwan IPsec...
Starting strongSwan 5.8.2 IPsec [starter]...
Ahora toca levantar la vpn que hayamos elegido: en este caso ipsec up protonvpn03
linux:/home/soyasi # ipsec up protonvpn03
initiating IKE_SA protonvpn03[1] to 192.40.57.231
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.1.3[500] to 192.40.57.231[500] (1080 bytes), src family: 2
received packet: from 192.40.57.231[500] to 192.168.1.3[500] (60 bytes)
parsed IKE_SA_INIT response 0 [ N(COOKIE) ]
initiating IKE_SA protonvpn03[1] to 192.40.57.231
generating IKE_SA_INIT request 0 [ N(COOKIE) SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.1.3[500] to 192.40.57.231[500] (1112 bytes), src family: 2
received packet: from 192.40.57.231[500] to 192.168.1.3[500] (38 bytes)
parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ]
peer didn't accept DH group ECP_256, it requested ECP_384
initiating IKE_SA protonvpn03[1] to 192.40.57.231
generating IKE_SA_INIT request 0 [ N(COOKIE) SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.1.3[500] to 192.40.57.231[500] (1144 bytes), src family: 2
received packet: from 192.40.57.231[500] to 192.168.1.3[500] (304 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ]
selected proposal: IKE:AES_GCM_16_256/PRF_HMAC_SHA2_384/ECP_384
local host is behind NAT, sending keep alives
remote host is behind NAT
sending cert request for "C=CH, O=ProtonVPN AG, CN=ProtonVPN Root CA"
no IDi configured, fall back on IP address
establishing CHILD_SA protonvpn03{1}
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (306 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (1248 bytes)
parsed IKE_AUTH response 1 [ EF(1/3) ]
received fragment #1 of 3, waiting for complete IKE message
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (1248 bytes)
parsed IKE_AUTH response 1 [ EF(2/3) ]
received fragment #2 of 3, waiting for complete IKE message
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (1231 bytes)
parsed IKE_AUTH response 1 [ EF(3/3) ]
received fragment #3 of 3, reassembled fragmented IKE message (3601 bytes)
parsed IKE_AUTH response 1 [ IDr CERT CERT AUTH EAP/REQ/ID ]
received end entity cert "CN=lxc-nl-17.protonvpn.com"
received issuer cert "C=CH, O=ProtonVPN AG, CN=ProtonVPN Intermediate CA 1"
using certificate "CN=lxc-nl-17.protonvpn.com"
using untrusted intermediate certificate "C=CH, O=ProtonVPN AG, CN=ProtonVPN Intermediate CA 1"
checking certificate status of "CN=lxc-nl-17.protonvpn.com"
certificate status is not available
using trusted ca certificate "C=CH, O=ProtonVPN AG, CN=ProtonVPN Root CA"
checking certificate status of "C=CH, O=ProtonVPN AG, CN=ProtonVPN Intermediate CA 1"
certificate status is not available
reached self-signed root ca with a path length of 1
authentication of '192.40.57.231' with RSA_EMSA_PKCS1_SHA2_384 successful
server requested EAP_IDENTITY (id 0x00), sending 'XXXXXXXXXXXXXXXXXXXXXX'
generating IKE_AUTH request 2 [ EAP/RES/ID ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (90 bytes), src family: 2
retransmit 1 of request with message ID 2
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (90 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (83 bytes)
parsed IKE_AUTH response 2 [ EAP/REQ/MD5 ]
server requested EAP_MD5 authentication (id 0x01)
requesting EAP_MSCHAPV2 authentication, sending EAP_NAK
generating IKE_AUTH request 3 [ EAP/RES/NAK ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (67 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (104 bytes)
parsed IKE_AUTH response 3 [ EAP/REQ/MSCHAPV2 ]
server requested EAP_MSCHAPV2 authentication (id 0x02)
generating IKE_AUTH request 4 [ EAP/RES/MSCHAPV2 ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (144 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (112 bytes)
parsed IKE_AUTH response 4 [ EAP/REQ/MSCHAPV2 ]
EAP-MS-CHAPv2 succeeded: '(null)'
generating IKE_AUTH request 5 [ EAP/RES/MSCHAPV2 ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (67 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (65 bytes)
parsed IKE_AUTH response 5 [ EAP/SUCC ]
EAP method EAP_MSCHAPV2 succeeded, MSK established
authentication of '192.168.1.3' (myself) with EAP
generating IKE_AUTH request 6 [ AUTH ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (113 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (401 bytes)
parsed IKE_AUTH response 6 [ AUTH CPRP(ADDR DNS MASK) SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ]
authentication of '192.40.57.231' with EAP successful
IKE_SA protonvpn03[1] established between 192.168.1.3[192.168.1.3]...192.40.57.231[192.40.57.231]
scheduling reauthentication in 9729s
maximum IKE_SA lifetime 10269s
installing DNS server 10.1.0.1 to /run/strongswan/resolv.conf
handling INTERNAL_IP4_NETMASK attribute failed
installing new virtual IP 10.1.164.180
selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
CHILD_SA protonvpn03{1} established with SPIs c4e6bd70_i cae2cfe4_o and TS 10.1.164.180/32 === 0.0.0.0/0
received AUTH_LIFETIME of 13750s, reauthentication already scheduled in 9729s
connection 'protonvpn03' established successfully
si vemos que en vez de connection 'protonvpn03' established successfully el final es failed probaremos a levantar otra de las que tengamos configuradas, ya que al ser gratuitos pueden haber llegado al 100% de ocupación.
para comprobar que todo es correcto: ipsec status
linux:/home/soyasi # ipsec status
Security Associations (1 up, 0 connecting):
ike_sa 0
--------
protonvpn03[1]: ESTABLISHED 7 minutes ago, 192.168.1.3[192.168.1.3]...192.40.57.231[192.40.57.231]
child_sa 0-0
------------
protonvpn03{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: c4e6bd70_i cae2cfe4_o
protonvpn03{1}: 10.1.164.180/32 === 0.0.0.0/0
cuando no queramos estar conectado a la vpn: ipsec down protonvpn03
linux:/home/soyasi # ipsec down protonvpn03
deleting IKE_SA protonvpn03[1] between 192.168.1.3[192.168.1.3]...192.40.57.231[192.40.57.231]
sending DELETE for IKE_SA protonvpn03[1]
generating INFORMATIONAL request 7 [ D ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (65 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (57 bytes)
parsed INFORMATIONAL response 7 [ ]
IKE_SA deleted
IKE_SA [1] closed successfully
¡ojo! asegurate siempre de hacer un bak de los archivos. Se podría usar yast2-vpn para hacer la configuración, pero lo encuento más complicado.
Si quieres hacer la prueba, tener en cuenta que yast2-vpn borra cualquier fichero modificado manualmente.
Agradecer a Victorhck (https://victorhckinthefreeworld.com/) el artículo que publicó en su día de protonvpn (https://victorhckinthefreeworld.com/2020/04/24/todas-aplicaciones-protonmail-protonvpn-software-libre-auditadas/), ya que sin su publicación, probablemente no lo hubiera conocido.
Espero que les sirva de ayuda.
soyasi
Voy a explicarlo detalladamente con una cuenta free de openvpn.
Lo primero que debemos de hacer es registrarnos en protonvpn, para conseguir nuestro usuario y contraseña ikev2:
https://i.ibb.co/V24YQGw/ikev2b.png (https://ibb.co/RzwTBKj)
Una vez obtenidos, copialos en un archivo de texto, ya que los usaremos más adelante.
posteriormente buscamos el apartado de archivos de configuración de openvpn
https://i.ibb.co/XZQYBdc/configprotonvpnfree.png (https://ibb.co/jvNJKxn)
y nos copiamos las direcciones de los servidores free que queramos utilizar, en este caso, dejo algunos de los que podemos usar:
Holanda
nl-free-01.protonvpn.com
nl-free-02.protonvpn.com
nl-free-03.protonvpn.com
nl-free-04.protonvpn.com
nl-free-05.protonvpn.com
nl-free-06.protonvpn.com
nl-free-07.protonvpn.com
nl-free-08.protonvpn.com
nl-free-09.protonvpn.com
nl-free-10.protonvpn.com
nl-free-11.protonvpn.com
USA
us-free-01.protonvpn.com
us-free-02.protonvpn.com
us-free-03.protonvpn.com
Japón
jp-free-01.protonvpn.com
jp-free-02.protonvpn.com
jp-free-03.protonvpn.com
Una vez obtenidos los datos que vamos a utilizar, instalamos los siguientes paquetes:
zypper in strongswan strongswan-ipsec strongswan-libs0
una vez instalados los paquetes, bajamos el certificado protonvpn y lo copiamos al directorio apropiado, hazlo como root o bien usando sudo.
wget https://protonvpn.com/download/ProtonVPN_ike_root.der -O /tmp/protonvpn.der
mv /tmp/protonvpn.der /etc/ipsec.d/cacerts/
comprueba que efectivamente el certificado se ha copiado en el directorio adecuado:
ls /etc/ipsec.d/cacerts
veras el certificado:
protonvpn.der
A partir de ahora deberemos de editar/configurar dos ficheros: ipsec.secrets e ipsec.conf.
El primero que yo edito es ipsec.secrets
dejando su contenido de la siguiente forma
usuario : EAP password/contraseña el usuario: es el código alfamunérico que hemos obtenido de la página web protonvpn (Ikev2) y hemos copiado en el archivo de texto y el password/contraseña: es la contraseña que hemos obtenido de la página web de protonvpn (ikev2) y hemos copiado en el archivo de texto. Con eso ya tenemos editado y configurado ipsec.secrets.
El segundo que edito es ipsec.conf
en mi caso, configuro 3 servidores, pero puedes configurar uno o los que desees, siempre guardando la misma estructura.
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup-->asegurate que has quitado la almohadilla
# strictcrlpolicy=yes
# uniqueids = no
# Add connections here.
# Sample VPN1 connections
conn protonvpn01-->nombre único de la conexión, en este caso protonvpn01
left=%defaultroute
leftsourceip=%config
leftauth=eap-mschapv2
eap_identity=--> ¡nombre de usuario de ikev2! (sin espacio después del símbolo =)
right=nl-free-01.protonvpn.com-->nombre del server con el que quieres conectar
rightsubnet=0.0.0.0/0
rightauth=pubkey
rightid=%nl-free-01.protonvpn.com-->nombre del server con el que quieres conectar(sin espacio después del signo %)
rightca=/etc/ipsec.d/cacerts/protonvpn.der-->ruta del certificado
keyexchange=ikev2
type=tunnel
auto=add
# Sample VPN2 connections
conn protonvpn02-->nombre único de la conexión, en este caso protonvpn02
left=%defaultroute
leftsourceip=%config
leftauth=eap-mschapv2
eap_identity=--> ¡nombre de usuario de ikev2!(sin espacio después del símbolo =)
right=nl-free-02.protonvpn.com-->nombre del server con el que quieres conectar
rightsubnet=0.0.0.0/0
rightauth=pubkey
rightid=%nl-free-02.protonvpn.com-->nombre del server con el que quieres conectar(sin espacio después del signo %)
rightca=/etc/ipsec.d/cacerts/protonvpn.der-->ruta del certificado
keyexchange=ikev2
type=tunnel
auto=add
# Sample VPN3 connections
conn protonvpn03-->nombre único de la conexión, en este caso protonvpn03
left=%defaultroute
leftsourceip=%config
leftauth=eap-mschapv2
eap_identity=--> ¡nombre de usuario de ikev2!(sin espacio después del símbolo =)
right=nl-free-03.protonvpn.com-->nombre del server con el que quieres conectar
rightsubnet=0.0.0.0/0
rightauth=pubkey
rightid=%nl-free-03.protonvpn.com-->nombre del server con el que quieres conectar(sin espacio después del signo %)
rightca=/etc/ipsec.d/cacerts/protonvpn.der-->ruta del certificado
keyexchange=ikev2
type=tunnel
auto=add
Con esto ya hemos editado/configurado nuestra conexión, grabamos y salimos.
¿como arrancamos y comprobamos que todo esta bien?
ipsec start ó ipsec restart si no hemos desconectado correctamente, de esta forma eliminas los pid creados anteriormente.
linux:/home/soyasi # ipsec start
Starting strongSwan 5.8.2 IPsec [starter]...
linux:/home/soyasi # ipsec restart
Stopping strongSwan IPsec...
Starting strongSwan 5.8.2 IPsec [starter]...
Ahora toca levantar la vpn que hayamos elegido: en este caso ipsec up protonvpn03
linux:/home/soyasi # ipsec up protonvpn03
initiating IKE_SA protonvpn03[1] to 192.40.57.231
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.1.3[500] to 192.40.57.231[500] (1080 bytes), src family: 2
received packet: from 192.40.57.231[500] to 192.168.1.3[500] (60 bytes)
parsed IKE_SA_INIT response 0 [ N(COOKIE) ]
initiating IKE_SA protonvpn03[1] to 192.40.57.231
generating IKE_SA_INIT request 0 [ N(COOKIE) SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.1.3[500] to 192.40.57.231[500] (1112 bytes), src family: 2
received packet: from 192.40.57.231[500] to 192.168.1.3[500] (38 bytes)
parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ]
peer didn't accept DH group ECP_256, it requested ECP_384
initiating IKE_SA protonvpn03[1] to 192.40.57.231
generating IKE_SA_INIT request 0 [ N(COOKIE) SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.1.3[500] to 192.40.57.231[500] (1144 bytes), src family: 2
received packet: from 192.40.57.231[500] to 192.168.1.3[500] (304 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ]
selected proposal: IKE:AES_GCM_16_256/PRF_HMAC_SHA2_384/ECP_384
local host is behind NAT, sending keep alives
remote host is behind NAT
sending cert request for "C=CH, O=ProtonVPN AG, CN=ProtonVPN Root CA"
no IDi configured, fall back on IP address
establishing CHILD_SA protonvpn03{1}
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (306 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (1248 bytes)
parsed IKE_AUTH response 1 [ EF(1/3) ]
received fragment #1 of 3, waiting for complete IKE message
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (1248 bytes)
parsed IKE_AUTH response 1 [ EF(2/3) ]
received fragment #2 of 3, waiting for complete IKE message
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (1231 bytes)
parsed IKE_AUTH response 1 [ EF(3/3) ]
received fragment #3 of 3, reassembled fragmented IKE message (3601 bytes)
parsed IKE_AUTH response 1 [ IDr CERT CERT AUTH EAP/REQ/ID ]
received end entity cert "CN=lxc-nl-17.protonvpn.com"
received issuer cert "C=CH, O=ProtonVPN AG, CN=ProtonVPN Intermediate CA 1"
using certificate "CN=lxc-nl-17.protonvpn.com"
using untrusted intermediate certificate "C=CH, O=ProtonVPN AG, CN=ProtonVPN Intermediate CA 1"
checking certificate status of "CN=lxc-nl-17.protonvpn.com"
certificate status is not available
using trusted ca certificate "C=CH, O=ProtonVPN AG, CN=ProtonVPN Root CA"
checking certificate status of "C=CH, O=ProtonVPN AG, CN=ProtonVPN Intermediate CA 1"
certificate status is not available
reached self-signed root ca with a path length of 1
authentication of '192.40.57.231' with RSA_EMSA_PKCS1_SHA2_384 successful
server requested EAP_IDENTITY (id 0x00), sending 'XXXXXXXXXXXXXXXXXXXXXX'
generating IKE_AUTH request 2 [ EAP/RES/ID ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (90 bytes), src family: 2
retransmit 1 of request with message ID 2
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (90 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (83 bytes)
parsed IKE_AUTH response 2 [ EAP/REQ/MD5 ]
server requested EAP_MD5 authentication (id 0x01)
requesting EAP_MSCHAPV2 authentication, sending EAP_NAK
generating IKE_AUTH request 3 [ EAP/RES/NAK ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (67 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (104 bytes)
parsed IKE_AUTH response 3 [ EAP/REQ/MSCHAPV2 ]
server requested EAP_MSCHAPV2 authentication (id 0x02)
generating IKE_AUTH request 4 [ EAP/RES/MSCHAPV2 ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (144 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (112 bytes)
parsed IKE_AUTH response 4 [ EAP/REQ/MSCHAPV2 ]
EAP-MS-CHAPv2 succeeded: '(null)'
generating IKE_AUTH request 5 [ EAP/RES/MSCHAPV2 ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (67 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (65 bytes)
parsed IKE_AUTH response 5 [ EAP/SUCC ]
EAP method EAP_MSCHAPV2 succeeded, MSK established
authentication of '192.168.1.3' (myself) with EAP
generating IKE_AUTH request 6 [ AUTH ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (113 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (401 bytes)
parsed IKE_AUTH response 6 [ AUTH CPRP(ADDR DNS MASK) SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ]
authentication of '192.40.57.231' with EAP successful
IKE_SA protonvpn03[1] established between 192.168.1.3[192.168.1.3]...192.40.57.231[192.40.57.231]
scheduling reauthentication in 9729s
maximum IKE_SA lifetime 10269s
installing DNS server 10.1.0.1 to /run/strongswan/resolv.conf
handling INTERNAL_IP4_NETMASK attribute failed
installing new virtual IP 10.1.164.180
selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
CHILD_SA protonvpn03{1} established with SPIs c4e6bd70_i cae2cfe4_o and TS 10.1.164.180/32 === 0.0.0.0/0
received AUTH_LIFETIME of 13750s, reauthentication already scheduled in 9729s
connection 'protonvpn03' established successfully
si vemos que en vez de connection 'protonvpn03' established successfully el final es failed probaremos a levantar otra de las que tengamos configuradas, ya que al ser gratuitos pueden haber llegado al 100% de ocupación.
para comprobar que todo es correcto: ipsec status
linux:/home/soyasi # ipsec status
Security Associations (1 up, 0 connecting):
ike_sa 0
--------
protonvpn03[1]: ESTABLISHED 7 minutes ago, 192.168.1.3[192.168.1.3]...192.40.57.231[192.40.57.231]
child_sa 0-0
------------
protonvpn03{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: c4e6bd70_i cae2cfe4_o
protonvpn03{1}: 10.1.164.180/32 === 0.0.0.0/0
cuando no queramos estar conectado a la vpn: ipsec down protonvpn03
linux:/home/soyasi # ipsec down protonvpn03
deleting IKE_SA protonvpn03[1] between 192.168.1.3[192.168.1.3]...192.40.57.231[192.40.57.231]
sending DELETE for IKE_SA protonvpn03[1]
generating INFORMATIONAL request 7 [ D ]
sending packet: from 192.168.1.3[4500] to 192.40.57.231[4500] (65 bytes), src family: 2
received packet: from 192.40.57.231[4500] to 192.168.1.3[4500] (57 bytes)
parsed INFORMATIONAL response 7 [ ]
IKE_SA deleted
IKE_SA [1] closed successfully
¡ojo! asegurate siempre de hacer un bak de los archivos. Se podría usar yast2-vpn para hacer la configuración, pero lo encuento más complicado.
Si quieres hacer la prueba, tener en cuenta que yast2-vpn borra cualquier fichero modificado manualmente.
Agradecer a Victorhck (https://victorhckinthefreeworld.com/) el artículo que publicó en su día de protonvpn (https://victorhckinthefreeworld.com/2020/04/24/todas-aplicaciones-protonmail-protonvpn-software-libre-auditadas/), ya que sin su publicación, probablemente no lo hubiera conocido.
Espero que les sirva de ayuda.
soyasi