Zakaj odjemalec GlobalProtect za Linux ne uspe na novejših Ubuntu
Paket .deb je v redu: novejše izdaje Ubuntu so odstranile Qt5 WebKit, na katerega se vmesnik ponudnika še vedno povezuje. Potrdite odvisnost in nato izberite openconnect ali starejši LTS.
Razumna predpostavka je, da je .deb iz vašega portala GlobalProtect pokvarjen ali da je ponudnik izdal slab build. Običajno ni. Linux vmesnik ponudnika se še vedno povezuje s Qt5 WebKit, novejše izdaje Ubuntu pa ga ne prinašajo več, zato paket zahteva knjižnico, ki jo je vaša distribucija namenoma odstranila. To je neskladje pri pakiranju, ne poškodovan prenos, in ta razlika odloči, ali boste popoldne porabili za vsiljevanje paketov ali deset minut za izbiro drugega odjemalca.
Paket .deb ni pokvarjen
Odvisnost, ki je distribucija ne prinaša več, je običajen izid upokojitve knjižnice. Qt5 WebKit je izginil iz poznejših arhivov Ubuntu in iz Debiana, razlog pa je bilo varnostno vzdrževanje in ne pomanjkanje povpraševanja. Ko se to zgodi, vsakega paketa, ki se še vedno povezuje z njim, ni več mogoče namestiti, ne glede na to, kako dobro je bil zgrajen.
Dve napaki se prijavljata kot ista hrošč in nista. Na izdaji brez knjižnice se namestitveni program ustavi zaradi nezadovoljene odvisnosti. Na izdaji, kjer se odjemalec namesti in nato ne uspe pri prijavi, pa gre za težavo s TLS ali SAML rokovanjem znotraj vgrajene komponente brskalnika. Prva je pakiranje; druga je izvajalno okolje, in nobene od njiju ne popravimo s kopiranjem starih knjižnic v sodoben namizni sistem.
Potrdite odvisnost, namesto da bi jo vsiljevali
Namestite paket izrecno, da orodje poimenuje nerazrešeno odvisnost, namesto da vam da povzetek. Nato vprašajte, ali ima vaša izdaja sploh kakšnega kandidata, ker „tu ni na voljo“ in „začasno manjka v tem zrcalu“ vodita v povsem različne odločitve:
sudo apt install ./GlobalProtect_UI_deb-*.deb
apt-cache policy libqt5webkit5
apt-cache rdepends --installed libqt5webkit5
Če apt-cache policy ne poroča o nobenem kandidatu, prenehajte poskušati namestiti in začnite izbirati alternativo. Zanimivo ni ime manjkajočega paketa; zanimivo je dejstvo, da se graf odvisnosti ponudnika ni premaknil z distribucijami, ki jih uporabljajo vaši uporabniki.
Kaj vsiljevanje starih paketov naredi z namizjem
Obhod, ki kroži, je, da knjižnico potegnete iz starejše izdaje. Na trenutnem Ubuntu to pristane v konfliktu manjše različice Qt5: starejši paketi vlečejo libqt5core5t64 nazaj, nato pa nameščeni paketi KDE in PyQt začnejo zahtevati različico ABI, ki je degradirana knjižnica ne ponuja več. Rezultat je delna nadgradnja, ki pokvari nepovezane programe, kar je veliko slabše popoldne od tistega, s katerim ste začeli.
Ta izid je pričakovan in ne nesrečen. Pričakovanja ABI Qt glede manjših različic so stroga, distribucija pa prinaša en skladen nabor. Vmešavanje knjižnice iz druge izdaje ni ciljna poprava; je druga, slabše nadzorovana nadgradnja.
Enak nasvet velja za izvajalno različico napake. Znižanje sistemske ravni varnosti OpenSSL, da rokovanje starega odjemalca uspe, spremeni vsako povezavo TLS na stroju, da bi popravili en program, vključno z upraviteljem paketov, ki ga boste potrebovali, ko se bo pokvarilo kaj drugega.
openconnect govori protokol
OpenConnect neposredno izvaja protokol GlobalProtect in opombe o protokolu opisujejo tako klic kot delitev med dvema strežniškima vmesnikoma. Portal razdeli nastavitve in seznam prehodov; prehod zaključi tunel:
openconnect --protocol=gp vpn.example.com
openconnect --protocol=gp --authgroup=staff vpn.example.com
Če portal izpusti prehod, ki ga potrebujete, --usergroup=gateway ali naslov URL, ki se konča na /gateway preskoči korak portala. Ko je ponujenih več prehodov, --authgroup=NAME izbira med njimi. Preverjanje pristnosti je uporabniško ime in geslo, neobvezno s potrdilom odjemalca, prehodi SAML pa v praksi delujejo prek network-manager-openconnect namesto ročno vpisane ukazne vrstice.
Prehod s strogo politiko posture lahko zahteva tudi poročilo HIP, preden izda tunel. OpenConnect ga zna ustvariti in predložiti, a če prehod zahteva popis, ki ga ta ne more pripraviti, nobena zastavica te politike ne spremeni; to je odločitev na strežniški strani.
Preverite tunel in vedite, česa openconnect ne bo popravil
Preverite, kaj je tunel dejansko uporabil, namesto da zaupate sporočilu o uspehu. Prehod pošilja usmerjanje in konfiguracijo kot XML, odjemalec pa jih uporabi, zato je manjkajoča pot težava konfiguracije ali izbire in ne hrošč odjemalca:
ip -4 addr show
ip route
resolvectl status
MTU si zasluži svoj pogled. Konfiguracija GlobalProtect vedno poroča MTU nič, zato odjemalec oceni vrednost iz stroškov enkapsulacije. Veliki prenosi, ki se ustavijo, medtem ko majhne zahteve uspejo, so klasičen simptom, zdravilo pa je izrecna MTU na povezavi, ne izklop odkrivanja poti.
IPv6 je spet ločena zgodba. PAN ga je dodal v GlobalProtect 4.0, podpora v OpenConnect pa je od različice 9.0 opisana kot poskusna, zato ne predpostavljajte, da se družina naslovov obnaša kot IPv4 samo zato, ker se je tunel dvignil. In če prehod uveljavlja preverjanje posture, ki ga odjemalec z odprto kodo ne more izpolniti, zaženite odjemalca ponudnika na podprti izdaji LTS, v navideznem stroju, če je vaša delovna postaja že napredovala. Tako ostane namizje nedotaknjeno, stara odvisnost pa pristane znotraj meje, ki jo lahko obnovite.