La configuración de OpenVPN funciona bajo CLI pero no en NetworkManager (falló el protocolo de enlace TLS)

La configuración de OpenVPN funciona bajo CLI pero no en NetworkManager (falló el protocolo de enlace TLS)

sudo openvpn --config [VPN-NAME].ovpn: funciona
Configuración de NetworkManager: no funciona (aunque es la misma configuración copiada)

[VPN-NAME].ovpn:

dev tun
persist-tun
persist-key
ncp-disable
cipher AES-256-CBC
auth SHA512
tls-client
client
resolv-retry infinite
remote [hostname] 1194 udp
setenv opt block-outside-dns
lport 0
verify-x509-name "[hostname]" name
auth-user-pass
remote-cert-tls server
<ca>
[CA CERTIFICATE]
</ca>
<cert>
[CERT CERTIFICATE]
</cert>
<key>
[CERT KEY]
</key>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
[TLS-KEY]
</tls-auth>

Configuración del administrador de red:

  • Certificados y claves copiados desde .ovpnarchivos discretos
  • Seleccionado "Tipo de conexión", valor "Contraseña con certificados (TLS)"
  • Puerta de enlace copiada y ruta(s) de archivo
  • Fui a "Avanzado..."
  • Copié y pegué [VPN-NAME] en la pestaña "Configuración TLS" y seleccioné "Verificar nombre exactamente".
  • Modo seleccionado "TLS-Auth", tls-auth.keyruta copiada y pegada, dirección clave "Cliente (1)"

tail -f /var/log/syslog:

debian NetworkManager[648]: <info>  [1609951704.7482] audit: op="statistics" arg="refresh-rate-ms" pid=2126 uid=1000 result="success"
debian NetworkManager[648]: <info>  [1609951706.1485] audit: op="connection-activate" uuid="1afd25e7-f3cd-472d-9a3b-31f1ad390479" name="VPN-NAME" pid=2126 uid=1000 result="success"
debian NetworkManager[648]: <info>  [1609951706.1505] vpn-connection[0x55ce8e0d02e0,1afd25e7-f3cd-472d-9a3b-31f1ad390479,"VPN-NAME",0]: Started the VPN service, PID 6763
debian NetworkManager[648]: <info>  [1609951706.1554] vpn-connection[0x55ce8e0d02e0,1afd25e7-f3cd-472d-9a3b-31f1ad390479,"VPN-NAME",0]: Saw the service appear; activating connection
debian NetworkManager[648]: <info>  [1609951706.1591] audit: op="statistics" arg="refresh-rate-ms" pid=2126 uid=1000 result="success"
debian NetworkManager[648]: <info>  [1609951706.2483] audit: op="statistics" arg="refresh-rate-ms" pid=2126 uid=1000 result="success"
debian NetworkManager[648]: <info>  [1609951711.8373] vpn-connection[0x55ce8e0d02e0,1afd25e7-f3cd-472d-9a3b-31f1ad390479,"VPN-NAME",0]: VPN plugin: state changed: starting (3)
debian nm-openvpn[6766]: OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 20 2019
debian nm-openvpn[6766]: library versions: OpenSSL 1.1.1d  10 Sep 2019, LZO 2.10
debian nm-openvpn[6766]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
debian nm-openvpn[6766]: TCP/UDP: Preserving recently used remote address: [AF_INET]A.B.C.D:1194
debian nm-openvpn[6766]: UDP link local: (not bound)
debian nm-openvpn[6766]: UDP link remote: [AF_INET]A.B.C.D:1194
debian nm-openvpn[6766]: NOTE: chroot will be delayed because of --client, --pull, or --up-delay
debian nm-openvpn[6766]: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
debian NetworkManager[648]: <warn>  [1609951772.4259] vpn-connection[0x55ce8e0d02e0,1afd25e7-f3cd-472d-9a3b-31f1ad390479,"VPN-NAME",0]: VPN connection: connect timeout exceeded.
debian nm-openvpn-serv[6763]: Connect timer expired, disconnecting.
debian NetworkManager[648]: <warn>  [1609951772.4316] vpn-connection[0x55ce8e0d02e0,1afd25e7-f3cd-472d-9a3b-31f1ad390479,"VPN-NAME",0]: VPN plugin: failed: connect-failed (1)
debian nm-openvpn[6766]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
debian NetworkManager[648]: <info>  [1609951772.4317] vpn-connection[0x55ce8e0d02e0,1afd25e7-f3cd-472d-9a3b-31f1ad390479,"VPN-NAME",0]: VPN plugin: state changed: stopping (5)
debian nm-openvpn[6766]: TLS Error: TLS handshake failed
debian NetworkManager[648]: <info>  [1609951772.4317] vpn-connection[0x55ce8e0d02e0,1afd25e7-f3cd-472d-9a3b-31f1ad390479,"VPN-NAME",0]: VPN plugin: state changed: stopped (6)
debian nm-openvpn[6766]: SIGTERM[hard,tls-error] received, process exiting

Entorno del sistema operativo:
Debian 10 (buster)
Kernel Linux debian 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
Network Manager: network-manager/stable,now 1.14.6-2+deb10u1 amd64
Complemento OpenVPN: network-manager-openvpn/stable,now 1.8.10-1 amd64
Cliente independiente OpenVPN ( openvpncomando):

OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 20 2019
library versions: OpenSSL 1.1.1d  10 Sep 2019, LZO 2.10

Parece syslogque el complemento OpenVPN para Network Manager usa el subyacente openvpnya instalado o tiene un cliente independiente que trae con la instalación del complemento, que tiene las mismas características/capacidades e incluso la versión independiente openvpn.

Entonces, no funciona (pero solo desde Network Manager, de forma independiente sí)...

Respuesta1

Los paquetes network-manager-openvpn (y posiblemente network-manager-openvpn-gnome) no pueden guardar los campos tls-auth. Estoy usando Ubuntu 22.04.3 LTS con network-manager-openvpn 1.8.18-1. Importé un archivo de configuración de OpenVPN y todos los campos se completaron correctamente excepto los relacionados con tls-auth. Incluso después de editar esos campos, los valores no se guardarían. Sin embargo, pude editar la conexión VPN usando nmcli, agregando valores para "ta" (archivo de clave TLS-Auth) y "ta-dir" (dirección de clave) a vpn.data. Luego, Network Manager se conecta exitosamente. El cuadro de diálogo de configuración incluso muestra los valores correctos; simplemente parece que no puede salvarlos.

No estoy seguro del estado de los errores. Aquí hay un informe de error que afirma que el problema se solucionó en NetworkManager-openvpn-1.8.8-1.fc29 en 2018:https://bugzilla.redhat.com/show_bug.cgi?id=1639811

Aquí hay un informe de error más reciente que describe lo que veo con casi las mismas versiones de paquetes:https://gitlab.gnome.org/GNOME/NetworkManager-openvpn/-/issues/105

información relacionada