Port 443 menjawab, SSTP tetap gagal: tahap mana yang rusak?
Sesuatu menerima koneksi dan terowongan tetap tidak terbangun. Pisahkan transport, sertifikat, negosiasi SSTP, dan autentikasi PPP.
Menyelesaikan jabat tangan TCP ke port 443 sementara terowongan tidak pernah terbangun membuktikan satu hal, dan itu hal kecil. Sesuatu sedang mendengarkan dan bersedia menerima koneksi di alamat itu. Ini tidak mengidentifikasi layanan, sertifikat yang akan disajikan, atau apa yang terjadi setelah byte pertama.
Empat tahap berada di antara jabat tangan itu dan terowongan yang berfungsi, dan masing-masing menghasilkan kesalahan berbeda.
Port terbuka hanya menjelaskan satu lapisan
Menerima koneksi TCP berarti sebuah proses memiliki soket dan jalur mengizinkan jabat tangan. Ini tidak mengatakan apa pun tentang apakah proses itu server SSTP, apakah ia memiliki sertifikat yang valid untuk nama di profil Anda, atau apakah ia akan mengotorisasi akun Anda. Server web di alamat yang sama menjawab jabat tangan dengan sempurna lalu menanggapi permintaan SSTP Anda dengan kesalahan HTTP. Semua di atas jabat tangan itu tetap belum diuji.
Perlakukan uji port sebagai filter termurah yang mungkin, bukan sebagai putusan. Nilainya adalah ia menghapus satu kategori kegagalan, bukan bahwa ia mengonfirmasi semua di atasnya.
Mencampur keduanya adalah alasan orang memasang ulang klien setelah uji yang tidak pernah memeriksa masalah sebenarnya klien.
Pisahkan empat tahap dengan bukti
Tahapnya adalah keterjangkauan transport, validasi TLS, pertukaran SSTP melalui HTTPS, dan autentikasi PPP di dalam terowongan. Jalur yang lolos tahap pertama dan gagal di tahap keempat memerlukan perbaikan kredensial; jalur yang gagal di tahap kedua memerlukan perbaikan sertifikat atau nama. Perbaikan itu tidak memiliki kesamaan, dan memilih yang salah membuang 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 layak dibaca dengan cermat. 200 dari halaman web biasa memberi tahu bahwa ada layanan web; itu tidak memberi tahu bahwa permintaan SSTP akan dipahami. 404 dari alamat yang sama sama-sama tidak informatif tentang VPN. Hanya log klien yang memberi tahu tahap mana dari empat itu yang dicapai.
Perhatikan nama mana yang dipakai setiap perintah. Sertifikat dipilih berdasarkan nama yang Anda kirim, jadi ketidakcocokan antara profil dan uji adalah ketidakcocokan yang Anda masukkan sendiri. Menuliskan nama itu di samping hasil mencegah kebingungan nanti.
Bacalah keberhasilan sebagian ke arah yang benar
Perantara dapat mengizinkan penjelajahan biasa dan menolak pertukaran berikutnya, sehingga proxy yang berfungsi untuk situs web tetap bisa gagal untuk terowongan. Pola yang sama muncul ketika sertifikat valid untuk nama peramban tetapi tidak untuk nama yang dikonfigurasi di profil: peramban puas dan klien tidak, dan keduanya benar tentang apa yang diperiksa.
Biarkan validasi server aktif saat Anda mendiagnosis ini. Mematikannya mengubah ketidakcocokan sertifikat menjadi jabat tangan yang berhasil dan menyembunyikan satu-satunya bukti yang akan menjelaskan kegagalan.
Jika profil yang sama berfungsi dari jaringan lain, perbedaannya bergantung pada jalur. Ini mempersempit pencarian ke perantara tanpa mengatakan yang mana, dan itu tetap langkah maju yang berguna. Catat jaringan yang Anda gunakan, karena perbandingan tidak bernilai tanpanya.
Lalu uji aplikasi, bukan hanya sesi
Setelah sesi ada, verifikasi rute yang dimaksud, resolusi nama, dan izin layanan dari klien yang membutuhkannya. Terowongan yang terhubung masih dapat memiliki penerusan yang hilang di sisi jauh atau rute balik yang tidak pernah ada, dan kegagalan itu tampak persis seperti masalah aplikasi bagi orang yang menunggu.
Pertahankan setiap kesimpulan terikat pada tahap yang menghasilkannya. Menyebut port terbuka sebagai VPN yang berfungsi adalah cara pemeriksaan sertifikat lima menit berubah menjadi sehari memasang ulang perangkat lunak.