Dua uplink, satu gateway, dan sebuah peer WireGuard yang trafiknya terus muncul di jalur cadangan. Handshake tetap sehat sepanjang waktu. Itulah sebabnya gejala ini mudah salah dibaca sebagai gangguan WireGuard, bukan gangguan perutean.

Lakukan pemeriksaan di bawah secara berurutan. Masing-masing punya syarat berhenti, dan melompat ke depan biasanya menghasilkan jawaban salah yang percaya diri.

Pisahkan handshake dari alur yang diteruskan

Pertukaran peer terenkripsi punya rute titik akhir ke alamat publik server. Trafik klien yang diteruskan punya tujuan berbeda dan dapat dipilih oleh tanda atau aturan kebijakan. Keduanya adalah dua keputusan perutean yang berbagi satu antarmuka. Memperlakukan yang satu sebagai bukti tentang yang lain adalah kesalahan pertama.

Berhentilah begitu Anda mendapati diri bernalar dari handshake. Itu hanya bukti tentang jalur titik akhir.

Baca aturan kebijakan, bukan tabel bawaan

Tabel bawaan menunjukkan apa yang terjadi ketika tidak ada aturan kebijakan yang cocok. Pada gateway yang merutekan berdasarkan sumber, tanda, atau tujuan, aturan penentu berada di tempat lain. Tabel biasa bisa tampak sepenuhnya wajar sementara pilihan sebenarnya dibuat di atasnya.

ip rule show
ip route show table main
ip -4 route get 203.0.113.9 from 10.30.8.2

Baca aturan kebijakan dan tabel yang dituju. Lalu pastikan aturan mana yang cocok dengan alur uji Anda. Aturan yang merujuk antarmuka yang tidak lagi membawa uplink yang dimaksud adalah temuan, bukan detail. Pencarian rute di akhir menunjukkan jawaban jauh lebih cepat daripada membaca tabel dan menebak.

Periksa tanda dan terjemahan bersama-sama

Perutean kebijakan bergantung pada tanda paket yang dipasang lebih awal dalam rantai. Jika aturan penandaan melewatkan trafik Anda, alur jatuh ke tabel utama dan keluar lewat apa pun yang menjadi bawaan di sana. Paket yang diteruskan sering melewati rantai yang ditulis untuk trafik yang dihasilkan secara lokal.

nft list chain inet filter prerouting
conntrack -L -s 10.30.8.2 2>/dev/null | head
ip -s link show dev eth1

Terjemahan harus sesuai dengan uplink yang membawa alur. Aturan yang menerjemahkan ke alamat utama sementara paket keluar lewat jalur cadangan menghasilkan balasan yang dialamatkan ke antarmuka yang tidak pernah dipakai alur. Periksa syarat antarmuka dari aturan terjemahan itu sendiri. Aturan tanpa syarat berfungsi sampai uplink kedua dipakai, lalu gagal dengan cara yang tampak berselang-seling.

Perhatikan antarmuka mana yang membawa balasan

Tangkap pada kedua uplink saat satu permintaan berjalan. Catat antarmuka mana yang membawa permintaan dan mana yang membawa balasan. Jalur asimetris jauh lebih mudah dilihat daripada diprediksi.

Jika balasan datang lewat uplink yang salah, masalahnya telah berpindah dari WireGuard ke pelacakan koneksi atau terjemahan. Tidak ada perubahan pada konfigurasi peer yang akan memperbaikinya.

Ubah satu hal dengan jalan kembali

Pertahankan akses konsol atau di luar jalur sebelum menyunting aturan kebijakan pada gateway. Lakukan satu perubahan, uji tujuan resmi yang sama, lalu sambung ulang dan pastikan handshake masih memakai jalur titik akhir yang dimaksud. Tambahkan uji numerik pada keluarga alamat kedua, karena kebijakan khusus v4 membiarkan kesalahan yang sama tetap tersedia.

Catat uplink mana yang dipakai setiap alur. Catatan itu mengubah laporan berikutnya menjadi pemeriksaan dua menit alih-alih sepanjang sore. catatan WireGuard tentang ruang nama dan perutean menjelaskan cara memisahkan jalur titik akhir dari trafik yang diterowongkan secara sengaja, yang biasanya lebih bersih daripada menyalin akal-akalan rute bawaan.

Artikel terkait