Bolehkah satu perkhidmatan VPN menampung desktop Windows, Mac dan Linux?
Satu pelan akses boleh melayani desktop Windows, Mac dan Linux, tetapi hanya selepas identiti gerbang, kelayakan, laluan dan dasar penyelesai ditetapkan.
Tiga komputer riba dalam satu pasukan, tiga menu VPN berbeza dan satu tiket yang menyatakan sambungan berfungsi di semua tempat kecuali pada Mac. Pelan di sebalik klien tersebut boleh jadi sama walaupun menunya tidak. Apa yang perlu sejajar lebih sempit daripada anggapan kebanyakan pelancaran: satu identiti gerbang, satu jenis kelayakan, satu set laluan dan satu dasar penyelesai. Tuliskan keempat-empatnya sebelum sesiapa mengeksport profil, dan kerja platform bertukar menjadi senarai semak dan bukan siasatan.
Mulakan dengan kontrak akses, bukan fail klien
Kontrak akses ialah lima baris yang boleh disemak oleh penyemak tanpa membuka konsol vendor. Ia menamakan awalan peribadi yang mesti boleh dicapai, nama dalaman yang mesti diselesaikan, penyelesai yang menjawabnya, trafik yang dibenarkan kekal di laluan tempatan dan sijil gerbang yang patut dijangkakan oleh klien. Segala-galanya dalam pelancaran ialah terjemahan baris-baris itu ke dalam format fail.
Satu contoh pejabat menjadikan bentuknya konkrit: pelayan aplikasi dalam 10.60.0.0/16, nama peribadi di bawah corp.example, penyelesai dalaman pada 10.61.0.53 dan pelayaran biasa dibiarkan pada laluan yang peranti sudah gunakan. Perkara terakhir itu keputusan dasar, bukan lalai klien, dan beberapa klien akan menghantar semuanya melalui terowong jika tiada siapa menyatakan sebaliknya. Catatkan kontrak itu bersama tarikh dan pemilik, kerana catatan itulah yang kemudian memberitahu sama ada terowong atau dasar yang berubah.
Pilih satu protokol dan satu pasangan pengesahan yang boleh anda pertahankan
IKEv2 dengan pengesahan gerbang berasaskan sijil dan EAP untuk pengguna ialah pilihan biasa apabila ketiga-tiga platform mesti berfungsi tanpa perisian tambahan, kerana Windows, macOS dan NetworkManager masing-masing menyertakan klien IKEv2. Masalahnya, menyokong IKEv2 hanya menerangkan label, bukan set ciri. Kaedah EAP, kunci bersokong perkakasan, pemetaan sijil ke akaun dan sambung semula automatik dilaksanakan mengikut platform. Gabungan yang berfungsi pada dua daripada tiga cukup biasa sehingga anda patut menganggapnya begitu sehingga diuji.
Uji pasangan itu pada setiap platform sasaran sebelum panduan penggunaan ditulis, bukan selepasnya. Gerbang yang menawarkan kedua-dua EAP-MSCHAPv2 dan EAP-TLS memberi ruang untuk laluan sandaran, dengan syarat laluan sandaran itu didokumenkan sebagai disokong dan bukan ditemui semasa insiden. Dua laluan yang disokong ialah insurans murah; laluan ketiga yang tidak didokumenkan ialah tiket masa depan.
Apabila tiada satu pasangan pun meliputi ketiga-tiga klien, pilihan jujurnya ialah menambah klien, menambah profil gerbang atau menyempitkan senarai platform yang disokong. Mematikan pengesahan sijil pada platform yang paling kuat merungut bukan salah satu daripadanya. Perubahan itu menukar jurang keserasian menjadi risiko penyadapan, dan tiada langkah kemudian dalam pelancaran yang membaikinya.
Bina satu artifak bagi setiap platform daripada kontrak
Windows menggunakan profil VPNv2, dihantar melalui MDM atau dicipta secara tempatan dengan Add-VpnConnection serta muatan XMLnya. Bahagian yang menggigit ialah skop dan kepercayaan. Profil berskop peranti dan profil berskop pengguna dipasang ke stor berbeza, jadi sijil yang diperlukan klien mesti berada dalam stor yang sepadan dengan skop yang anda pilih. Salah memasangkannya menghasilkan profil yang diimport dengan bersih dan kemudian gagal pada sambungan pertama.
macOS menggunakan profil konfigurasi dengan muatan VPN terurus, ditandatangani dan diedarkan melalui MDM atau dipasang secara manual untuk juruterbang. Identiti dan rantaian CA bergerak sebagai muatan berasingan, itulah sebabnya profil boleh dipasang tanpa rungutan dan masih gagal pada masa menyambung. Semak senarai muatan, bukan hanya hasil pemasangan.
Linux bergantung pada bahagian belakang di sebalik NetworkManager, dan strongSwan serta pemalam NetworkManager ialah pakej berasingan. Sifat sambungan khusus kepada pemalam dan bukan kunci VPN umum, jadi kunci yang disalin daripada pemalam lain sering disimpan tanpa ralat dan kemudian gagal semasa pengaktifan. Bina sambungan pada imej bersih untuk mengesahkan pemalam itu ada di tempat ia benar-benar akan berjalan.
Ketiga-tiga artifak berbeza dari segi format, tetapi setiap satu mengekod lima baris kontrak yang sama. Itulah ujian sama ada sesuatu artifak sudah siap: setiap baris diwakili di suatu tempat dan tiada tambahan direka di sepanjang jalan.
| Platform | Artifact | Check before handoff |
|---|---|---|
| Windows | VPNv2 profile or Add-VpnConnection | Scope matches certificate store |
| macOS | Managed VPN payload plus certificate payload | Both payloads present in one profile |
| Linux | NetworkManager connection with strongSwan backend | Plugin package installed on the image |
Sahkan laluan, penyelesai dan sambung semula pada akaun bersih
Bersambung bukanlah ujian penerimaan. Pada Windows, Get-VpnConnection memaparkan profil dan route print menunjukkan sama ada awalan peribadi mendarat pada antara muka terowong. Pada macOS, scutil --nc list mengesahkan perkhidmatan aktif manakala scutil --dns menunjukkan susunan penyelesai yang benar-benar akan digunakan oleh sistem.
Pada Linux, nmcli connection show --active membuktikan sambungan aktif dan resolvectl status menunjukkan DNS bagi setiap pautan. Penyelesai yang ada dalam fail sambungan tetapi tiada dalam output bagi setiap pautan bermakna DNS berpecah tidak digunakan. Itulah perbezaan antara nama yang diselesaikan dan nama yang diselesaikan melalui terowong, dan ia mengubah pasukan sokongan mana yang memegang langkah seterusnya. Bandingkan output bagi setiap pautan sebelum dan selepas sambungan naik, bukan hanya selepas.
Jalankan seluruh pemeriksaan dengan akaun baharu, tanpa kelayakan dalam cache dan tanpa sijil yang dipasang oleh pentadbir. Kemudian ulanginya selepas gantung dan sambung semula, dan sekali lagi selepas memaksa kemasukan semula kelayakan. Dua peralihan itu menyerlahkan kebanyakan kegagalan sambung semula yang tidak pernah ditunjukkan oleh sambungan pertama.
Versikan pakej dan kekalkan laluan pengunduran
Tandakan setiap pakej platform dengan semakan kontrak yang dilaksanakannya, dan catat versi klien serta gerbang yang anda terima dengannya. Apabila tingkah laku berubah selepas kemas kini klien, tanda itu menunjuk kepada kontrak untuk diuji semula dan bukan fail untuk diteka.
Simpan pakej sebelumnya bagi setiap platform boleh diambil, dan tulis perintah penyingkirannya di sebelahnya. Menyahpasang profil VPN bukan cermin pemasangannya pada Windows, macOS atau Linux, dan perbezaannya muncul pada masa paling buruk. Latih penyingkiran sekali pada peranti simpanan supaya arkib menjadi pelan dan bukan harapan.