Dua istilah Apple dipakai seolah menyebut hal yang sama, dan kebingungan itu mengarahkan orang ke panel pengaturan yang salah. Network Extension menjelaskan sebuah kemampuan: cara yang didukung untuk menerapkan terowongan VPN, proksi, dan filter. System Extensions menjelaskan mekanisme pengiriman dan persetujuan untuk ekstensi di ruang pengguna. Klien VPN Mac modern biasanya membutuhkan keduanya, karena itu tidak ada satu label pun yang menjelaskan gejala sendirian. Memisahkan keduanya menjawab komponen mana yang diperiksa dan langkah persetujuan mana yang diharapkan.

Dua pertanyaan, bukan satu label

Tanyakan apa yang dilakukan komponen sebelum bertanya bagaimana ia dipasang. Kemampuan menentukan kelas penyedia mana yang ada dan karena itu kode mana yang menangani paket Anda. Mekanisme pengiriman menentukan bagaimana biner tiba, bagaimana ia disetujui, dan di mana statusnya dicatat. Sebuah produk dapat menerapkan terowongan paket tanpa mengirimkan ekstensi sistem pada rilis lama, dan dapat mengirimkan ekstensi sistem yang menerapkan sesuatu selain terowongan.

Ekstensi kernel adalah istilah ketiga yang dicampur orang. Itu adalah cara lama menjalankan kode jaringan berhak istimewa, memerlukan persetujuan berbeda, dan Apple telah bertahun-tahun mengarahkan pengembang menjauh darinya. Menerapkan resep persetujuan ekstensi kernel pada klien modern membuang waktu pada dialog yang tidak akan pernah muncul.

Baca catatan penerapan vendor untuk versi macOS yang Anda jalankan alih-alih kiriman forum dari rilis sebelumnya. Arsitekturnya berubah lebih dari sekali, dan instruksi cepat usang. Catatan yang menyebut persetujuan ekstensi kernel menjelaskan era lain dari produk.

Apa yang disediakan Network Extension

Kerangka ini menyediakan tipe penyedia untuk tugas jaringan umum: terowongan paket untuk lalu lintas VPN, proksi aplikasi untuk aliran per aplikasi, filter konten untuk memeriksa lalu lintas, dan penanganan proksi DNS untuk perilaku penyelesai. Tipe penyedia menentukan apa yang dapat dilakukan ekstensi, dan klien yang mengirimkan dua penyedia mungkin melakukan dua pekerjaan berbeda.

Itu penting saat diagnosis karena gejala konektivitas yang sama dapat berasal dari terowongan, filter, atau proksi DNS. Memblokir situs web adalah keputusan filter, gagal mencapai subnet privat biasanya keputusan terowongan, dan menyelesaikan alamat yang salah biasanya keputusan penyelesai. Menyebut tipe penyedia mempersempit pencarian sebelum log apa pun dibaca.

Tidak ada dalam kerangka ini yang menyiratkan sikap privasi. Ekstensi di ruang pengguna tetap memiliki izin, konfigurasi, dan operator di belakangnya, jadi perlakukan arsitektur sebagai detail penerapan, bukan sinyal kepercayaan. Tanyakan siapa yang mengoperasikan titik akhir dan apa yang dikonfigurasi untuk dikumpulkannya.

Apa yang diubah System Extensions

Mekanisme ini memindahkan kode berhak istimewa keluar dari kernel ke ruang pengguna, dan mengubah cara sistem operasi meminta persetujuan. Aktivasi adalah langkah terpisah dari pemasangan, dan pengguna atau profil MDM harus mengizinkannya. Klien yang terpasang tetapi tidak pernah aktif tampak ada di folder Applications dan tidak melakukan apa pun untuk konektivitas.

Status dicatat oleh sistem, bukan oleh aplikasi, yang berguna karena dapat ditanyakan. Perintah di bawah mencantumkan ekstensi yang dikenal sistem dan status aktivasinya.

systemextensionsctl list
scutil --nc list

Perintah pertama menjawab apakah komponen terpasang dan aktif. Yang kedua mencantumkan konfigurasi VPN yang dipegang sistem, yang merupakan pertanyaan berbeda dan sering yang penting ketika profil koneksi hilang, bukan rusak.

Mana yang diperiksa untuk gejala tertentu

Cocokkan gejala dengan lapisan sebelum membuka panel pengaturan. Konfigurasi yang hilang adalah pertanyaan profil, komponen yang terpasang tetapi tidak aktif adalah pertanyaan pengiriman, dan komponen aktif yang tidak dapat melewatkan lalu lintas adalah pertanyaan kemampuan.

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 adalah bukti bersama untuk dua baris terakhir. Membaca subsistem ekstensi jaringan memberi tahu penyedia mana yang menangani aliran, dan keputusan filter terlihat berbeda dari kegagalan terowongan bahkan ketika pengguna menggambarkan keduanya sebagai VPN rusak.

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

Jangan menyimpulkan ekstensi aktif karena ada ikon di bilah menu. Ikon bertahan dari aktivasi yang gagal, dan ikon usang adalah salah satu alasan paling umum panggilan dukungan dimulai di tempat yang salah. Baca status aktivasi sebagai gantinya, karena itulah yang dicatat sistem.

Persetujuan, MDM, dan mitos ekstensi kernel

Pada Mac terkelola, langkah persetujuan milik profil MDM, dan pengguna yang mengeklik Allow di System Settings masih dapat diblokir oleh kebijakan yang belum diperbarui. Tanyakan kepada tim desktop mekanisme mana yang menyetujui ekstensi untuk armada itu sebelum meminta pengguna mengeklik apa pun.

Pada Mac yang tidak terkelola, permintaan persetujuan muncul sekali dan penolakan dapat bersifat permanen sampai ekstensi dipasang ulang. Perilaku itu menjelaskan mesin yang kliennya berfungsi sebelum peningkatan OS dan sekarang melaporkan koneksi yang tidak pernah terbentuk.

Catat tipe penyedia, status aktivasi, dan mekanisme persetujuan untuk klien yang Anda terapkan. Ketiga fakta itu menjawab sebagian besar pertanyaan mendatang tentang VPN Mac tanpa membuka lagi perdebatan kemampuan versus pengiriman.

Artikel terkait