Dua istilah Apple digunakan seolah-olah menamakan perkara yang sama, dan kekeliruan itu menghantar orang ke panel tetapan yang salah. Network Extension menerangkan keupayaan: cara yang disokong untuk melaksanakan terowong VPN, proksi dan penapis. System Extensions menerangkan mekanisme penghantaran dan kelulusan untuk sambungan dalam ruang pengguna. Klien VPN Mac moden biasanya memerlukan kedua-duanya, sebab itu tiada satu label pun yang menerangkan gejala secara bersendirian. Memisahkan kedua-duanya menjawab komponen mana yang perlu diperiksa dan langkah kelulusan mana yang perlu dijangka.

Dua soalan, bukan satu label

Tanya apa yang dilakukan komponen sebelum bertanya bagaimana ia dipasang. Keupayaan menentukan kelas penyedia mana yang wujud dan oleh itu kod mana yang mengendalikan paket anda. Mekanisme penghantaran menentukan bagaimana binari tiba, bagaimana ia diluluskan dan di mana keadaannya direkodkan. Sesebuah produk boleh melaksanakan terowong paket tanpa menghantar sambungan sistem pada keluaran lama, dan ia boleh menghantar sambungan sistem yang melaksanakan sesuatu selain terowong.

Sambungan kernel ialah istilah ketiga yang dicampurkan orang. Ia cara lama untuk menjalankan kod rangkaian istimewa, ia memerlukan kelulusan berbeza, dan Apple telah bertahun-tahun mengalihkan pembangun daripadanya. Menggunakan resipi kelulusan sambungan kernel pada klien moden membuang masa pada dialog yang tidak akan muncul.

Baca nota penggunaan vendor untuk versi macOS yang anda jalankan dan bukan catatan forum daripada keluaran terdahulu. Seni bina berubah lebih daripada sekali, dan arahan cepat lapuk. Nota yang menyebut kelulusan sambungan kernel menerangkan era lain produk itu.

Apa yang disediakan Network Extension

Kerangka ini menyediakan jenis penyedia untuk tugasan rangkaian biasa: terowong paket untuk trafik VPN, proksi aplikasi untuk aliran setiap aplikasi, penapis kandungan untuk memeriksa trafik dan pengendalian proksi DNS untuk tingkah laku penyelesai. Jenis penyedia menentukan apa yang boleh dilakukan sambungan, dan klien yang menghantar dua penyedia mungkin melakukan dua kerja berbeza.

Itu penting semasa diagnosis kerana gejala sambungan yang sama boleh datang daripada terowong, penapis atau proksi DNS. Menyekat laman web ialah keputusan penapis, gagal mencapai subnet peribadi biasanya keputusan terowong, dan menyelesaikan alamat yang salah biasanya keputusan penyelesai. Menamakan jenis penyedia menyempitkan carian sebelum sebarang log dibaca.

Tiada apa dalam kerangka ini yang membayangkan pendirian privasi. Sambungan dalam ruang pengguna masih mempunyai kebenaran, konfigurasi dan pengendali di belakangnya, jadi anggap seni bina sebagai butiran pelaksanaan dan bukan isyarat kepercayaan. Tanya siapa yang mengendalikan titik akhir dan apa yang dikonfigurasikan untuk dikumpulkannya.

Apa yang diubah System Extensions

Mekanisme ini memindahkan kod istimewa keluar dari kernel ke ruang pengguna, dan ia mengubah cara sistem pengendalian meminta persetujuan. Pengaktifan ialah langkah berasingan daripada pemasangan, dan pengguna atau profil MDM mesti membenarkannya. Klien yang dipasang tetapi tidak pernah diaktifkan kelihatan hadir dalam folder Applications dan tidak melakukan apa-apa untuk sambungan.

Keadaan direkodkan oleh sistem dan bukan oleh aplikasi, yang berguna kerana ia boleh ditanya. Perintah di bawah menyenaraikan sambungan yang diketahui sistem dan keadaan pengaktifannya.

systemextensionsctl list
scutil --nc list

Perintah pertama menjawab sama ada komponen dipasang dan diaktifkan. Yang kedua menyenaraikan konfigurasi VPN yang dipegang sistem, yang merupakan soalan berbeza dan selalunya yang penting apabila profil sambungan hilang dan bukan rosak.

Yang mana perlu diperiksa untuk gejala tertentu

Padankan gejala dengan lapisan sebelum membuka panel tetapan. Konfigurasi yang hilang ialah soalan profil, komponen yang dipasang tetapi tidak aktif ialah soalan penghantaran, dan komponen aktif yang tidak dapat melepaskan trafik ialah soalan keupayaan.

SymptomFirst place to look
No VPN entry at allConfiguration profile or scutil list
Client installed, nothing happensExtension activation state
Tunnel up, private host unreachableTunnel provider routes and policy
One app blocked, others fineFilter or app proxy provider

Aliran log ialah bukti bersama untuk dua baris terakhir. Membaca subsistem sambungan rangkaian memberitahu penyedia mana yang mengendalikan aliran, dan keputusan penapis kelihatan berbeza daripada kegagalan terowong walaupun pengguna menggambarkan kedua-duanya sebagai VPN rosak.

log show --last 10m --predicate 'process == "nesessionmanager"'

Jangan membuat kesimpulan bahawa sambungan aktif kerana ada ikon di bar menu. Ikon bertahan selepas pengaktifan gagal, dan ikon lapuk ialah salah satu sebab paling biasa panggilan sokongan bermula di tempat yang salah. Baca keadaan pengaktifan sebaliknya, kerana itulah yang direkodkan sistem.

Kelulusan, MDM dan mitos sambungan kernel

Pada Mac terurus, langkah kelulusan milik profil MDM, dan pengguna yang mengklik Allow dalam System Settings mungkin masih disekat oleh dasar yang belum dikemas kini. Tanya pasukan desktop mekanisme mana yang meluluskan sambungan untuk armada itu sebelum meminta pengguna mengklik apa-apa.

Pada Mac yang tidak terurus, gesaan kelulusan muncul sekali dan penolakan boleh kekal sehingga sambungan dipasang semula. Tingkah laku itu menerangkan mesin yang kliennya berfungsi sebelum peningkatan OS dan kini melaporkan sambungan yang tidak pernah terbentuk.

Catat jenis penyedia, keadaan pengaktifan dan mekanisme kelulusan untuk klien yang anda gunakan. Ketiga-tiga fakta itu menjawab kebanyakan soalan masa depan tentang VPN Mac tanpa membuka semula perdebatan keupayaan berbanding penghantaran.

Artikel berkaitan