Mengapa klien Linux GlobalProtect gagal pada Ubuntu yang lebih baharu
Fail .deb tidak bermasalah: keluaran Ubuntu yang lebih baharu membuang Qt5 WebKit, yang masih dipautkan oleh antara muka vendor. Sahkan kebergantungannya, kemudian pilih openconnect atau LTS yang lebih lama.
Andaian yang munasabah ialah .deb daripada portal GlobalProtect anda rosak, atau vendor menghantar binaan yang cacat. Biasanya bukan. Antara muka Linux vendor masih memaut ke Qt5 WebKit, dan keluaran Ubuntu yang lebih baharu tidak lagi menyediakannya, jadi pakej itu meminta pustaka yang sengaja dibuang oleh distribusi anda. Itu ketidakpadanan pembungkusan, bukan muat turun rosak, dan perbezaan itulah yang menentukan sama ada anda menghabiskan petang memaksa pakej atau sepuluh minit memilih klien lain.
Fail .deb tidak rosak
Kebergantungan yang tidak lagi dibawa oleh distribusi ialah hasil biasa apabila pustaka dipersarakan. Qt5 WebKit dibuang daripada arkib Ubuntu yang lebih kemudian dan daripada Debian, dan sebabnya ialah penyelenggaraan keselamatan dan bukan kekurangan permintaan. Apabila itu berlaku, setiap pakej yang masih memaut kepadanya tidak lagi boleh dipasang, sebaik mana pun ia dibina.
Dua kegagalan dilaporkan sebagai pepijat yang sama dan sebenarnya bukan. Pada keluaran tanpa pustaka itu, pemasang berhenti pada kebergantungan yang tidak dipenuhi. Pada keluaran yang klien dipasang dan kemudian gagal semasa log masuk, anda sebenarnya melihat masalah jabat tangan TLS atau SAML di dalam komponen pelayar terbenam. Yang pertama ialah pembungkusan; yang kedua ialah masa jalan, dan kedua-duanya tidak dibaiki dengan menyalin pustaka lama ke desktop moden.
Sahkan kebergantungan itu, bukan memaksanya
Pasang pakej itu secara eksplisit supaya alat menamakan kebergantungan yang belum diselesaikan dan bukan memberi anda ringkasan. Kemudian tanya sama ada keluaran anda mempunyai sebarang calon langsung, kerana „tidak tersedia di sini” dan „hilang sementara daripada cermin ini” membawa kepada keputusan yang sama sekali berbeza:
sudo apt install ./GlobalProtect_UI_deb-*.deb
apt-cache policy libqt5webkit5
apt-cache rdepends --installed libqt5webkit5
Jika apt-cache policy tidak melaporkan sebarang calon, berhenti cuba memasangnya dan mula memilih alternatif. Yang menarik bukan nama pakej yang hilang; yang menarik ialah hakikat bahawa graf kebergantungan vendor tidak bergerak bersama distribusi yang dijalankan oleh pengguna anda.
Apa yang pemaksaan pakej lama lakukan kepada desktop
Penyelesaian yang tersebar ialah menarik pustaka itu daripada keluaran yang lebih lama. Pada Ubuntu semasa, itu berakhir dengan konflik versi minor Qt5: pakej lama menyeret libqt5core5t64 ke belakang, dan kemudian pakej KDE serta PyQt yang dipasang mula menuntut versi ABI yang tidak lagi disediakan oleh pustaka yang diturunkan. Hasilnya ialah peningkatan separa yang merosakkan aplikasi tidak berkaitan, iaitu petang yang jauh lebih buruk daripada yang anda mulakan.
Hasil itu dijangka dan bukan nasib malang. Jangkaan ABI Qt untuk versi minor adalah ketat, dan satu distribusi menghantar satu set yang koheren. Mencampurkan satu pustaka daripada keluaran lain bukan pembaikan bersasar; ia ialah peningkatan kedua yang kurang terkawal.
Nasihat yang sama terpakai kepada varian masa jalan kegagalan itu. Menurunkan tahap keselamatan OpenSSL seluruh sistem supaya jabat tangan klien lama berjaya mengubah setiap sambungan TLS pada mesin itu untuk membaiki satu aplikasi, termasuk pengurus pakej yang anda perlukan apabila sesuatu yang lain rosak.
openconnect bercakap protokol itu
OpenConnect melaksanakan protokol GlobalProtect secara langsung, dan nota protokol menerangkan kedua-dua seruan dan pembahagian antara dua antara muka pelayan. Portal mengagihkan tetapan dan senarai gateway; gateway menamatkan terowong:
openconnect --protocol=gp vpn.example.com
openconnect --protocol=gp --authgroup=staff vpn.example.com
Jika portal meninggalkan gateway yang anda perlukan, --usergroup=gateway atau URL yang berakhir dengan /gateway melangkau langkah portal. Apabila beberapa gateway ditawarkan, --authgroup=NAME memilih antaranya. Pengesahan ialah nama pengguna dan kata laluan, secara pilihan dengan sijil klien, dan gateway SAML dalam amalan berfungsi melalui network-manager-openconnect dan bukannya baris arahan yang ditaip tangan.
Gateway dengan dasar posture yang ketat juga boleh meminta laporan HIP sebelum memberikan terowong. OpenConnect boleh menjana dan menyerahkannya, tetapi jika gateway menuntut inventori yang tidak dapat dihasilkannya, tiada bendera yang mengubah dasar itu; itu keputusan di sebelah pelayan.
Sahkan terowong itu, dan ketahui apa yang openconnect tidak akan baiki
Periksa apa yang sebenarnya diterapkan oleh terowong itu dan bukan mempercayai mesej kejayaan. Gateway menghantar penghalaan dan konfigurasi sebagai XML dan klien menerapkannya, jadi laluan yang hilang ialah masalah konfigurasi atau pemilihan, bukan pepijat klien:
ip -4 addr show
ip route
resolvectl status
MTU wajar ditinjau sendiri. Konfigurasi GlobalProtect sentiasa melaporkan MTU sifar, jadi klien menganggarkannya daripada overhed penkapsulan. Pemindahan besar yang tersekat sementara permintaan kecil berjaya ialah gejala klasik, dan ubatnya ialah MTU eksplisit pada sambungan dan bukan mematikan penemuan laluan.
IPv6 pula cerita yang lain. PAN menambahkannya dalam GlobalProtect 4.0, dan sokongan OpenConnect digambarkan sebagai eksperimen sejak versi 9.0, jadi jangan anggap keluarga alamat itu berkelakuan seperti IPv4 hanya kerana terowong itu naik. Dan jika gateway mengenakan pemeriksaan posture yang tidak dapat dipenuhi klien sumber terbuka, jalankan klien vendor pada keluaran LTS yang disokong, dalam mesin maya jika stesen kerja anda sudah bergerak ke hadapan. Itu mengekalkan desktop utuh dan meletakkan kebergantungan lama di dalam sempadan yang boleh anda bina semula.