Зошто GlobalProtect Linux клиентот не работи на поновите Ubuntu
Пакетот .deb е во ред: поновите изданија на Ubuntu го отстранија Qt5 WebKit, на кој интерфејсот на производителот сѐ уште се поврзува. Потврдете ја зависноста и потоа изберете openconnect или постар LTS.
Разумната претпоставка е дека .deb од вашиот GlobalProtect портал е расипан или дека производителот испорачал лоша изградба. Обично не е. Linux интерфејсот на производителот сѐ уште се поврзува со Qt5 WebKit, а поновите изданија на Ubuntu веќе не го доставуваат, па пакетот бара библиотека што вашата дистрибуција намерно ја отстранила. Тоа е несовпаѓање во пакувањето, а не оштетено преземање, и таа разлика одлучува дали ќе го поминете попладнето форсирајќи пакети или десет минути избирајќи друг клиент.
Пакетот .deb не е расипан
Зависност што дистрибуцијата веќе не ја носи е нормален исход од повлекување на библиотека. Qt5 WebKit исчезна од подоцнежните Ubuntu архиви и од Debian, а причината беше безбедносното одржување, а не недостигот на побарувачка. Кога тоа се случува, секој пакет што сѐ уште се поврзува со него престанува да биде инсталирлив, колку и добро да бил изграден.
Два неуспеси се пријавуваат како иста грешка и не се. На издание без библиотеката, инсталаторот застанува на незадоволена зависност. На издание каде клиентот се инсталира и потоа паѓа при најава, гледате проблем со TLS или SAML ракување внатре во вградената компонента на прелистувачот. Првото е пакување; второто е извршно опкружување, и ниту едно од двете не се поправа со копирање стари библиотеки во современа работна површина.
Потврдете ја зависноста наместо да ја форсирате
Инсталирајте го пакетот експлицитно, за алатката да ја именува нерешената зависност наместо да ви даде резиме. Потоа прашајте дали вашето издание воопшто има кандидат, бидејќи „недостапно овде“ и „привремено отсутно од ова огледало“ водат до сосема различни одлуки:
sudo apt install ./GlobalProtect_UI_deb-*.deb
apt-cache policy libqt5webkit5
apt-cache rdepends --installed libqt5webkit5
Ако apt-cache policy не пријави ниту еден кандидат, престанете да се обидувате да го инсталирате и почнете да избирате алтернатива. Интересното не е името на пакетот што недостасува; интересен е фактот што графот на зависности на производителот не се поместил со дистрибуциите што ги користат вашите корисници.
Што прави форсирањето стари пакети со работната површина
Заобиколното решение што кружи е библиотеката да се извлече од постаро издание. На актуелно Ubuntu тоа завршува во конфликт на помала верзија на Qt5: постарите пакети влечат libqt5core5t64 наназад, и тогаш инсталираните KDE и PyQt пакети почнуваат да бараат верзија на ABI што деградираната библиотека веќе не ја обезбедува. Резултатот е делумна надградба што крши неповрзани апликации, што е многу полошо попладне од она со кое почнавте.
Тој исход е очекуван, а не несреќен. Очекувањата на Qt за ABI при помали верзии се строги, а дистрибуцијата доставува едно усогласено множество. Да се вмеша библиотека од друго издание не е насочена поправка; тоа е втора, помалку контролирана надградба.
Истиот совет важи за извршната варијанта на неуспехот. Намалувањето на системското ниво на безбедност на OpenSSL за да успее ракувањето на стар клиент ја менува секоја TLS врска на машината за да поправи една апликација, вклучително и менаџерот на пакети што ќе ви треба кога нешто друго ќе се расипе.
openconnect го зборува тој протокол
OpenConnect директно го имплементира протоколот на GlobalProtect, а белешките за протоколот опишуваат и повикот и поделбата меѓу двете серверски интерфејси. Порталот ги распределува поставките и списокот со гејтвеи; гејтвејот го завршува тунелот:
openconnect --protocol=gp vpn.example.com
openconnect --protocol=gp --authgroup=staff vpn.example.com
Ако порталот го испушти гејтвејот што ви треба, --usergroup=gateway или URL што завршува на /gateway го прескокнува чекорот на порталот. Кога се нудат неколку гејтвеи, --authgroup=NAME избира меѓу нив. Автентикацијата е корисничко име и лозинка, по избор со клиентски сертификат, а SAML гејтвеите во практика работат преку network-manager-openconnect наместо рачно напишана командна линија.
Гејтвеј со строга политика за posture може да бара и HIP извештај пред да издаде тунел. OpenConnect може да генерира и поднесе таков, но ако гејтвејот бара инвентар што не може да го произведе, ниту едно знаменце не ја менува таа политика; тоа е одлука на страната на серверот.
Проверете го тунелот и знајте што openconnect нема да поправи
Проверете што тунелот навистина применил наместо да верувате на пораката за успех. Гејтвејот испраќа рутирање и конфигурација како XML и клиентот ги применува, па рутата што недостасува е проблем со конфигурацијата или изборот, а не грешка на клиентот:
ip -4 addr show
ip route
resolvectl status
MTU заслужува посебен поглед. Конфигурацијата на GlobalProtect секогаш пријавува MTU од нула, па клиентот го проценува од трошокот за инкапсулација. Големите преноси што застануваат додека малите барања поминуваат се класичниот симптом, а лекот е експлицитен MTU на врската, а не исклучување на откривањето на патеката.
IPv6 е повторно посебна приказна. PAN го додаде во GlobalProtect 4.0, а поддршката во OpenConnect се опишува како експериментална од верзија 9.0, па не претпоставувајте дека семејството адреси се однесува како IPv4 само затоа што тунелот се крена. И ако гејтвејот наметнува проверка за posture што клиентот со отворен код не може да ја исполни, вклучете го клиентот на производителот на поддржано LTS издание, во виртуелна машина ако вашата работна станица веќе отишла понатаму. Тоа ја чува работната површина недопрена и ја става застарената зависност внатре во граница што можете повторно да ја изградите.