VPN bersambung di rumah tetapi tamat masa di Wi-Fi hotel
Laptop sama, akaun sama, rangkaian berbeza. Baca kod ralat sebagai peringkat, semak nama, kemudian tangkap paket luar sebelum menukar sebarang tetapan.
Laptop menyertai Wi-Fi rumah, klien bersambung dalam tiga saat, dan profil yang sama gagal di hotel sejam kemudian. Tiada apa-apa dikemas kini di antaranya. Menelusuri perkara ini dengan klien di hadapan anda kebanyakannya tentang mengetahui ralat mana milik peringkat mana, kerana maklumat berguna ada pada kod yang dicetak klien, bukan pada fakta bahawa ia gagal. Lakukan empat langkah di bawah mengikut urutan dan anda akan tahu sama ada nama, paket, port atau dasar yang menolak anda.
Baca kod ralat sebagai peringkat, bukan keputusan
Klien mencapai tiga pencapaian berasingan sebelum terowong wujud. Ia menyelesaikan nama pelayan, ia mendapat jawapan daripada sesuatu di rangkaian, dan ia merundingkan persatuan keselamatan. Setiap pencapaian mempunyai mesej kegagalannya sendiri, dan Windows khususnya pemurah dengan kod berbeza setelah anda tahu peringkat mana ia milik.
| What the client says | Stage that failed | First thing to run |
|---|---|---|
| 868, name did not resolve | DNS, before any packet leaves for the server | Resolve-DnsName vpn.example.net |
| 721 or 806, remote computer did not respond | Outer protocol filtered, typically GRE or UDP | A capture on the local interface |
| 809, server not responding | A device in the path is dropping the outer flow | The same capture, from a second network |
| 789, security layer error | The security exchange started and was rejected | Certificate and proposal settings on both ends |
Dua daripada kod itu bermaksud rangkaian tidak bersalah. 789 bermaksud paket mengalir dan kedua-dua hujung tidak bersetuju tentang kripto, yang merupakan masalah konfigurasi yang boleh anda betulkan di rumah. 868 bermaksud tiada paket yang perlu keluar, jadi reka bentuk terowong tidak relevan sehingga nama diselesaikan. Mengelaskan kod ke peringkat yang betul menjimatkan lebih banyak masa daripada mana-mana tangkapan, kerana ia memberitahu anda langkah mana antara tiga langkah seterusnya untuk dilangkau.
Berhati-hati dengan sewajarnya jika klien bukan Windows. Klien pihak ketiga merumuskan sebahagian besar ini kepada "sambungan gagal", sebab itu dua langkah seterusnya tidak bergantung pada mesej sama sekali.
Semak nama sebelum menyalahkan terowong
Rangkaian hotel dan lapangan terbang sentiasa memintas DNS, dan penyelesai yang menjawab dengan alamat portal menghasilkan kegagalan yang kelihatan tepat seperti pelayan mati. Bandingkan apa yang dikatakan penyelesai tempatan dengan apa yang dikatakan penyelesai awam:
Resolve-DnsName vpn.example.net -Type A
nslookup vpn.example.net 1.1.1.1
ipconfig /all | findstr /i "DNS Servers"
Jika dua jawapan berbeza, anda sedang dihalakan dan selebihnya diagnosis tidak berguna sehingga itu diselesaikan. Alamat portal khususnya akan menerima sambungan TCP dengan senang hati dan kemudian tersekat, sebab itu ia boleh kelihatan seperti sekatan tembok api apabila anda menguji dengan pelayar.
Sekarang sahkan bahawa alamat yang anda mahu tuju ialah yang sedang digunakan. Sesetengah klien menyimpan cache penyelesaian sebelumnya sepanjang hayat profil, jadi sambungan semula selepas perubahan DNS masih pergi ke alamat lama. Tutup klien sepenuhnya sebelum menguji semula, bukan menekan putus dan sambung dalam tetingkap yang sama.
Cari paket luar mana yang hilang
Terowong mempunyai aliran luar yang sepenuhnya milik laluan antara anda dan pelayan, dan aliran itulah yang dikelaskan dan digugurkan oleh kotak perantaraan. Tangkap di klien, kemudian bandingkan rangkaian yang berfungsi dengan yang gagal. Di Windows tangkapan terbina dalam sudah cukup untuk pandangan pertama:
pktmon filter remove
pktmon filter add -p 500 -t UDP
pktmon start --capture --pkt-size 128
pktmon stop
pktmon etl2txt PktMon.etl
Yang anda mahu lihat ialah sama ada paket anda keluar sama sekali, dan sama ada sesuatu kembali. Paket keluar tanpa balasan bermaksud laluan atau hujung jauh menggugurkannya; jika tiada apa keluar sama sekali, klien tidak pernah sampai ke peringkat menghantar, yang menunjuk kembali kepada penyelesaian nama atau dasar tembok api tempatan.
Ulang ujian yang sama pada hotspot telefon. Ini ialah perbandingan paling bermaklumat yang tersedia untuk anda, kerana ia membuang setiap kotak di hotel daripada laluan sambil mengekalkan laptop, klien dan kelayakan yang sama. Jika terowong naik pada hotspot, berhenti melihat pelayan. Jika ia juga gagal di sana, anda mempunyai masalah klien atau akaun yang tidak pernah disebabkan oleh rangkaian.
Tukar satu pengangkutan dan uji semula
Setelah anda tahu aliran luar digugurkan, soalan praktikalnya ialah aliran mana yang dibenarkan oleh rangkaian. Kebanyakan rangkaian terhad membenarkan TCP 443 keluar kerana mereka tidak dapat berfungsi tanpanya, jadi memindahkan pendengar ke sana ialah jawapan biasa. Pada OpenVPN itu suis sebelah klien sehingga pelayan ditukar:
openvpn --config corp.ovpn --proto tcp-client --remote vpn.example.net 443 --verb 4
Klien IPsec mempunyai suis setara dalam panel tetapan mereka sendiri, biasanya diterangkan sebagai IPsec melalui TCP atau NAT traversal. Menukarnya juga satu diagnosis: jika terowong naik melalui TCP dan mati melalui UDP, anda telah membuktikan rangkaian menapis UDP, dan anda juga telah menemui tetapan yang anda perlukan setiap kali melawat tapak itu.
Tahan keinginan untuk mematikan ciri penghala pada percubaan pertama. Mematikan pemeriksaan stateful atau perlindungan banjir pada rangkaian hotel tidak tersedia untuk anda, dan pada peralatan anda sendiri ia menukar perlindungan sebenar dengan satu laptop. Catat tetapan mana yang mengubah hasil, kemudian kembalikan dan cari pengangkutan yang rangkaian sudah benarkan.
Sahkan profil yang sama pada rangkaian kedua
Sebelum menutup tiket, buktikan perubahan itu bertahan selepas meninggalkan bangunan. Sambung semula pada rangkaian asal dengan tetapan asal, tangkap tiga puluh saat pertama, dan sahkan klien mencapai keadaan yang sama seperti di hotspot:
pktmon filter add -p 443 -t TCP
pktmon start --capture
Get-VpnConnection -Name "Corp" | Select-Object ConnectionStatus, TunnelType, ServerAddress
Perbezaan yang didedahkan arahan terakhir wajar dikekalkan: profil boleh melaporkan terowong bersambung sementara penghalaan di dalamnya salah, dan itu menghasilkan "VPN menyala tetapi tiada apa berfungsi", yang merupakan artikel lain. Jika jenis terowong berubah selepas suntingan anda, profil itu bukan yang anda uji.
Kemudian tulis penemuan di tempat orang seterusnya akan melihat. "Profil korporat memerlukan TCP 443 di tapak ini; UDP 500 ditapis oleh hotel" ialah ayat yang boleh ditindaklanjuti rakan sekerja. "VPN tidak stabil di hotel" bukan, dan itu menjamin jam yang sama akan terbuang lagi bulan depan.