Imbasan UDP kata ditapis: adakah rakan WireGuard anda benar-benar mati?
Probe tanpa pengesahan mungkin tidak menerima balasan langsung daripada rakan yang sihat. Uji klien sebenar, kemudian korelasikan pendengar dan laluan paket pada pelayan.
Pengimbas mencetak terbuka atau ditapis untuk port UDP, dan kesimpulannya biasanya datang dalam beberapa saat: terowong rosak. Mungkin ya, tetapi imbasan itu tidak membuktikannya. UDP tidak membawa sebarang jabat tangan sambungan, dan WireGuard tidak menjawab apa-apa yang tidak dapat disahkannya, jadi senyap ialah jawapan yang dijangka kepada kebanyakan probe.
Bekerja dari klien ke luar sebaliknya, dan anggap imbasan sebagai satu titik data lemah antara beberapa yang lain.
Apa yang pengimbas boleh lihat dan apa yang tidak
Pengimbas UDP menghantar muatan dan menunggu. Jika ICMP port-unreachable kembali, ia boleh melaporkan port sebagai tertutup. Jika tiada apa-apa kembali, hasilnya samar-samar secara reka bentuk: laluan ditapis, hos yang tiada dan perkhidmatan yang berjalan tetapi mengabaikan muatan semuanya menghasilkan senyap yang sama. Tiga keadaan berbeza, satu rentetan output.
WireGuard sengaja memburukkan kesamaran itu. Protokol hanya menerima paket apabila ia disahkan, jadi probe dengan kunci yang salah dibuang tanpa balasan. Tiada sepanduk, tiada rentetan versi dan tiada mesej ralat untuk dijejak.
Ujian TCP pada nombor port yang sama tidak menguji apa-apa yang berkaitan. Ia melatih pendengar lain yang mungkin tidak wujud, dan penolakannya tidak berkata apa-apa tentang UDP.
Oleh itu, keadaan terbuka ditapis menerangkan ketidakpastian pengimbas dengan lebih tepat daripada menerangkan pelayan anda.
Susuri klien sebenar dari profil ke dalam
Mulakan dengan pandangan klien itu sendiri. Adakah antara muka mempunyai alamat, adakah konfigurasi menamakan titik akhir yang betul, dan adakah pembilang jabat tangan bergerak apabila sambungan dicuba? Klien yang tidak pernah menghantar paket dan klien yang paketnya digugurkan kelihatan sama dalam tetingkap status. Hanya pembilang membezakannya, jadi baca pembilang dahulu.
Kemudian perhatikan bahagian pelayan semasa satu percubaan dibenarkan berlaku, bukannya menjalankan imbasan berasingan dari lokasi ketiga:
wg show wg0 latest-handshakes
tcpdump -n -i eth0 udp port 51820 -c 10
Perintah pertama melaporkan jabat tangan terakhir bagi setiap rakan, yang merupakan bukti langsung bahawa pertukaran disahkan telah selesai. Yang kedua menunjukkan sama ada paket untuk pendengar tiba sama sekali, yang memisahkan masalah laluan daripada masalah konfigurasi dalam satu langkah.
Jika tangkapan tidak menunjukkan apa-apa, paket itu tidak pernah sampai ke hos dan konfigurasi terowong bukan suspek. Jika ia menunjukkan paket tiba dari alamat yang dijangka sementara jabat tangan kekal pada sifar, kunci atau alamat yang dibenarkan rakan ialah tempat seterusnya untuk diperiksa.
Korelasikan di pelayan apabila anda mentadbirnya
Sahkan bahawa pendengar wujud dan bahawa tembok api penyedia membenarkan port UDP. Peraturan tembok api hos dan kumpulan keselamatan awan ialah dua pintu bebas, dan mana-mana satu boleh menggugurkan paket yang dibenarkan oleh yang lain. Periksa kedua-duanya terhadap port sebenar dalam konfigurasi, bukan port yang anda ingat.
Alamat sama pentingnya dengan port. Pelayan yang mendengar pada alamat tertentu tidak akan menjawab paket yang tiba pada alamat lain, dan hos berbilang antara muka boleh menerima probe pada antara muka yang anda tidak maksudkan.
Simpan setiap ujian dalam sistem yang anda dibenarkan untuk uji. Perbandingan yang berguna ialah antara satu percubaan klien sebenar dan laluan pelayan yang dijangka, bukan sapuan alamat yang lebih luas yang kebetulan milik penyedia yang sama.
Membaca keputusan imbasan dengan jujur
Imbasan ialah cara murah untuk memeriksa bahawa hos wujud dan bahawa port tidak jelas disekat oleh peranti perantaraan. Ia bukan bukti ketersampaian untuk protokol disahkan, dan pasti bukan ujian konfigurasi.
Bukti yang lebih kukuh ialah jabat tangan selesai daripada klien yang benar-benar anda pedulikan, diikuti permintaan yang menggunakan terowong dan mendapat balasan. Urutan itu melatih kunci, alamat yang dibenarkan, kedua-dua tembok api dan laluan pulangan sekali gus.
Apabila percubaan sebenar gagal, kegagalan itu masih perlu didiagnosis dengan pembilang klien dan tangkapan pelayan, bukan dengan probe lain. Penerangan protokol menjelaskan mengapa paket yang tidak disahkan tidak menerima jawapan, dan itulah keseluruhan sebab keputusan imbasan bersifat samar-samar.