Pagrįsta prielaida yra ta, kad .deb iš jūsų GlobalProtect portalo yra sulaužytas arba kad gamintojas išleido blogą build'ą. Dažniausiai taip nėra. Gamintojo Linux sąsaja vis dar jungiasi su Qt5 WebKit, o naujesni Ubuntu leidiniai jo nebetiekia, todėl paketas prašo bibliotekos, kurią jūsų distribucija sąmoningai pašalino. Tai pakavimo neatitikimas, o ne sugadintas atsisiuntimas, ir šis skirtumas nulemia, ar praleisite popietę versdami paketus, ar dešimt minučių rinkdamiesi kitą klientą.

Paketas .deb nesugadintas

Priklausomybė, kurios distribucija nebeturi, yra įprasta bibliotekos atsisakymo pasekmė. Qt5 WebKit buvo pašalintas iš vėlesnių Ubuntu archyvų ir iš Debian, o priežastis buvo saugumo priežiūra, o ne paklausos trūkumas. Kai tai nutinka, kiekvienas paketas, kuris vis dar su juo jungiasi, nustoja būti įdiegiamas, kad ir kaip gerai jis būtų sukompiliuotas.

Dvi gedimų rūšys pranešamos kaip ta pati klaida ir nėra tokios. Leidinyje be bibliotekos diegėjas sustoja ties nepatenkinta priklausomybe. Leidinyje, kuriame klientas įdiegiamas ir tada nepavyksta prisijungiant, matote TLS arba SAML ryšio užmezgimo problemą įterptame naršyklės komponente. Pirmoji yra pakavimas; antroji yra vykdymo laikas, ir nė viena iš jų nepataisoma kopijuojant senas bibliotekas į modernią darbalaukio sistemą.

Patvirtinkite priklausomybę, o ne verskite ją

Įdiekite paketą aiškiai, kad įrankis įvardytų neišspręstą priklausomybę, o ne pateiktų santrauką. Tada paklauskite, ar jūsų leidinyje apskritai yra kandidatas, nes „čia neprieinama“ ir „laikinai trūksta šiame veidrodyje“ veda prie visiškai skirtingų sprendimų:

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

Jei apt-cache policy nepraneša nė vieno kandidato, nustokite bandyti jį įdiegti ir pradėkite rinktis alternatyvą. Įdomu ne trūkstamas paketo pavadinimas; įdomu tai, kad gamintojo priklausomybių grafas nepajudėjo kartu su distribucijomis, kurias naudoja jūsų vartotojai.

Ką senų paketų vertimas daro darbalaukiui

Sklandantis apeinamasis sprendimas yra ištraukti biblioteką iš senesnio leidinio. Dabartinėje Ubuntu tai atsimuša į Qt5 mažosios versijos konfliktą: senesni paketai traukia libqt5core5t64 atgal, ir tada įdiegti KDE bei PyQt paketai pradeda reikalauti ABI versijos, kurios sumažinta biblioteka nebetiekia. Rezultatas yra dalinis atnaujinimas, kuris sugadina nesusijusias programas, o tai daug blogesnė popietė nei ta, su kuria pradėjote.

Toks rezultatas yra laukiamas, o ne nesėkmingas. Qt ABI lūkesčiai mažosioms versijoms yra griežti, o distribucija tiekia vieną nuoseklų rinkinį. Vienos bibliotekos įmaišymas iš kito leidinio nėra tikslingas pataisymas; tai antras, mažiau kontroliuojamas atnaujinimas.

Tas pats patarimas galioja ir vykdymo laiko gedimo variantui. OpenSSL sistemos saugumo lygio sumažinimas, kad seno kliento ryšio užmezgimas pavyktų, pakeičia kiekvieną TLS ryšį mašinoje, kad būtų sutaisyta viena programa, įskaitant paketų tvarkyklę, kurios prireiks, kai suges kažkas kita.

openconnect kalba šiuo protokolu

OpenConnect tiesiogiai įgyvendina GlobalProtect protokolą, o protokolo pastabos aprašo ir iškvietimą, ir pasidalijimą tarp dviejų serverio sąsajų. Portalas paskirsto nustatymus ir tinklų sietuvų sąrašą; sietuvas užbaigia tunelį:

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

Jei portalas praleidžia reikiamą sietuvą, --usergroup=gateway arba /gateway pasibaigiantis URL praleidžia portalo žingsnį. Kai siūlomi keli sietuvai, --authgroup=NAME pasirenka iš jų. Autentifikacija yra vartotojo vardas ir slaptažodis, pasirinktinai su kliento sertifikatu, o SAML sietuvai praktiškai veikia per network-manager-openconnect o ne ranka rašytą komandų eilutę.

Sietuvas su griežta posture politika taip pat gali reikalauti HIP ataskaitos, prieš išduodamas tunelį. OpenConnect gali ją sugeneruoti ir pateikti, bet jei sietuvas reikalauja inventorizacijos, kurios jis negali parengti, jokia vėliavėlė tos politikos nepakeis; tai serverio pusės sprendimas.

Patikrinkite tunelį ir žinokite, ko openconnect nepataisys

Patikrinkite, ką tunelis iš tikrųjų pritaikė, o ne pasitikėkite sėkmės pranešimu. Sietuvas siunčia maršrutizavimą ir konfigūraciją kaip XML, o klientas juos pritaiko, todėl trūkstamas maršrutas yra konfigūracijos arba pasirinkimo problema, o ne kliento klaida:

ip -4 addr show
ip route
resolvectl status

MTU nusipelno atskiro žvilgsnio. GlobalProtect konfigūracija visada praneša nulinį MTU, todėl klientas jį įvertina iš inkapsuliavimo sąnaudų. Dideli perdavimai, kurie stringa, kai mažos užklausos praeina, yra klasikinis simptomas, o vaistas yra aiškus MTU ryšyje, o ne maršruto aptikimo išjungimas.

IPv6 vėl atskira istorija. PAN jį pridėjo GlobalProtect 4.0, o OpenConnect palaikymas nuo 9.0 versijos apibūdinamas kaip eksperimentinis, todėl nelaikykite, kad adresų šeima elgiasi kaip IPv4 vien todėl, kad tunelis pakilo. Ir jei sietuvas reikalauja posture patikros, kurios atvirojo kodo klientas negali įvykdyti, paleiskite gamintojo klientą palaikomame LTS leidinyje, virtualioje mašinoje, jei jūsų darbo stotis jau pažengė toliau. Tai išsaugo darbalaukį nepažeistą ir įdeda paveldėtą priklausomybę į ribą, kurią galite perstatyti.

Susiję straipsniai