Peer WireGuard keluar melalui WAN yang salah: lima semakan mengikut urutan
Pada gateway dengan berbilang uplink, jabat tangan dan aliran yang diteruskan boleh mengambil laluan berbeza. Lalui peraturan, tanda, terjemahan dan balasan mengikut urutan itu.
Dua uplink, satu gateway dan satu peer WireGuard yang trafiknya terus muncul di talian sandaran. Jabat tangan kekal sihat sepanjang masa. Itulah sebabnya gejala ini mudah disalah baca sebagai kerosakan WireGuard dan bukan kerosakan penghalaan.
Lakukan semakan di bawah mengikut urutan. Setiap satu mempunyai syarat berhenti, dan melompat ke hadapan biasanya menghasilkan jawapan salah yang yakin.
Asingkan jabat tangan daripada aliran yang diteruskan
Pertukaran peer yang disulitkan mempunyai laluan titik akhir ke alamat awam pelayan. Trafik klien yang diteruskan mempunyai destinasi berbeza dan boleh dipilih oleh tanda atau peraturan dasar. Kedua-duanya keputusan penghalaan yang berkongsi satu antara muka. Menganggap satu sebagai bukti tentang yang lain ialah kesilapan pertama.
Berhenti sebaik sahaja anda mendapati diri anda membuat penaakulan daripada jabat tangan. Ia hanya bukti tentang laluan titik akhir.
Baca peraturan dasar, bukan jadual lalai
Jadual lalai menunjukkan apa yang berlaku apabila tiada peraturan dasar yang sepadan. Pada gateway yang menghala berdasarkan sumber, tanda atau destinasi, peraturan penentu tinggal di tempat lain. Jadual biasa boleh kelihatan cukup wajar sedangkan pilihan sebenar 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 peraturan dasar dan jadual yang ditunjukkannya. Kemudian pastikan peraturan mana yang sepadan dengan aliran ujian anda. Peraturan yang merujuk antara muka yang tidak lagi membawa uplink yang dimaksudkan ialah penemuan, bukan butiran. Carian laluan di hujung menunjukkan jawapan jauh lebih pantas daripada membaca jadual dan meneka.
Semak tanda dan terjemahan bersama-sama
Penghalaan dasar bergantung pada tanda paket yang ditetapkan lebih awal dalam rantaian. Jika peraturan penandaan terlepas trafik anda, aliran jatuh ke jadual utama dan keluar melalui apa sahaja lalai di sana. Paket yang diteruskan sering melangkau rantaian yang ditulis untuk trafik yang dijana secara tempatan.
nft list chain inet filter prerouting
conntrack -L -s 10.30.8.2 2>/dev/null | head
ip -s link show dev eth1
Terjemahan mesti sepadan dengan uplink yang membawa aliran. Peraturan yang menterjemah ke alamat utama sementara paket keluar melalui talian sandaran menghasilkan balasan yang dialamatkan kepada antara muka yang tidak pernah digunakan oleh aliran. Semak syarat antara muka peraturan terjemahan itu sendiri. Peraturan tanpa syarat berfungsi sehingga uplink kedua digunakan, kemudian gagal dengan cara yang kelihatan berselang-seli.
Perhatikan antara muka mana yang membawa balasan
Tangkap pada kedua-dua uplink semasa satu permintaan berjalan. Catat antara muka mana yang membawa permintaan dan mana yang membawa balasan. Laluan tidak simetri jauh lebih mudah dilihat daripada diramal.
Jika balasan tiba melalui uplink yang salah, masalah telah berpindah daripada WireGuard ke penjejakan sambungan atau terjemahan. Tiada perubahan pada konfigurasi peer akan membaikinya.
Ubah satu perkara dengan jalan kembali
Kekalkan akses konsol atau di luar jalur sebelum menyunting peraturan dasar pada gateway. Lakukan satu perubahan, uji destinasi sah yang sama, kemudian sambung semula dan pastikan jabat tangan masih menggunakan laluan titik akhir yang dimaksudkan. Tambah ujian berangka pada keluarga alamat kedua, kerana dasar khusus v4 membiarkan kesilapan yang sama tersedia.
Catat uplink mana yang digunakan oleh setiap aliran. Rekod itu menjadikan laporan seterusnya semakan dua minit dan bukan satu petang penuh. nota WireGuard tentang ruang nama dan penghalaan menerangkan cara memisahkan laluan titik akhir daripada trafik yang diterowongkan secara sengaja, yang biasanya lebih bersih daripada menyalin jalan pintas laluan lalai.