Port 443 menjawab, SSTP masih gagal: peringkat mana yang rosak?
Sesuatu menerima sambungan itu dan terowong masih tidak terbina. Asingkan pengangkutan, sijil, rundingan SSTP dan pengesahan PPP.
Melengkapkan jabat tangan TCP ke port 443 sedangkan terowong tidak pernah terbina membuktikan satu perkara, dan ia perkara kecil. Sesuatu sedang mendengar dan bersedia menerima sambungan di alamat itu. Ia tidak mengenal pasti perkhidmatan, sijil yang akan dibentangkan atau apa yang berlaku selepas bait pertama.
Empat peringkat terletak antara jabat tangan itu dan terowong yang berfungsi, dan setiap satu menghasilkan ralat berbeza.
Port terbuka hanya menerangkan satu lapisan
Menerima sambungan TCP bermakna sesuatu proses memiliki soket dan laluan membenarkan jabat tangan itu. Ia tidak menyatakan apa-apa tentang sama ada proses itu pelayan SSTP, sama ada ia mempunyai sijil yang sah untuk nama dalam profil anda, atau sama ada ia akan memberi kebenaran kepada akaun anda. Pelayan web di alamat yang sama menjawab jabat tangan itu dengan sempurna dan kemudian menjawab permintaan SSTP anda dengan ralat HTTP. Semua yang di atas jabat tangan itu kekal tidak diuji.
Anggap ujian port sebagai penapis paling murah yang mungkin, bukan sebagai keputusan. Nilainya ialah ia membuang satu kategori kegagalan, bukan bahawa ia mengesahkan semua yang di atasnya.
Mengelirukan kedua-duanya ialah sebab orang memasang semula klien selepas ujian yang tidak pernah memeriksa masalah sebenar klien.
Asingkan empat peringkat dengan bukti
Peringkatnya ialah ketercapaian pengangkutan, pengesahan TLS, pertukaran SSTP melalui HTTPS, dan pengesahan PPP di dalam terowong. Laluan yang melepasi yang pertama dan gagal pada yang keempat memerlukan pembetulan kelayakan; yang gagal pada yang kedua memerlukan pembetulan sijil atau nama. Pembaikan itu tidak mempunyai apa-apa persamaan, dan memilih yang salah membazirkan gangguan.
nc -vz vpn.example.net 443
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief
curl -sS -o /dev/null -w '%{http_code}\n' https://vpn.example.net/
Perintah ketiga wajar dibaca dengan teliti. 200 daripada halaman web biasa memberitahu anda ada perkhidmatan web; ia tidak memberitahu anda bahawa permintaan SSTP akan difahami. 404 daripada alamat yang sama sama tidak bermaklumat tentang VPN. Hanya log klien memberitahu anda peringkat mana antara empat itu yang dicapai.
Perhatikan nama yang digunakan oleh setiap perintah. Sijil dipilih berdasarkan nama yang anda hantar, jadi percanggahan antara profil dan ujian ialah percanggahan yang anda sendiri masukkan. Menulis nama itu di sebelah keputusan mengelakkan kekeliruan kemudian.
Baca kejayaan separa ke arah yang betul
Perantara boleh membenarkan pelayaran biasa dan menolak pertukaran kemudian, itulah sebabnya proksi yang berfungsi untuk laman web masih boleh gagal untuk terowong. Corak yang sama muncul apabila sijil sah untuk nama pelayar tetapi tidak sah untuk nama yang dikonfigurasikan dalam profil: pelayar berpuas hati dan klien tidak, dan kedua-duanya betul tentang apa yang mereka periksa.
Kekalkan pengesahan pelayan dihidupkan semasa anda mendiagnosis ini. Mematikannya menukar percanggahan sijil menjadi jabat tangan yang berjaya dan menyembunyikan satu-satunya bukti yang akan menjelaskan kegagalan.
Jika profil yang sama berfungsi dari rangkaian lain, perbezaannya bergantung pada laluan. Ini menyempitkan carian kepada perantara tanpa menyatakan yang mana, dan ia masih langkah ke hadapan yang berguna. Catat rangkaian yang anda gunakan, kerana perbandingan tidak bernilai tanpanya.
Kemudian uji aplikasi, bukan hanya sesi
Sebaik sahaja sesi wujud, sahkan laluan yang dimaksudkan, penyelesaian nama dan kebenaran perkhidmatan daripada klien yang memerlukannya. Terowong yang bersambung masih boleh mempunyai pemajuan yang hilang di sisi jauh atau laluan balik yang tidak pernah wujud, dan kegagalan itu kelihatan tepat seperti masalah aplikasi kepada orang yang menunggu.
Kekalkan setiap kesimpulan terikat pada peringkat yang menghasilkannya. Memanggil port terbuka sebagai VPN yang berfungsi ialah cara pemeriksaan sijil lima minit menjadi sehari memasang semula perisian.