VPN Windows Tidak Terhubung? Cocokkan Kode dengan Log Peristiwa
Kotak dialog VPN Windows menyembunyikan tahap yang gagal. Baca kode hasil, ambil peristiwa RasClient untuk percobaan itu, dan ubah hanya lapisan yang rusak.
Jumat itu berhasil. Senin klien Windows yang sama menjawab dengan kotak dialog yang mengatakan percobaan koneksi gagal, dan kalimat di bawahnya adalah kalimat yang sudah pernah Anda lihat untuk selusin masalah yang tidak berkaitan. Kotak dialog itu adalah akhir sebuah rantai, bukan awalnya. Windows menyembunyikan tahap tempat percobaan benar-benar mati, dan dua bukti kecil menamainya: kode hasil numerik dan satu peristiwa RasClient dari menit yang sama. Inilah urutan yang saya pakai — kunci percobaannya, baca kodenya, ambil peristiwanya, lalu ubah tepat satu lapisan.
Teks kotak dialog adalah langkah terakhir, bukan penyebabnya
Kalimat yang Anda baca dipilih setelah percobaan sudah terurai. "Koneksi dihentikan oleh komputer jauh sebelum koneksi terbentuk" muncul ketika server menutup di tengah negosiasi, ketika IPsec gagal sebelum nama pengguna Anda sempat dikirim, dan ketika kebijakan menolak terowongan itu mentah-mentah. Tiga pemilik berbeda, satu kalimat. Perlakukan kata-katanya sebagai kelas gejala dan jangan biarkan itu mengarahkan apa pun sampai kodenya setuju.
Yang masih bisa Anda kunci adalah percobaannya sendiri. Catat nama koneksi, jenis terowongan yang tersimpan di profil — PPTP, L2TP/IPsec, SSTP, atau IKEv2 — waktu sampai ke detik, dan kodenya. Jika Anda tidak yakin protokol mana yang benar-benar berjalan, buka %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk dan baca entrinya alih-alih mempercayai ingatan; profil yang dipakai ulang untuk protokol baru tetap memakai nama tampilannya yang lama.
Baca angkanya sebelum membaca kata-katanya
Kode terbagi ke tiga tahap, dan tahapnya lebih penting daripada kata-kata persisnya: pertukaran autentikasi yang tercapai dan ditolak, server yang tidak pernah menjawab, atau negosiasi yang runtuh setelah tautan naik. 691 adalah jenis pertama — pemeriksaan kredensial berjalan dan gagal, entah karena kata sandi salah, akun terkunci atau kedaluwarsa, atau protokol autentikasi yang tidak diterima server. 812 juga penolakan, tetapi dengan kredensial yang sah: kebijakan di server akses jarak jauh memutuskan menentang Anda. Microsoft memelihara daftar kode kesalahan koneksi dial-up dan VPN yang kanonis, dan ada baiknya membaca nomor Anda di sana sebelum menelusuri teks pesannya.
809 adalah kelas sebaliknya: tidak ada yang kembali. Itu masalah jalur — TCP 443 disaring untuk SSTP, GRE diblokir untuk PPTP, UDP 500 dan 4500 atau ESP dibuang untuk lintasan IPsec. Kata sandi baru tidak bisa memperbaikinya dan sertifikat baru juga tidak. 720 berarti tautan naik dan PPP tidak pernah menyelesaikan negosiasi, yang menunjuk pada ketidakcocokan protokol atau server yang tidak bisa menetapkan alamat. 789, atau 13801 pada IKEv2, adalah identitas di dalam IPsec: sertifikat yang subjeknya tidak cocok dengan nama yang Anda dial, rantai yang tidak tepercaya, atau kunci yang dibagikan sebelumnya yang berbeda di antara kedua ujung.
Ambil peristiwa RasClient untuk menit yang sama
Di Penampil Peristiwa, Windows Logs > Application yang disaring menurut sumber RasClient adalah tempat pertama untuk dilihat. Tulisan Microsoft tentang kesalahan 720 menunjuk ke peristiwa 20227 di log itu. Penyedia yang sama memancarkan pengenal lain untuk hasil lain, jadi bacalah pesannya dan kode hasil yang tertanam di dalamnya alih-alih memperlakukan ID sebagai diagnosis; kotak dialog generik plus 20227 yang membawa 720 sudah merupakan cerita yang jauh lebih sempit.
Dari PowerShell, tanpa mengklik melalui GUI:
Get-WinEvent -FilterHashtable @{
LogName = 'Application'
ProviderName = 'RasClient'
StartTime = (Get-Date).AddMinutes(-15)
} | Format-List TimeCreated, Id, Message
Hasil kosong itu informatif. Biasanya berarti panggilan tidak pernah cukup jauh bagi RAS untuk mencatat apa pun, atau perangkat lunak yang gagal sama sekali bukan klien asli — klien pihak ketiga menyimpan diagnostiknya sendiri dan sering tidak menulis apa pun ke log Application. Periksa log vendor sebelum menyimpulkan bahwa pencatatan peristiwa rusak.
Bangun satu garis waktu alih-alih setumpuk peristiwa
Lingkaran percobaan ulang menghasilkan kebisingan. Lima sambungan ulang otomatis meninggalkan sekelompok peristiwa, dan godaannya adalah membacanya sebagai satu urutan dengan satu penyebab. Itu lima percobaan terpisah, dan hanya sebagian yang mencapai server. Ambil jendela dua atau tiga menit, satu nama koneksi, dan daftar setiap peristiwa dengan kodenya sendiri sebelum menafsirkan apa pun.
Lalu tanyakan di mana percobaan berhenti. Ketika gateway atau backend autentikasi tidak menyimpan catatan apa pun untuk stempel waktu itu, klien tidak pernah mencapainya, dan Anda sedang melihat masalah keterjangkauan. Ketika backend menunjukkan permintaan dan penolakan, keputusan dibuat di sana, dan kelas kredensial atau kebijakan berlaku. Bandingkan jam sebelum membandingkan waktu: klien melaporkan waktu lokal, banyak gateway mencatat dalam UTC, dan selisih akan membuat pasangan yang berkorelasi sempurna tampak tidak berhubungan.
Untuk tangkapan yang bisa diulang, dial dari baris perintah dan biarkan ia mencetak hasilnya:
rasdial "Office VPN"
rasdial "Office VPN" /disconnect
Konsol menampilkan nomor yang disembunyikan GUI di balik teks ramah, dan menjalankannya dua kali memberi tahu Anda apakah kodenya stabil atau kadang-kadang.
Apa yang dikatakan setiap tahap untuk Anda ubah
Menamai tahapnya hanya berguna jika itu mengecilkan kumpulan perubahan menjadi satu lapisan:
691— autentikasi: metode EAP yang ditawarkan klien versus yang diterima server, status akun, kedaluwarsa kata sandi, izin dial-in.812— kebijakan server: kebijakan akses jarak jauh atau aturan NPS yang cocok dengan pengguna ini dan jendela waktu ini.809— keterjangkauan: aturan firewall di jalur, NAT dan lintasan protokol, port yang dibutuhkan jenis terowongan yang dipilih.720— negosiasi PPP: ketidakcocokan protokol autentikasi, penetapan alamat, pengaturan PPP di sisi server.789/13801— identitas IPsec: subjek sertifikat versus nama yang Anda dial, rantai kepercayaan, kunci yang dibagikan sebelumnya.
Ubah salah satunya, uji ulang profil yang sama, dan catat kode baru. Kode yang berbeda setelah perubahan adalah kemajuan, bukan pertentangan: Anda memindahkan kegagalan ke tahap yang lebih akhir, dan begitulah tampilan memperbaiki jabat tangan multi-tahap. Yang seharusnya tidak Anda lakukan adalah mengubah firewall, sertifikat, dan kata sandi dalam satu sesi lalu memberi pujian pada yang datang terakhir.
Bagikan buktinya, bukan lingkungannya
Pesan peristiwa lebih kaya daripada kelihatannya. Mereka membawa nama koneksi, akun, sering nama atau alamat internal gateway, dan kadang sidik jari sertifikat. Simpan yang asli di tempatnya, dan buat salinan tersunting terpisah untuk siapa pun; mengetik ulang garis waktu dari ingatan justru kehilangan detail yang membuatnya berguna.
Serah terima yang akan dikerjakan membutuhkan lima bidang: kodenya, tahap tempat ia berada, klien dan jenis terowongan, stempel waktu dengan zona waktunya, dan apakah gateway melihat permintaannya sama sekali. Selebihnya opsional. Dengan kelima itu, orang berikutnya dapat membedakan perdebatan kredensial dari perdebatan perutean tanpa mengulang penyelidikan.
Sebelum menutup apa pun, ulangi percobaan pada profil yang sama dan pastikan di mana kodenya mendarat sekarang. Keberhasilan mengakhirinya; kegagalan yang berbeda berarti tahap aslinya sudah diperbaiki dan Anda memegang tahap berikutnya.