Razumna pretpostavka je da je .deb s vašeg GlobalProtect portala pokvaren ili da je proizvođač isporučio lošu gradnju. Obično nije. Linux sučelje proizvođača još se povezuje s Qt5 WebKit, a novija Ubuntu izdanja ga više ne isporučuju, pa paket traži biblioteku koju je vaša distribucija namjerno uklonila. To je neusklađenost pakiranja, a ne oštećeno preuzimanje, i ta razlika odlučuje hoćete li poslijepodne potrošiti na prisiljavanje paketa ili deset minuta na odabir drugog klijenta.

Paket .deb nije pokvaren

Ovisnost koju distribucija više ne nosi normalan je ishod umirovljenja biblioteke. Qt5 WebKit uklonjen je iz kasnijih Ubuntu arhiva i iz Debiana, a razlog je bilo sigurnosno održavanje, a ne manjak potražnje. Kad se to dogodi, svaki paket koji se još povezuje s njim prestaje biti instalabilan, koliko god dobro bio izgrađen.

Dva kvara prijavljuju se kao isti bug i nisu. Na izdanju bez biblioteke instalater staje na nezadovoljenoj ovisnosti. Na izdanju na kojem se klijent instalira i zatim padne pri prijavi, gledate problem s TLS ili SAML rukovanjem unutar ugrađene komponente preglednika. Prvo je pakiranje; drugo je vrijeme izvršavanja, i nijedno se ne popravlja kopiranjem starih biblioteka u modernu radnu površinu.

Potvrdite ovisnost umjesto da je prisiljavate

Instalirajte paket izričito kako bi alat imenovao neriješenu ovisnost umjesto da vam da sažetak. Zatim pitajte ima li vaše izdanje uopće kandidata, jer „nije dostupno ovdje“ i „privremeno nedostaje u ovom zrcalu“ vode do posve različitih odluka:

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

Ako apt-cache policy ne prijavi nijednog kandidata, prestanite ga pokušavati instalirati i počnite birati alternativu. Zanimljiv nije naziv paketa koji nedostaje; zanimljivo je da se graf ovisnosti proizvođača nije pomaknuo s distribucijama koje vaši korisnici pokreću.

Što prisiljavanje starih paketa čini radnoj površini

Zaobilazno rješenje koje kruži jest povući biblioteku iz starijeg izdanja. Na aktualnom Ubuntu to završava u sukobu manje verzije Qt5: stariji paketi vuku libqt5core5t64 unatrag, a onda instalirani KDE i PyQt paketi počinju tražiti verziju ABI-ja koju degradirana biblioteka više ne pruža. Rezultat je djelomična nadogradnja koja razbija nepovezane programe, što je mnogo gore poslijepodne od onoga s kojim ste počeli.

Taj je ishod očekivan, a ne nesretan. Qtova očekivanja ABI-ja za manje verzije stroga su, a distribucija isporučuje jedan usklađen skup. Umiješati biblioteku iz drugog izdanja nije ciljana popravka; to je druga, slabije kontrolirana nadogradnja.

Isti savjet vrijedi za izvršnu inačicu kvara. Spuštanje OpenSSL sigurnosne razine na razini sustava kako bi rukovanje starog klijenta uspjelo mijenja svaku TLS vezu na stroju da bi popravilo jednu aplikaciju, uključujući upravitelj paketa koji će vam trebati kad se nešto drugo pokvari.

openconnect govori tim protokolom

OpenConnect izravno implementira GlobalProtect protokol, a bilješke o protokolu opisuju i poziv i podjelu između dvaju poslužiteljskih sučelja. Portal dijeli postavke i popis pristupnika; pristupnik završava tunel:

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

Ako portal izostavi pristupnik koji vam treba, --usergroup=gateway ili URL koji završava na /gateway preskače korak portala. Kad se nudi nekoliko pristupnika, --authgroup=NAME bira među njima. Autentikacija je korisničko ime i lozinka, neobavezno s klijentskim certifikatom, a SAML pristupnici u praksi rade putem network-manager-openconnect umjesto ručno upisane naredbene linije.

Pristupnik sa strogom politikom posture može također zahtijevati HIP izvješće prije nego izda tunel. OpenConnect ga može generirati i poslati, ali ako pristupnik traži inventuru koju ne može proizvesti, nijedna zastavica ne mijenja tu politiku; to je odluka na strani poslužitelja.

Provjerite tunel i znajte što openconnect neće popraviti

Provjerite što je tunel stvarno primijenio umjesto da vjerujete poruci o uspjehu. Pristupnik šalje usmjeravanje i konfiguraciju kao XML i klijent ih primjenjuje, pa je ruta koja nedostaje problem konfiguracije ili odabira, a ne bug klijenta:

ip -4 addr show
ip route
resolvectl status

MTU zaslužuje zaseban pogled. GlobalProtect konfiguracija uvijek prijavljuje MTU nulu, pa klijent procjenjuje vrijednost iz troška enkapsulacije. Veliki prijenosi koji zapnu dok mali zahtjevi prolaze klasičan su simptom, a lijek je izričit MTU na vezi, a ne isključivanje otkrivanja putanje.

IPv6 je opet zasebna priča. PAN ga je dodao u GlobalProtect 4.0, a OpenConnectova podrška od verzije 9.0 opisuje se kao eksperimentalna, pa ne pretpostavljajte da se obitelj adresa ponaša kao IPv4 samo zato što se tunel podigao. A ako pristupnik nameće provjeru posture koju klijent otvorenog koda ne može zadovoljiti, pokrenite klijent proizvođača na podržanom LTS izdanju, u virtualnom stroju ako je vaša radna stanica već otišla dalje. Time radna površina ostaje netaknuta, a naslijeđena ovisnost završava unutar granice koju možete ponovno izgraditi.

Povezani članci