Jumaat ia berfungsi. Isnin klien Windows yang sama menjawab dengan dialog yang mengatakan percubaan sambungan gagal, dan ayat di bawahnya ialah ayat yang sudah anda lihat untuk selusin masalah yang tidak berkaitan. Dialog itu ialah penghujung rantaian, bukan permulaannya. Windows menyembunyikan peringkat tempat percubaan benar-benar mati, dan dua bukti kecil menamakannya: kod hasil berangka dan satu peristiwa RasClient dari minit yang sama. Inilah urutan yang saya gunakan — tetapkan percubaan, baca kod, tarik peristiwa, kemudian ubah tepat satu lapisan.

Teks dialog ialah langkah terakhir, bukan puncanya

Ayat yang anda baca dipilih selepas percubaan sudah terurai. "Sambungan ditamatkan oleh komputer jauh sebelum sambungan diwujudkan" muncul apabila pelayan meletakkan gagang di tengah rundingan, apabila IPsec gagal sebelum nama pengguna anda sempat dihantar, dan apabila dasar menolak terowong itu terus. Tiga pemilik berbeza, satu ayat. Layan rumusan itu sebagai kelas simptom dan jangan biarkan ia mengarahkan apa-apa sehingga kod bersetuju dengannya.

Apa yang masih boleh anda tetapkan ialah percubaan itu sendiri. Catat nama sambungan, jenis terowong yang disimpan dalam profil — PPTP, L2TP/IPsec, SSTP atau IKEv2 —, masa hingga ke saat, dan kod. Jika anda tidak pasti protokol mana yang benar-benar berjalan, buka %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk dan baca entri itu daripada mempercayai ingatan; profil yang digunakan semula untuk protokol baharu mengekalkan nama paparan lamanya.

Baca nombor sebelum membaca perkataan

Kod terbahagi kepada tiga peringkat, dan peringkat lebih penting daripada rumusan tepat: pertukaran pengesahan yang dicapai dan ditolak, pelayan yang tidak pernah menjawab, atau rundingan yang runtuh selepas pautan naik. 691 ialah jenis pertama — pemeriksaan kelayakan berjalan dan gagal, sama ada kerana kata laluan salah, akaun terkunci atau tamat tempoh, atau protokol pengesahan yang pelayan tidak terima. 812 juga penolakan, tetapi dengan kelayakan yang sah: dasar pada pelayan akses jauh memutuskan menentang anda. Microsoft menyelenggara senarai kod ralat sambungan dail dan VPN kanonik, dan wajar membaca nombor anda di sana sebelum mencari teks mesej.

809 ialah kelas sebaliknya: tiada apa kembali. Itu masalah laluan — TCP 443 ditapis untuk SSTP, GRE disekat untuk PPTP, UDP 500 dan 4500 atau ESP digugurkan untuk laluan IPsec. Kata laluan baharu tidak dapat membaikinya dan sijil baharu juga tidak. 720 bermakna pautan naik dan PPP tidak pernah menyelesaikan rundingan, yang menunjuk kepada ketidakpadanan protokol atau pelayan yang tidak dapat memberikan alamat. 789, atau 13801 pada IKEv2, ialah identiti di dalam IPsec: sijil yang subjeknya tidak sepadan dengan nama yang anda dail, rantaian tidak dipercayai, atau kunci yang dikongsi terlebih dahulu yang berbeza antara kedua-dua hujung.

Tarik peristiwa RasClient untuk minit yang sama

Dalam Penampil Peristiwa, Windows Logs > Application yang ditapis mengikut sumber RasClient ialah tempat pertama untuk dilihat. Tulisan Microsoft tentang ralat 720 menunjuk kepada peristiwa 20227 dalam log itu. Pembekal yang sama mengeluarkan pengecam lain untuk hasil lain, jadi baca mesej dan kod hasil yang tertanam di dalamnya daripada menganggap ID itu sebagai diagnosis; dialog generik serta 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 bermaklumat. Biasanya ia bermakna dail itu tidak pernah pergi cukup jauh untuk RAS merekodkan apa-apa, atau perisian yang gagal itu bukan klien asli sama sekali — klien pihak ketiga menyimpan diagnostik mereka sendiri dan selalunya tidak menulis apa-apa ke log Application. Periksa log vendor sebelum membuat kesimpulan bahawa pengelogan peristiwa rosak.

Bina satu garis masa bukan timbunan peristiwa

Gelung cubaan semula menghasilkan bunyi bising. Lima sambungan semula automatik meninggalkan sekelompok peristiwa, dan godaannya ialah membacanya sebagai satu jujukan dengan satu punca. Ia lima percubaan berasingan, dan hanya sebahagian daripadanya sampai ke pelayan. Ambil tetingkap dua atau tiga minit, satu nama sambungan, dan senaraikan setiap peristiwa dengan kodnya sendiri sebelum mentafsir apa-apa.

Kemudian tanya di mana percubaan berhenti. Apabila get laluan atau backend pengesahan tidak menyimpan apa-apa rekod untuk cap masa itu, klien tidak pernah sampai ke sana, dan anda sedang melihat masalah kebolehcapaian. Apabila backend menunjukkan permintaan dan penolakan, keputusan dibuat di sana, dan kelas kelayakan atau dasar terpakai. Bandingkan jam sebelum membandingkan masa: klien melaporkan masa tempatan, banyak get laluan merekod dalam UTC, dan selisih akan membuat pasangan yang berkorelasi sempurna kelihatan tidak berkaitan.

Untuk tangkapan yang boleh diulang, dail dari baris arahan dan biarkan ia mencetak hasilnya:

rasdial "Office VPN"
rasdial "Office VPN" /disconnect

Konsol menunjukkan nombor yang disembunyikan GUI di sebalik teks mesra, dan menjalankannya dua kali memberitahu anda sama ada kod itu stabil atau berselang-seli.

Apa yang setiap peringkat suruh anda ubah

Menamakan peringkat hanya berguna jika ia mengecilkan set perubahan kepada satu lapisan:

  • 691 — pengesahan: kaedah EAP yang ditawarkan klien berbanding yang diterima pelayan, status akaun, tamat tempoh kata laluan, kebenaran dail masuk.
  • 812 — dasar pelayan: dasar akses jauh atau peraturan NPS yang sepadan dengan pengguna ini dan tetingkap masa ini.
  • 809 — kebolehcapaian: peraturan tembok api pada laluan, NAT dan laluan protokol, port yang diperlukan oleh jenis terowong yang dipilih.
  • 720 — rundingan PPP: ketidakpadanan protokol pengesahan, pemberian alamat, tetapan PPP di sebelah pelayan.
  • 789 / 13801 — identiti IPsec: subjek sijil berbanding nama yang anda dail, rantaian kepercayaan, kunci yang dikongsi terlebih dahulu.

Ubah salah satu daripadanya, uji semula profil yang sama, dan catat kod baharu. Kod berbeza selepas perubahan ialah kemajuan, bukan percanggahan: anda memindahkan kegagalan ke peringkat yang lebih lewat, dan begitulah rupa membaiki jabat tangan berbilang peringkat. Apa yang anda tidak patut lakukan ialah mengubah tembok api, sijil dan kata laluan dalam satu sesi lalu memberi penghargaan kepada yang datang terakhir.

Kongsi bukti, bukan persekitaran

Mesej peristiwa lebih kaya daripada kelihatan. Ia membawa nama sambungan, akaun, sering nama atau alamat dalaman get laluan, dan kadangkala cap jari sijil. Simpan yang asli di tempatnya, dan bina salinan yang disunting secara berasingan untuk sesiapa sahaja; menaip semula garis masa dari ingatan kehilangan tepat butiran yang menjadikannya berguna.

Penyerahan yang akan dikerjakan memerlukan lima medan: kod, peringkat tempat ia berada, klien dan jenis terowong, cap masa dengan zon waktunya, dan sama ada get laluan melihat permintaan itu. Semua yang lain adalah pilihan. Dengan lima itu, orang seterusnya boleh membezakan pertikaian kelayakan daripada pertikaian penghalaan tanpa mengulangi siasatan.

Sebelum menutup apa-apa, main semula percubaan pada profil yang sama dan sahkan di mana kod itu mendarat sekarang. Kejayaan menamatkannya; kegagalan yang berbeza bermakna peringkat asal sudah dibaiki dan peringkat seterusnya ada di tangan anda.

Artikel berkaitan