Asumsi yang wajar adalah .deb dari portal GlobalProtect Anda rusak, atau vendor mengirim build yang cacat. Biasanya bukan. Antarmuka Linux vendor masih menautkan ke Qt5 WebKit, dan rilis Ubuntu yang lebih baru tidak lagi menyediakannya, jadi paket itu meminta pustaka yang sengaja dihapus oleh distribusi Anda. Itu ketidakcocokan pengemasan, bukan unduhan rusak, dan perbedaan itulah yang menentukan apakah Anda menghabiskan sore memaksa paket atau sepuluh menit memilih klien lain.

File .deb tidak rusak

Dependensi yang tidak lagi dibawa distribusi adalah hasil normal dari pustaka yang dipensiunkan. Qt5 WebKit dihapus dari arsip Ubuntu yang lebih baru dan dari Debian, dan alasannya adalah pemeliharaan keamanan, bukan kurangnya permintaan. Saat itu terjadi, setiap paket yang masih menautkannya tidak lagi dapat dipasang, sebaik apa pun paket itu dibangun.

Dua kegagalan dilaporkan sebagai bug yang sama dan sebenarnya bukan. Pada rilis tanpa pustaka itu, penginstal berhenti pada dependensi yang tidak terpenuhi. Pada rilis di mana klien terpasang lalu gagal saat login, Anda justru melihat masalah handshake TLS atau SAML di dalam komponen peramban yang tertanam. Yang pertama adalah pengemasan; yang kedua adalah runtime, dan keduanya tidak diperbaiki dengan menyalin pustaka lama ke desktop modern.

Konfirmasi dependensinya, bukan memaksanya

Pasang paket itu secara eksplisit agar alat menamai dependensi yang belum terselesaikan, bukan memberi Anda ringkasan. Lalu tanyakan apakah rilis Anda punya kandidat sama sekali, karena „tidak tersedia di sini” dan „sementara hilang dari cermin ini” mengarah ke keputusan yang sama sekali berbeda:

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

Jika apt-cache policy tidak melaporkan kandidat apa pun, berhentilah mencoba memasangnya dan mulailah memilih alternatif. Yang menarik bukan nama paket yang hilang; yang menarik adalah kenyataan bahwa graf dependensi vendor tidak bergerak bersama distribusi yang dijalankan pengguna Anda.

Apa yang dilakukan pemaksaan paket lama ke desktop

Solusi yang beredar adalah menarik pustaka dari rilis lama. Pada Ubuntu terkini itu berujung pada konflik versi minor Qt5: paket lama menyeret libqt5core5t64 mundur, lalu paket KDE dan PyQt yang terpasang mulai menuntut versi ABI yang tidak lagi disediakan pustaka yang diturunkan. Hasilnya adalah peningkatan sebagian yang merusak aplikasi tak terkait, yang merupakan sore jauh lebih buruk daripada yang Anda mulai.

Hasil itu wajar dan bukan sial. Harapan ABI Qt untuk versi minor bersifat ketat, dan satu distribusi mengirim satu himpunan yang koheren. Mencampurkan satu pustaka dari rilis lain bukan perbaikan bertarget; itu peningkatan kedua yang kurang terkendali.

Nasihat yang sama berlaku untuk varian runtime dari kegagalan itu. Menurunkan tingkat keamanan OpenSSL seluruh sistem agar handshake klien lama berhasil mengubah setiap koneksi TLS di mesin untuk memperbaiki satu aplikasi, termasuk manajer paket yang Anda butuhkan saat hal lain rusak.

openconnect berbicara protokolnya

OpenConnect mengimplementasikan protokol GlobalProtect secara langsung, dan catatan protokol menjelaskan baik pemanggilan maupun pembagian antara dua antarmuka server. Portal membagikan pengaturan dan daftar gateway; gateway mengakhiri tunnel:

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

Jika portal tidak menyertakan gateway yang Anda butuhkan, --usergroup=gateway atau URL yang berakhiran /gateway melewati langkah portal. Bila beberapa gateway ditawarkan, --authgroup=NAME memilih di antaranya. Autentikasi adalah nama pengguna dan kata sandi, opsional dengan sertifikat klien, dan gateway SAML dalam praktik bekerja melalui network-manager-openconnect alih-alih baris perintah yang diketik tangan.

Gateway dengan kebijakan posture yang ketat juga dapat meminta laporan HIP sebelum memberikan tunnel. OpenConnect dapat membuat dan mengirimkannya, tetapi jika gateway menuntut inventaris yang tidak dapat dihasilkannya, tidak ada flag yang mengubah kebijakan itu; itu keputusan di sisi server.

Verifikasi tunnel, dan ketahui apa yang tidak akan diperbaiki openconnect

Periksa apa yang sebenarnya diterapkan tunnel alih-alih memercayai pesan sukses. Gateway mengirim perutean dan konfigurasi sebagai XML dan klien menerapkannya, jadi rute yang hilang adalah masalah konfigurasi atau pemilihan, bukan bug klien:

ip -4 addr show
ip route
resolvectl status

MTU layak dilihat sendiri. Konfigurasi GlobalProtect selalu melaporkan MTU nol, jadi klien memperkirakannya dari overhead enkapsulasi. Transfer besar yang macet sementara permintaan kecil berhasil adalah gejala klasiknya, dan obatnya adalah MTU eksplisit pada koneksi, bukan mematikan penemuan jalur.

IPv6 juga cerita tersendiri. PAN menambahkannya di GlobalProtect 4.0, dan dukungan OpenConnect digambarkan eksperimental sejak versi 9.0, jadi jangan menganggap keluarga alamat berperilaku seperti IPv4 hanya karena tunnel naik. Dan jika gateway memberlakukan pemeriksaan posture yang tidak dapat dipenuhi klien sumber terbuka, jalankan klien vendor pada rilis LTS yang didukung, di mesin virtual jika workstation Anda sudah bergerak maju. Itu menjaga desktop tetap utuh dan menempatkan dependensi lama di dalam batas yang dapat Anda bangun ulang.

Artikel terkait