Dua peer WireGuard berbagi rentang: siapa yang menerima paket
Rentang yang tumpang tindih diselesaikan oleh prefiks paling spesifik, bukan oleh urutan. Periksa rute lebih dulu, lalu daftar peer, sebelum memperlebar apa pun.
Dua peer mencantumkan rentang yang saling bersentuhan, dan lalu lintas mencapai yang salah. Tidak ada yang rusak: WireGuard memilih peer dengan mencocokkan tujuan terhadap rentang yang dikonfigurasi, dan kecocokan paling spesifik menang. Sebelum memperlebar apa pun, putuskan peer mana yang seharusnya memiliki prefiks mana.
Prefiks terpanjang menang di dalam WireGuard
Setiap entri peer membawa sekumpulan prefiks tujuan. Ketika paket dirutekan ke antarmuka, implementasi mencari entri dengan prefiks yang cocok paling spesifik — aturan yang sama dengan yang diterapkan tabel perutean. Karena itu /24 mengalahkan /16 yang memuatnya, dan peer yang lebih sempit menerima lalu lintas.
Penyiapan road-warrior memakai ini dengan sengaja. Satu peer memiliki rentang luas untuk sebuah situs, dan host individual dipisahkan dengan entri /32 milik peer lain. Pola ini berhasil karena pemisahannya lebih spesifik, bukan karena urutan.
Catat kepemilikan sebagai tabel prefiks dan peer. Jika dua entri menjabarkan prefiks yang sama, konfigurasi tidak lagi menyatakan niat, melainkan perlombaan.
Sistem operasi memilih antarmuka lebih dulu
WireGuard hanya memilih di antara peer pada satu antarmuka. Antarmuka mana yang menerima paket diputuskan lebih awal, oleh tabel perutean host, dan rute default kedua atau rute usang dapat mengirim lalu lintas ke tempat yang tidak pernah dilihat daftar peer. Itulah sebabnya diagnosis di tingkat peer bisa benar namun tetap tidak menjelaskan kegagalan. Periksa rute ke tujuan sebelum membaca konfigurasi peer, karena rute yang menunjuk ke antarmuka fisik melewati seluruh pertanyaan.
Alat biasanya memasang rute tersebut dari rentang peer, yang berarti perubahan pada daftar satu peer dapat diam-diam mengalihkan lalu lintas yang sebelumnya milik peer lain. Jadi menyunting peer adalah perubahan perutean yang menyamar. Tinjau keduanya sekaligus, atau Anda akan memperbaiki satu dan merusak yang lain.
Paket masuk diperiksa berdasarkan sumber
Daftar rentang menjalankan tugas ganda. Untuk lalu lintas keluar ia memilih peer berdasarkan tujuan, dan untuk lalu lintas masuk ia mengotorisasi alamat sumber. Paket yang datang dari alamat di luar rentang peer itu dibuang sebelum firewall mana pun melihatnya.
Asimetri itu mudah terlewat saat membaca satu sisi konfigurasi. Peer yang dapat menjangkau subnet tidak dengan demikian diizinkan mengirim dari subnet itu, dan kedua arah ditegakkan oleh pemeriksaan yang berbeda.
Kepemilikan sumber yang sempit mengubah ini menjadi keuntungan. Beri setiap peer /32 untuk alamatnya sendiri dan firewall di hilir memiliki sumber tepercaya untuk dicocokkan, bukan rentang seluas grup yang dapat diklaim anggota mana pun.
Rentang duplikat bukan failover
Menetapkan prefiks yang sama ke dua peer tidak menciptakan penyeimbang beban atau jalur siaga. Tidak ada pemeriksaan kesehatan dan tidak ada afinitas sesi: entri yang menang ditentukan oleh urutan internal implementasi, yang bukan kontrak untuk Anda rancang. Jika Anda memerlukan jalan keluar alternatif, nyatakan di tempat pemilihan didefinisikan. Kebijakan perutean, metrik, atau sepasang prefiks berbeda dengan pemilik terdokumentasi masing-masing menghasilkan perilaku yang dapat Anda prediksi dan uji.
Memperlebar rentang untuk memperbaiki kegagalan yang tidak terkait adalah kesalahan umum lainnya. Itu memindahkan lalu lintas menjauh dari peer yang berfungsi, dan gejala baru datang sebelum yang lama dipahami.
Verifikasi pemilihan sebelum menyunting
Tiga perintah menjawab tiga pertanyaan secara berurutan. Yang pertama mencantumkan rentang yang diklaim setiap peer. Yang kedua menunjukkan antarmuka mana yang akan dipakai host untuk suatu tujuan. Yang ketiga menunjukkan status peer langsung setelah lalu lintas mengalir.
wg show wg0 allowed-ips ip route get 10.66.8.20 wg show wg0 ip rule show
Jalankan sebelum dan sesudah perubahan lalu bandingkan. Jika keluaran rute berubah tetapi lalu lintas tetap sampai ke peer yang salah, daftar prefiks tumpang tindih dengan cara yang belum Anda catat. Jika keluaran rute tidak berubah, konfigurasi peer bukanlah hal yang selama ini ditanyakan.
Catat tujuan, antarmuka yang dipilih, dan peer yang dipilih di tiket. Trio itulah yang membuat tumpang tindih dapat ditinjau nanti, dan jauh lebih berguna daripada tangkapan layar konfigurasi.