Cara menguji suis mati VPN tanpa akaun sebenar
Jalankan ujian suis mati dengan halaman umpan dan profil sandaran: liputi setiap jenis gangguan, baca kod keluar curl dan asingkan sekatan sebenar daripada kegagalan DNS.
Anda tidak memerlukan akaun sebenar untuk mengetahui sama ada suis mati bertahan; akaun itulah yang dipertaruhkan oleh ujian. Pemeriksaan mencipta tetingkap pendek apabila trafik mungkin atau tidak mungkin keluar di luar terowong, jadi muatan haruslah sesuatu yang anda sanggup kehilangan. Saya kini melakukannya dengan halaman umpan dan profil pelayar sandaran, dan jawapannya lebih jelas daripada rutin pelayar serta mel web yang saya gunakan dahulu. Di bawah saya mengikut urutan yang sama seperti yang dipaparkan oleh klien: tetapan, destinasi, peralihan dan kemudian bukti.
Ujian ini menjawab satu soalan sempit: semasa peralihan ini, bolehkah aplikasi ini mencapai rangkaian di luar terowong? ia tidak berkata apa-apa tentang sama ada baki dasar itu wajar. Kekalkan skop sekecil itu dan hasilnya wajar dicatat.
Cari suis dan skopnya dalam klien
Buka klien dan cari tetapan sekatan sebelum anda mengubah apa-apa keadaan rangkaian. Pembekal menamakannya berbeza: suis mati, mod kunci, kunci rangkaian, sekatan trafik di luar terowong. Label memberitahu lebih sedikit daripada pilihan di dalamnya. Yang penting ialah sama ada sekatan digunakan sentiasa atau hanya apabila aplikasi memutuskan terowong baru sahaja gagal, dan sama ada ia meliputi semua aplikasi atau senarai terpilih.
Kemudian senaraikan peralihan yang benar-benar boleh dilakukan oleh klien anda. Putus sambungan yang dimulakan pengguna, keluar dari aplikasi dan kehilangan hubungan dengan pelayan ialah tiga laluan kod berbeza dalam kebanyakan klien, dan ia tidak berkongsi satu dasar sekatan. Sesetengah melepaskan sekatan apabila aplikasi keluar. Yang lain membiarkan peraturan penapis sehingga sesuatu membuangnya. Baca rujukan tetapan pembekal untuk binaan yang anda jalankan daripada menganggap, kemudian catat yang mana antara tiga itu yang anda uji.
Catat juga profil: protokol, keluarga alamat dan sama ada terowong berpecah dihidupkan. Dakwaan meliputi seluruh peranti tidak bermakna jika profil sengaja mengecualikan beberapa aplikasi, dan pengecualian yang anda konfigurasikan sendiri bukan kebocoran. Rujukan tetapan OpenVPN Connect ialah jenis halaman yang menamakan suis mana mengubah tingkah laku mana, walaupun label berbeza mengikut klien.
Pilih destinasi umpan yang juga berfungsi tanpa terowong
Umpan memerlukan dua sifat, dan melangkau mana-mana satu menghasilkan keputusan yang tidak boleh dibaca. Ia mesti boleh dicapai secara langsung apabila terowong turun dan sekatan dimatikan, jika tidak maklumat bahawa ia berhenti menjawab mungkin hanya bermakna hos itu hilang. Dan ia tidak boleh memerlukan log masuk, kuki atau bayaran, supaya kebocoran hanya menelan satu baris log dan bukan satu sesi.
Halaman statik pada hos yang anda kawal ialah pilihan paling bersih. Mesin maya sandaran yang menjalankan pelayan HTTP biasa hampir sama baik, dan halaman pemeriksaan sambungan awam boleh digunakan jika anda menerima bahawa ketersediaannya di luar kawalan anda. Catat alamat, port, keluarga alamat dan sama ada permintaan memerlukan carian nama, kerana setiap satunya menjadi pemboleh ubah yang mungkin perlu anda asingkan kemudian.
Tetapkan garis dasar sebelum menyentuh suis. Dengan terowong naik, umpan mesti menjawab melalui terowong, yang membuktikan laluan dasar berfungsi. Dengan terowong turun dan sekatan dimatikan, ia mesti menjawab secara langsung, yang membuktikan destinasi itu hidup. Hanya selepas itu kegagalan dalam keadaan tersekat memberitahu anda sesuatu.
Jalankan peralihan dalam urutan tetap
Ambil peralihan satu demi satu dan beri setiap satu beberapa saat untuk reda, kerana klien sering meruntuhkan dan membina semula peraturan dalam jurang itu. Menjalankan pemeriksaan pendek yang sama setiap kali menjadikan pemerhatian setanding:
curl -sS -o /dev/null -w 'http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_exit=$?"
dig +short decoy.example
curl -6 -sS -o /dev/null -w 'v6_http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_v6_exit=$?"
| Transition | Expected with the block on | Failure signature |
|---|---|---|
| Manual disconnect | Decoy stops answering within seconds | Decoy still returns 200 |
| Server or path failure | Blocked, with no exemption for the old endpoint | Direct access during the gap |
| Quit the app | Client-dependent; record what happens | Block disappears with the process |
| Wi-Fi to Ethernet | Block holds until the tunnel returns | Traffic flows mid-change |
Baris keluar dari aplikasi wajar dijalankan sendiri walaupun anda tidak pernah menutup klien dalam penggunaan biasa. Jika sekatan dilepaskan semasa keluar, ranap atau kemas kini paksa memberi anda pendedahan yang sama, dan itu fakta tentang penggunaan sebenar, bukan tentang kesabaran anda. Pada Windows, prob yang setara ialah Resolve-DnsName decoy.example dan curl.exe -s -o NUL -w "%{http_code}" http://decoy.example/.
Asingkan sekatan daripada penyelesai yang rosak
Halaman yang gagal dimuatkan mempunyai beberapa punca, dan hanya satu daripadanya ialah suis yang berfungsi. Jika nama tidak diselesaikan, anda telah mengetahui bahawa DNS disekat atau rosak, bukan bahawa laluan data disekat. Uji juga alamat literal, supaya jawapannya tidak bergantung pada penyelesaian langsung.
Kod keluar curl memisahkan kes-kes itu. 6 ialah kegagalan penyelesaian nama, 7 bermaksud sambungan ditolak, 28 ialah tamat masa. Laluan tersekat biasanya muncul sebagai tamat masa atau penolakan terhadap alamat literal, manakala sekatan DNS sahaja meninggalkan 6 dan menyembunyikan segala-galanya. Halaman cache atau portal tawanan memperdayakan mata, jadi buktinya ialah kod keluar, bukan skrin.
Ulang prob melalui IPv6 dengan alamat literal. Sekatan yang meliputi IPv4 dan mengabaikan IPv6 cukup biasa untuk mendapat barisnya sendiri dalam nota anda, dan klien yang mematikan IPv6 di luar terowong sepatutnya gagal dengan bersih pada kedua-dua keluarga.
Catat skop yang diliputi hasil
Apabila terowong kembali, sahkan pemulihan: umpan menjawab melalui terowong, penyelesai memulangkan jawapan dan dasar kekal di tempat anda meninggalkannya. Kemudian batalkan eksperimen. Peraturan tembok api sementara, laluan nyahpepijat atau profil ujian yang ditinggalkan akan mengelirukan jalannya seterusnya dan boleh hidup lebih lama daripada aplikasi.
Satu laluan meliputi satu binaan klien, satu profil, satu peralihan dan satu keluarga alamat. Catat keempat-empatnya bersama hasilnya:
- Binaan klien dan platform, serta sama ada tetapan itu mengikut profil atau global.
- Profil, protokol dan sebarang pengecualian terowong berpecah.
- Peralihan yang diuji dan cara anda mencetuskannya.
- Keluarga alamat dan DNS, dengan kod keluar curl untuk keadaan tersekat dan tidak tersekat.
Jika mana-mana baris kosong, ujian belum selesai. Perayauan bermaksud mengulang baris perubahan rangkaian. Permulaan semula tanpa pengawasan bermaksud memeriksa sama ada peraturan kembali, dan itu soalan tentang urutan pemulihan, bukan tentang suis. Ulang jujukan selepas kemas kini klien, kerana suis jarang berubah sedangkan tingkah laku di belakangnya berubah. Simpan umpan: tiada apa yang perlu diputar dan pemeriksaan seterusnya mengambil masa lima minit.