Buka dialog VPN Windows setelah kegagalan dan ia memberi Anda angka dan satu kalimat, di mana kalimatnya biasanya paruh yang kurang berguna. Angkanya menunjukkan tahap koneksi mana yang gagal, dan tahap itu menentukan log, pengaturan, dan tim mana yang harus dilihat berikutnya. Menelusuri tahapan secara berurutan memakan waktu sekitar sepuluh menit dan mencegah urutan yang sudah biasa: memasang ulang adaptor, mengganti protokol, dan mengatur ulang tumpukan hanya untuk memperbaiki akun yang memang tidak pernah diizinkan memanggil.

Baca angka sebagai tahap

Koneksi asli melewati empat tonggak. Koneksi mencapai server dan membentuk tautan, menegosiasikan keamanan, mengautentikasi pengguna, lalu menerapkan pengalamatan dan perutean. Kegagalan di masing-masing meninggalkan bukti berbeda, dan kode milik satu tahap tidak mengatakan apa pun yang berguna tentang tahap lain.

Kesalahan yang harus dihindari adalah memperlakukan kode sebagai tingkat keparahan. Kegagalan tautan dan kegagalan otorisasi sama-sama terbaca sebagai "tidak dapat terhubung", dan tidak ada kesamaan lain di antara keduanya. Keparahan memberi tahu seberapa mendesak sesuatu; tahap memberi tahu apa yang harus dibuka.

Code familyStageWhere the evidence lives
829, 703Link or dial completionClient event log, remote listener reachability
720PPP negotiation and miniport bindingAdapter state, bindings, client log detail
691, 649, 812Identity and authorizationGateway or authentication server decision
Connected, no trafficAddressing, routing and resolutionRoute table and resolver configuration

Tahap satu: tautan dan upaya panggilan

829 berarti tautan dasarnya terputus. Kode itu tidak menyebut apakah rekan jauh berhenti menjawab, apakah kotak tengah mematikan sesi, atau apakah kebijakan di klien menutupnya. Kode penyelesaian panggilan seperti 703 bahkan lebih awal: upaya itu tidak pernah sampai punya tautan, yang biasanya menunjuk ke profil, status layanan, atau kebijakan lokal.

Get-VpnConnection -Name 'Corp' | Select-Object Name,ServerAddress,TunnelType,AuthenticationMethod,ConnectionStatus
Test-NetConnection -ComputerName vpn.example.net -Port 443
Get-WinEvent -LogName Application -MaxEvents 200 | Where-Object ProviderName -match 'RasClient' | Select-Object -First 15 TimeCreated,Id,Message

Kueri peristiwa adalah bagian yang orang lewati. Catatan di sisi klien dengan stempel waktu dan nama antarmuka lebih bernilai daripada dialog, karena ia memberi tahu apakah upaya itu bahkan meninggalkan mesin. Tidak ada catatan dan tidak ada jawaban dari pendengar berarti masalah keterjangkauan, dan tidak ada penyuntingan klien yang mengubahnya.

Jika profil yang sama berfungsi di jaringan lain, berhentilah di sini. Kodenya menggambarkan kondisi jalur, bukan kesalahan konfigurasi, dan perbandingan berguna berikutnya adalah dua tangkapan, bukan pemasangan ulang lagi.

Tahap dua: PPP dan pengikatan miniport

720 berada di antara tautan dan pengguna. Terowongan naik lalu lapisan PPP tidak dapat menegosiasikan alamat atau protokol kendali, yang sering merupakan masalah pengikatan di klien, bukan kredensial yang ditolak. Perbedaan itulah seluruh nilai kodenya: ia mengatakan kredensial tidak pernah tercapai, jadi akunnya bukan tersangka.

Get-NetAdapter -IncludeHidden | Where-Object InterfaceDescription -match 'WAN Miniport' | Select-Object Name,Status,ifIndex
Get-NetAdapterBinding | Where-Object ComponentID -match 'ms_pptp|ms_l2tp|ms_sstp|ms_agile' | Select-Object Name,ComponentID,Enabled

Membaca kedua keluaran itu lebih informatif daripada mengatur ulang apa pun. Miniport yang ada tetapi tidak dimulai, atau pengikatan protokol yang dinonaktifkan perangkat lunak lain, menghasilkan persis kegagalan tahap ini. Keduanya bisa diperbaiki tanpa menyentuh sisa tumpukan. Sebaliknya, pengaturan ulang penuh menghapus pengalamatan dan status penyaringan yang tidak ada hubungannya dengan gangguan.

Tahap tiga: identitas dan otorisasi

691 berarti kredensial ditolak. 649 berarti akun tidak diizinkan memanggil, dan 812 berarti kebijakan akses jarak jauh menolak koneksi. Ini keputusan, bukan gangguan transportasi, dan klien hanya bisa melaporkannya.

Buktinya ada di sisi lain. Mintalah ke operator gateway upaya pada stempel waktu itu dan kebijakan yang cocok; tanyakan kepada pemilik direktori apakah akun punya izin memanggil dan apakah ia berada di grup yang disyaratkan kebijakan. Mengubah jenis terowongan atau memasang ulang klien tidak dapat mengubah keputusan yang dibuat tentang identitas.

Kebiasaan berguna pada tahap ini adalah menuliskan string akun yang tepat ke tiket, termasuk prefiks domain apa pun. Sejumlah kasus 691 yang mengejutkan adalah kredensial tersimpan untuk domain yang salah, dan itu terlihat pada string akun, bukan pada pengaturan protokol.

Tahap empat: terhubung, dan tidak ada yang berfungsi

Koneksi bisa selesai dan tetap tidak berguna. Ia memegang alamat, klien melaporkan sukses, dan setiap permintaan aplikasi habis waktunya. Tidak ada yang mencerminkan itu di dialog, dan tidak ada kode untuk dicari. Pada titik itu dialognya selesai dan bukti yang berguna ada di tempat lain.

Get-NetRoute -DestinationPrefix 10.24.0.0/16 | Select-Object DestinationPrefix,NextHop,InterfaceAlias
Resolve-DnsName files.corp.example.internal
Test-NetConnection -ComputerName 10.24.6.15 -Port 445

Jika rutenya tidak ada, server tidak mendorongnya atau klien membuangnya. Jika rutenya ada dan namanya gagal, masalahnya pada resolusi. Jika keduanya berfungsi dan aplikasi tetap gagal, Anda sudah melewati terowongan dan masuk ke konfigurasi aplikasi itu sendiri.

Jaga perubahan pada satu lapisan per uji. Setiap suntingan yang Anda lakukan sebelum upaya berikutnya menjadi bagian dari konteks kode berikutnya, dan kode yang menggambarkan suntingan terakhir Anda lebih buruk daripada tidak ada kode sama sekali.

Satu upaya, satu perubahan, satu catatan

Apa pun tahapnya, catatan harus memuat kode, pesan, nama profil, stempel waktu, dan jaringan tempat Anda berada. Lima bidang, dan setiap bidang sudah ada di depan Anda di dialog atau log klien. Kumpulan itu cukup kecil untuk ditempel ke tiket dan cukup spesifik bagi orang lain untuk mereproduksinya.

Lalu letakkan stempel waktu itu di samping catatan di sisi lain. Tabel di dekat bagian atas halaman ini menyebut tahap mana yang memiliki setiap ketidakcocokan. Tanpa catatan kedua, kodenya hanya mempersempit pencarian; dengan catatan itu, tahapnya diputuskan. Perbandingan itulah yang mengubah angka menjadi diagnosis, bukan dugaan.

Kebiasaan itu mencakup hampir semua gangguan VPN asli Windows, dan tidak ada cabang yang menuntut pemasangan ulang apa pun. Dialognya selalu memberi tahu Anda yang mana yang Anda miliki; pekerjaannya adalah menolak memperlakukan semuanya sebagai masalah yang sama.

Artikel terkait