Разумна претпоставка је да је .deb са вашег GlobalProtect портала покварен или да је произвођач испоручио лошу градњу. Обично није. Linux сучеље произвођача још се повезује са Qt5 WebKit, а новија Ubuntu издања га више не испоручују, па пакет тражи библиотеку коју је ваша дистрибуција намерно уклонила. То је неусклађеност паковања, а не оштећено преузимање, и та разлика одлучује да ли ћете поподне потрошити на присиљавање пакета или десет минута на избор другог клијента.

Пакет .deb није покварен

Зависност коју дистрибуција више не носи нормалан је исход умировљења библиотеке. Qt5 WebKit уклоњен је из каснијих Ubuntu архива и из Дебиана, а разлог је било безбедносно одржавање, а не мањак потражње. Када се то догоди, сваки пакет који се још повезује са њим престаје бити инсталабилан, колико год добро био изграђен.

Два квара пријављују се као исти баг и нису. На издању без библиотеке инсталатер стаје на незадовољеној зависности. На издању на којем се клијент инсталира и затим падне при пријави, гледате проблем са 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 издању, у виртуелној машини ако је ваша радна станица већ отишла даље. Тиме радна површина остаје нетакнута, а наслеђена зависност завршава унутар границе коју можете поново изградити.

Повезани чланци