Memeriksa VPN tanpa kepala: satu aliran pada satu masa, dengan bukti
Kotak tanpa kepala memerlukan permintaan yang jawapannya boleh anda baca. Uji setiap keluarga alamat, konteks dan destinasi, kemudian catat apa yang tidak diliputi oleh hasilnya.
Pada kotak tanpa kepala tiada pelayar untuk dibuka dan tiada mangga untuk dilihat, jadi pemeriksaan mesti berupa permintaan yang jawapannya boleh anda baca. Ia kedengaran remeh sehingga anda perasan bahawa satu hasil alamat keluar digunakan untuk mensijilkan peranti yang menjalankan selusin perkhidmatan, dua keluarga alamat dan proksi. Penjelasan di bawah membina satu bukti terbatas pada satu masa, dalam konteks yang sama dengan tempat beban kerja benar-benar berjalan.
Tentukan apa yang mesti dibuktikan oleh ujian
Sebelum menjalankan apa-apa, tulis jangkaan dalam satu baris: aliran mana, melalui antara muka mana, ke destinasi mana, dan apa yang sepatutnya dilihat di hujung sana. Ujian tanpa jangkaan yang dinyatakan menghasilkan nombor yang tiada siapa dapat mentafsir.
Versi paling berguna menamakan titik akhir yang diluluskan yang melaporkan alamat sumber yang dilihatnya.
Titik akhir itu satu-satunya bahagian yang perlu anda sediakan. Semua yang lain ialah pemerhatian sebelah klien, dan pemerhatian sebelah klien gagal dengan cara yang menarik.
Jalankan pemerhatian dalam konteks yang betul
Shell pentadbir bukan persekitaran beban kerja. Ia boleh membawa pemboleh ubah proksi yang berbeza, jadual penghalaan yang berbeza dalam ruang nama lain, atau fail persekitaran pengguna lain. Jalankan ujian dalam konteks hos, kontena, ruang nama atau perkhidmatan yang sama dengan perkara yang anda periksa. Jika tidak, anda mengukur shell anda sendiri.
Pada hos biasa itu bermakna pengguna yang sama dan unit yang sama. Dalam persekitaran kontena itu bermakna memasuki ruang nama rangkaian kontena dan bukannya menguji dari hos. Pada perkhidmatan systemd ia boleh bermakna unit sementara dengan tetapan yang sama.
Permintaan berikutnya hanya bermakna setelah anda berada dalam konteks yang betul.
Periksa keluarga alamat secara berasingan
Minta setiap keluarga secara eksplisit, kerana permintaan IPv4 yang berjaya tidak menggunakan laluan IPv6 sama sekali. Pemilih --ipv4 dan --ipv6 memaksa pilihan, dan perbezaan antara kedua-dua hasil itu sendiri adalah maklumat.
curl --ipv4 https://probe.example/observed-source
curl --ipv6 https://probe.example/observed-sourcePermintaan IPv6 yang gagal bukan bukti sekatan yang berkesan. Ia boleh bermakna titik akhir tiada alamat IPv6, DNS tidak memulangkan apa-apa yang berguna, atau peranti tiada laluan IPv6 sama sekali. Baca kegagalan itu sebelum membuat kesimpulan. Permintaan IPv6 yang berjaya melalui terowong ialah satu-satunya hasil yang membuktikan laluan IPv6 diliputi.
Catat kedua-dua jawapan bersebelahan. Salah satu daripadanya sahaja ialah separuh fakta.
Tambah empat perkara yang terlepas pandang oleh pemeriksaan keluar
Alamat keluar menjawab satu soalan. Empat lagi menentukan sama ada terowong berkelakuan seperti direka.
| Check | What it proves | What it does not |
|---|---|---|
| Included and excluded destinations | The split behaves as designed for those flows | Coverage of any other destination |
| Resolver path | Where a fresh lookup actually travelled | Where a cached answer came from |
| Tunnel-down behaviour | The failure policy for a new request | What an already open connection does |
| Reconnect and restart | The requirement survives the lifecycle event | Behaviour under load or partial failure |
Dasar destinasi didahulukan: uji aliran yang sepatutnya disertakan dan aliran yang sepatutnya dikecualikan, apabila reka bentuk mempunyai pemisahan. Kemudian DNS, tempat anda memeriksa laluan penyelesai sebenar dan bukannya nilai yang dikonfigurasikan, kerana jawapan cache atau tetapan tercetak tidak mengatakan apa-apa tentang ke mana pertanyaan baharu pergi.
Tingkah laku kegagalan memerlukan pelan dan laluan pemulihan yang dipelihara. Perhatikan permintaan baharu semasa terowong tidak tersedia, dan ingat bahawa sambungan terbuka lama bukan bukti tentang dasar kegagalan. Kitaran hayat datang terakhir: ulangi pemerhatian selepas sambungan semula atau permulaan semula perkhidmatan jika peristiwa itu mempengaruhi keperluan.
Catat bukti, bukan keputusan
Bagi setiap hasil simpan konteks proses, destinasi, keluarga alamat, masa dan sumber yang diperhatikan. Set itu ialah bukti terbatas tentang aliran yang anda jalankan, dan ia boleh dipertahankan kerana ia menyatakan apa yang diliputinya.
Ini bukan audit rekod pengendali VPN, dan bukan sijil untuk setiap aplikasi masa depan pada peranti.
Tulis had di sebelah hasil. Ujian yang menyatakan apa yang tidak diliputinya bertahan dalam semakan, manakala yang mendakwa peranti disahkan tidak. Simpan panduan curl di sebelah pemilih keluarga yang anda gunakan, dan simpan jadual empat baris bersama hasilnya.