VPN di Mac macet di «Memutus»: apa yang sebenarnya berjalan
Memutus adalah transisi, bukan tunnel yang berhenti. Periksa komponen mana yang memiliki pembongkaran, baca rute dan DNS, dan hindari pembunuhan proses secara luas.
«Memutus» adalah status yang dilaporkan klien saat membongkar tunnel, bukan putusan bahwa lalu lintas sudah berhenti. Di Mac pembongkaran itu berjalan sebagai rangkaian singkat, dan label hanya berubah setelah komponen yang memiliki koneksi melapor balik. Ketika satu langkah menunggu helper, plugin, atau keputusan kebijakan, label bisa tetap di sana setelah antarmuka hilang, atau tunnel bisa terus meneruskan sementara menu masih menampilkannya. Perlakukan teks itu sebagai «pembongkaran sedang berjalan, hasil belum diketahui» dan tentukan separuh mana yang benar.
Dua kegagalan terlihat sama dari bilah menu dan menuntut respons berlawanan. Pada yang satu tunnel masih membawa paket dan hanya tampilannya yang basi. Pada yang lain tunnel sudah hilang tetapi kebijakan terpisah menahan lalu lintas tetap diblokir, yang sering kali memang disengaja. Rute dan status DNS memisahkan keduanya lebih cepat daripada interaksi menu apa pun.
Apa yang dilacak label
Klien VPN menyimpan mesin status kecil, dan bilah menu adalah proyeksinya. Untuk koneksi yang dikelola macOS sendiri, mesin itu berada di kerangka VPN sistem. Untuk tunnel yang dikelola aplikasi, ia berada di aplikasi dan helper berhak istimewanya. Langkah terakhir sebuah penghentian bukan menutup soket. Itu melepaskan hal-hal yang membuat tunnel bekerja: antarmuka utun, rute yang mengarah ke sana, entri resolver yang disuntikkan klien, dan aturan firewall atau kebijakan yang memblokir lalu lintas selama terhubung.
Langkah-langkah itu terpisah, jadi penghentian bisa tersangkut di salah satunya. Helper yang berhenti menjawab, rute yang juga diklaim antarmuka kedua, atau entri resolver yang dimiliki profil lain dapat membuat klien menunggu. Label adalah laporan tentang kemajuan klien sendiri, yang membuatnya berwibawa soal niat dan tidak andal soal jaringan.
Temukan komponen yang memiliki koneksi
Untuk konfigurasi asli, scutil --nc list mencetak layanan yang dikenal sistem beserta statusnya, dan scutil --nc status "Work VPN" memberi perincian satu layanan. Tunnel yang dipegang aplikasi pihak ketiga mungkin tidak muncul sama sekali dalam daftar itu, jadi hasil kosong bukan bukti bahwa tidak ada yang terhubung.
Ketika profil milik sebuah aplikasi, andalkan tampilan statusnya dan kontrol «Putuskan» yang terdokumentasi. Menutup jendela bukan permintaan penghentian jika helper latar belakang memiliki tunnel; ikonnya hilang dan helper menjaga antarmuka tetap hidup. referensi pengaturan VPN Apple mencakup kontrol asli dan asal pengaturan terkelola.
Baca antarmuka, rute, dan DNS
Tiga pemeriksaan menjawab sebagian besar pertanyaan tanpa menyentuh koneksi. Yang penting adalah menafsirkannya bersama, karena masing-masing sendiri menyesatkan.
scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
- antarmuka utun ada, rute default atau terpisah melewatinya, resolver menunjuk ke penyedia: tunnel masih hidup dan labelnya basi.
- tanpa utun, rute default biasa, DNS dari DHCP, tanpa internet: kebijakan yang memblokir saat terputus sedang menjalankan tugasnya.
- tanpa utun, tanpa rute, resolver masih menunjuk ke penyedia: pembongkaran berhenti di tengah, dan DNS adalah sisa yang harus dibersihkan.
Lalu kirim satu permintaan ke host internal yang seharusnya hanya menjawab melalui tunnel dan satu ke host publik. Keterjangkauan memisahkan kebijakan dari status sisa tanpa mengubah pemeriksaan menjadi latihan pengukuran. Simpan dulu pekerjaan jarak jauh jika jalur masih merespons, dan siapkan cara masuk kedua sebelum mengubah jaringan pada mesin yang Anda kelola dari jarak jauh.
Mengapa pembunuhan luas dan penghapusan profil menyesatkan
Nama proses seperti pppd, racoon, dan configd milik implementasi tertentu. Membunuhnya dapat memengaruhi koneksi lain, meninggalkan rute dan antarmuka utun, dan tidak memberi Anda catatan tentang langkah mana yang tersangkut. Nama proses lama juga bukan bukti bahwa ia memiliki profil saat ini.
Menghapus dan membuat ulang profil adalah perubahan yang lebih besar daripada membersihkan transisi yang tersangkut. Itu dapat membuang pengaturan terkelola dan materi identitas lokal tanpa menjelaskan apa yang gagal, dan pada Mac yang diawasi mungkin hanya dipulihkan. Simpan penghapusan untuk konfigurasi yang benar-benar usang dan diagnosis transisinya.
Urutan penghentian yang meninggalkan jejak
Urutan di bawah menyerahkan kendali kepada kontrol koneksi itu sendiri dan menghasilkan catatan jika kemacetan kembali. Ini juga mencegah Anda mengubah masalah tampilan menjadi perubahan jaringan.
- Simpan pekerjaan jarak jauh, dan pastikan Anda dapat menjangkau Mac dengan cara lain jika ia jarak jauh.
- Catat nama klien, versi, dan profil. Tangkap jendela singkat dengan
log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'; rilis lama menyimpan lebih sedikit riwayat, jadi jalankan segera setelah kemacetan. - Gunakan kontrol «Putuskan» yang terdokumentasi, tunggu, lalu ulangi pemeriksaan antarmuka dan rute.
- Jika label basi tetapi tunnel mati, biarkan saja dan biarkan klien menyegarkan diri alih-alih memaksa proses.
- Jika pembongkaran benar-benar tersangkut, mulai ulang klien, lalu rencanakan mulai ulang Mac setelah pekerjaan tersimpan. Mesin terkelola memerlukan prosedur administrator.
Setelah pemulihan, pastikan rute default biasa dan resolver DHCP kembali, dan lalu lintas yang diblokir entah dipulihkan atau tetap diblokir dengan sengaja. Catat profil dan versi klien bersama gejalanya, agar kejadian berikutnya dimulai dari bukti, bukan dari dugaan di bilah menu.