A suposición razoable é que o .deb do teu portal GlobalProtect está roto, ou que o fabricante publicou unha compilación defectuosa. Normalmente non o está. A interface Linux do fabricante aínda liga contra Qt5 WebKit, e as versións máis recentes de Ubuntu xa non o inclúen, así que o paquete pide unha biblioteca que a túa distribución retirou a propósito. Iso é un desaxuste de empaquetado, non unha descarga corrupta, e esa diferenza decide se pasas a tarde forzando paquetes ou dez minutos escollendo outro cliente.

O paquete .deb non está roto

Unha dependencia que a distribución xa non inclúe é o resultado normal de retirar unha biblioteca. Qt5 WebKit desapareceu dos arquivos posteriores de Ubuntu e de Debian, e o motivo foi o mantemento de seguridade e non a falta de demanda. Cando iso ocorre, todo paquete que aínda liga contra ela deixa de poder instalarse, por ben construído que estivese.

Dous fallos relaciónanse como o mesmo erro e non o son. Nunha versión sen a biblioteca, o instalador detense cunha dependencia non satisfeita. Nunha versión onde o cliente se instala e despois falla ao iniciar sesión, o que ves é un problema de handshake TLS ou SAML dentro do compoñente de navegador integrado. O primeiro é empaquetado; o segundo é tempo de execución, e ningún dos dous se arranxa copiando bibliotecas antigas nun escritorio moderno.

Confirmar a dependencia en lugar de forzala

Instala o paquete de forma explícita para que a ferramenta nomee a dependencia sen resolver en vez de darte un resumo. Despois pregunta se a túa versión ten algún candidato, porque «non dispoñible aquí» e «temporalmente ausente deste espello» levan a decisións completamente distintas:

sudo apt install ./GlobalProtect_UI_deb-*.deb
apt-cache policy libqt5webkit5
apt-cache rdepends --installed libqt5webkit5

Se apt-cache policy non informa ningún candidato, deixa de tentar instalalo e comeza a escoller unha alternativa. O interesante non é o nome do paquete ausente; é o feito de que o grafo de dependencias do fabricante non se moveu coas distribucións que usan os teus usuarios.

Que lle fai ao escritorio forzar paquetes antigos

O truco que circula é sacar a biblioteca dunha versión anterior. Nun Ubuntu actual iso desemboca nun conflito de versión menor de Qt5: os paquetes antigos arrastran libqt5core5t64 cara atrás, e entón os paquetes KDE e PyQt xa instalados comezan a esixir unha versión de ABI que a biblioteca degradada xa non ofrece. O resultado é unha actualización parcial que rompe aplicacións sen relación, o que é unha tarde moito peor ca aquela coa que comezaches.

Ese resultado é o esperable e non é mala sorte. As expectativas de ABI de Qt para versións menores son estritas, e unha distribución entrega un conxunto coherente. Mesturar unha biblioteca doutra versión non é unha corrección puntual; é unha segunda actualización, menos controlada.

O mesmo consello vale para a variante do fallo en tempo de execución. Baixar o nivel de seguridade de OpenSSL en todo o sistema para que o handshake dun cliente antigo funcione cambia cada conexión TLS da máquina para reparar unha aplicación, incluído o xestor de paquetes que necesitarás cando algo máis rompa.

openconnect fala o protocolo

OpenConnect implementa o protocolo de GlobalProtect directamente, e as notas do protocolo describen tanto a invocación coma a división entre as dúas interfaces do servidor. O portal distribúe a configuración e a lista de pasarelas; a pasarela termina o túnel:

openconnect --protocol=gp vpn.example.com
openconnect --protocol=gp --authgroup=staff vpn.example.com

Se o portal omite a pasarela que necesitas, --usergroup=gateway ou un URL que remate en /gateway salta o paso do portal. Cando se ofrecen varias pasarelas, --authgroup=NAME escolle entre elas. A autenticación é un usuario e un contrasinal, opcionalmente cun certificado de cliente, e as pasarelas SAML funcionan na práctica mediante network-manager-openconnect en lugar dunha liña de comandos escrita á man.

Unha pasarela cunha política de postura estrita tamén pode esixir un informe HIP antes de entregar un túnel. OpenConnect pode xerar e enviar un, pero se a pasarela esixe un inventario que non pode producir, ningunha opción cambia esa política; é unha decisión do lado do servidor.

Verificar o túnel e saber que non arranxará openconnect

Comproba que aplicou realmente o túnel en lugar de fiarte da mensaxe de éxito. A pasarela envía o encamiñamento e a configuración como XML e o cliente aplícaos, así que unha ruta ausente é un problema de configuración ou de selección e non un fallo do cliente:

ip -4 addr show
ip route
resolvectl status

A MTU merece unha ollada propia. A configuración de GlobalProtect sempre informa unha MTU de cero, así que o cliente estima unha a partir da sobrecarga de encapsulación. As transferencias grandes que se atascan mentres as peticións pequenas funcionan son o síntoma clásico, e o remedio é unha MTU explícita na conexión en lugar de desactivar o descubrimento de ruta.

IPv6 é outra cousa aparte. PAN engadiuno en GlobalProtect 4.0, e o soporte de OpenConnect descríbese como experimental desde a versión 9.0, así que non deas por feito que a familia de enderezos se comporta como IPv4 só porque o túnel se levantou. E se a pasarela impón unha comprobación de postura que o cliente de código aberto non pode satisfacer, executa o cliente do fabricante nunha versión LTS compatible, nunha máquina virtual se a túa estación de traballo xa avanzou. Iso mantén intacto o escritorio e pon a dependencia heredada dentro dun límite que podes reconstruír.

Artigos relacionados