Razumna pretpostavka je da je .deb s vašeg GlobalProtect portala pokvaren ili da je proizvođač poslao loš build. Obično nije. Linux sučelje proizvođača još se linka na Qt5 WebKit, a novija izdanja Ubuntua ga više ne dostavljaju, pa paket traži biblioteku koju je vaša distribucija namjerno uklonila. To je neusklađenost pakovanja, a ne oštećeno preuzimanje, i ta razlika odlučuje hoćete li popodne provesti prisiljavajući pakete ili deset minuta birajući drugi klijent.

Paket .deb nije pokvaren

Zavisnost koju distribucija više ne nosi normalan je ishod povlačenja biblioteke iz upotrebe. Qt5 WebKit je uklonjen iz kasnijih arhiva Ubuntua i iz Debiana, a razlog je bilo sigurnosno održavanje, a ne nedostatak potražnje. Kad se to dogodi, svaki paket koji se još linka na njega prestaje biti instalabilan, koliko god dobro bio izgrađen.

Dva kvara se prijavljuju kao isti bug i nisu. Na izdanju bez biblioteke instalater staje na nezadovoljenoj zavisnosti. 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 pakovanje; drugo je vrijeme izvršavanja, i nijedno se ne popravlja kopiranjem starih biblioteka u modernu radnu površinu.

Potvrdite zavisnost umjesto da je prisiljavate

Instalirajte paket izričito kako bi alat imenovao neriješenu zavisnost 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 ogledalu“ 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 zavisnosti proizvođača nije pomjerio s distribucijama koje vaši korisnici pokreću.

Šta prisiljavanje starih paketa radi radnoj površini

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

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

Isti savjet vrijedi za izvršnu varijantu kvara. Spuštanje OpenSSL sigurnosnog nivoa na nivou sistema kako bi rukovanje starog klijenta uspjelo mijenja svaku TLS vezu na mašini 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 dva serverska sučelja. Portal dijeli postavke i spisak 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 preko network-manager-openconnect umjesto ručno upisane komandne linije.

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

Provjerite tunel i znajte šta openconnect neće popraviti

Provjerite šta 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 poseban 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 posebna priča. PAN ga je dodao u GlobalProtect 4.0, a OpenConnect podrška se od verzije 9.0 opisuje kao eksperimentalna, pa ne pretpostavljajte da se porodica 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 virtualnoj mašini ako je vaša radna stanica već otišla dalje. Time radna površina ostaje netaknuta, a naslijeđena zavisnost završava unutar granice koju možete ponovo izgraditi.

Povezani članci