Dua peer menyenaraikan julat yang bersentuhan, dan trafik sampai kepada yang salah. Tiada apa yang rosak: WireGuard memilih peer dengan memadankan destinasi dengan julat yang dikonfigurasikan, dan padanan paling khusus menang. Sebelum meluaskan apa-apa, tentukan peer mana yang sepatutnya memiliki awalan mana.

Awalan terpanjang menang di dalam WireGuard

Setiap entri peer membawa satu set awalan destinasi. Apabila paket dihalakan ke antara muka, pelaksanaan mencari entri dengan awalan sepadan yang paling khusus — peraturan yang sama digunakan oleh jadual penghalaan. Oleh itu /24 mengalahkan /16 yang mengandunginya, dan peer yang lebih sempit menerima trafik.

Persediaan road-warrior menggunakan ini dengan sengaja. Satu peer memiliki julat luas untuk sesuatu tapak, dan hos individu dipotong dengan entri /32 yang dimiliki oleh peer lain. Corak ini berkesan kerana potongan itu lebih khusus, bukan kerana susunan.

Catat pemilikan sebagai jadual awalan dan peer. Jika dua entri menerangkan awalan yang sama, konfigurasi itu tidak lagi menyatakan niat, ia menyatakan perlumbaan.

Sistem pengendalian memilih antara muka terlebih dahulu

WireGuard hanya memilih antara peer pada satu antara muka. Antara muka mana yang menerima paket diputuskan lebih awal, oleh jadual penghalaan hos, dan laluan lalai kedua atau laluan lama boleh menghantar trafik ke tempat yang senarai peer tidak pernah melihatnya. Itulah sebabnya diagnosis pada peringkat peer boleh betul tetapi masih tidak menjelaskan kegagalan. Semak laluan ke destinasi sebelum membaca konfigurasi peer, kerana laluan yang menunjuk ke antara muka fizikal memintas keseluruhan soalan.

Alat ini biasanya memasang laluan tersebut daripada julat peer, yang bermaksud perubahan pada senarai satu peer boleh mengubah hala trafik yang dahulunya milik peer lain secara senyap. Oleh itu menyunting peer ialah perubahan penghalaan yang menyamar. Semak kedua-duanya sekali gus, atau anda akan membaiki satu dan merosakkan yang lain.

Paket masuk diperiksa mengikut sumber

Senarai julat menjalankan tugas berganda. Untuk trafik keluar ia memilih peer mengikut destinasi, dan untuk trafik masuk ia membenarkan alamat sumber. Paket yang tiba dari alamat di luar julat peer itu digugurkan sebelum mana-mana firewall melihatnya.

Asimetri ini mudah terlepas pandang apabila membaca satu sisi konfigurasi. Peer yang boleh mencapai subranet tidak dengan itu dibenarkan menghantar dari subranet itu, dan kedua-dua arah dikuatkuasakan oleh pemeriksaan yang berbeza.

Pemilikan sumber yang sempit menjadikan ini kelebihan. Beri setiap peer /32 untuk alamatnya sendiri dan firewall di hilir mempunyai sumber yang boleh dipercayai untuk dipadankan, bukannya julat seluruh kumpulan yang boleh dituntut oleh mana-mana ahli.

Julat pendua bukan failover

Memberikan awalan yang sama kepada dua peer tidak mencipta pengimbang beban atau laluan siap sedia. Tiada pemeriksaan kesihatan dan tiada afiniti sesi: entri yang menang ditentukan oleh susunan dalaman pelaksanaan, yang bukan kontrak yang patut anda reka bentuk. Jika anda memerlukan jalan keluar alternatif, nyatakan di tempat pemilihan ditakrifkan. Dasar penghalaan, metrik, atau sepasang awalan berbeza dengan pemilik terdokumen bagi setiap satu menghasilkan tingkah laku yang boleh anda ramal dan uji.

Meluaskan julat untuk membaiki kegagalan yang tidak berkaitan ialah kesilapan biasa yang lain. Ia menjauhkan trafik daripada peer yang berfungsi, dan gejala baru tiba sebelum yang lama difahami.

Sahkan pemilihan sebelum menyunting

Tiga arahan menjawab tiga soalan mengikut susunan. Yang pertama menyenaraikan julat yang dituntut oleh setiap peer. Yang kedua menunjukkan antara muka mana yang akan digunakan oleh hos untuk sesuatu destinasi. Yang ketiga menunjukkan keadaan peer secara langsung selepas trafik mengalir.

wg show wg0 allowed-ips
ip route get 10.66.8.20
wg show wg0
ip rule show

Jalankan sebelum dan selepas perubahan dan bandingkan. Jika output laluan berubah tetapi trafik masih sampai kepada peer yang salah, senarai awalan bertindih dengan cara yang belum anda catat. Jika output laluan tidak berubah, konfigurasi peer bukanlah perkara yang dirujuk.

Catat destinasi, antara muka yang dipilih dan peer yang dipilih dalam tiket. Trio itulah yang menjadikan pertindihan boleh disemak kemudian, dan ia jauh lebih berguna daripada tangkapan skrin konfigurasi.

Artikel berkaitan