WireGuard dapat memegang handshake baru dan tidak punya alamat pada saat yang sama, dan keadaan itu koheren, bukan bertentangan. Handshake adalah peristiwa peer, alamat milik antarmuka, dan rute menentukan uplink mana yang dipakai paket untuk keluar. Tiga lapisan, tiga pemilik, dan masing-masing bisa gagal sementara dua lainnya tampak sehat.

Membacanya sebagai satu status itulah yang mengubah diagnosis dua menit menjadi sepanjang sore menyalakan ulang layanan.

Handshake adalah peristiwa peer, bukan peristiwa pengalamatan

Handshake WireGuard membuktikan bahwa peer yang dikonfigurasi menjawab dengan kunci yang sah dan kunci sesi masih berlaku. Ia tidak mengatakan apa pun tentang alamat lokal pada antarmuka, dan tidak pula apakah ada rute yang menunjuk ke sana. Alamat diberikan oleh pembantu atau manajer jaringan, sedangkan konfigurasi protokol hanya menamai peer dan kunci. Mencampuradukkan keduanya adalah cara handshake yang sehat dibaca sebagai terowongan yang bekerja.

Karena itu wg show dapat melaporkan handshake berusia beberapa detik pada antarmuka yang tidak dapat menerima satu paket pun dari aplikasi.

Manajer yang membuat ulang antarmuka dapat menjatuhkan alamat tanpa menyentuh konfigurasi peer, dan handshake berikutnya berhasil seketika karena kuncinya tidak pernah berubah. Baris log tentang handshake yang berhasil akurat dan tidak relevan dengan kegagalan.

ObservationWhich layer it belongs toWrong conclusion it invites
Handshake a few seconds oldPeer and keysThe tunnel is usable for application traffic
Address present on wg0Interface configurationTraffic actually egresses through it
Route points at wg0Forwarding tableThe outer packet uses the intended uplink

Alamat antarmuka punya pemiliknya sendiri

Alamat pada perangkat terowongan dapat berasal dari baris Address milik pembantu, dari klien DHCP yang berjalan pada antarmuka, atau dari daemon manajemen yang membuatnya saat terhubung. Apa pun itu, komponen itulah yang memiliki alamat dan akan memulihkannya atau tidak menurut logikanya sendiri. Membaca alamat tanpa menyebut pemiliknya membuat Anda tak mampu menjelaskan mengapa alamat itu lenyap.

Dua pemilik pada satu antarmuka adalah kegagalan klasik. Menjalankan pembantu dan manajer jaringan desktop pada perangkat yang sama menghasilkan perlombaan di mana yang satu menghapus apa yang baru saja dikonfigurasi yang lain, dan titik akhir tetap menjawab sepanjang waktu.

Pilih satu pemilik dan biarkan alat lain mengamati alih-alih mengelola. Keputusan itu layak ditulis, karena gejalanya muncul berminggu-minggu kemudian dan tampak seperti kehilangan alamat secara acak.

Rute memilih uplink, bukan antarmuka

Rute internal yang menunjuk ke wg0 memutuskan bahwa lalu lintas masuk ke terowongan. Keputusan terpisah mengirim paket luar yang terenkripsi menuju peer, dan pada host dengan beberapa uplink keputusan itu datang dari tabel penerusan dan aturan kebijakan. Perayauan Wi-Fi dapat mengubah jalur luar tanpa menyentuh alamat dalam.

Jadi terowongan yang bekerja dan peer yang tak terjangkau adalah keadaan yang serasi, begitu pula peer yang benar dan rute internal yang rusak. Ketiga pengamatan harus diambil bersama, pada saat yang sama, atau perbandingannya tak bermakna.

Bandingkan ketiga keadaan dalam satu lintasan

Tiga perintah hanya-baca menjawab ketiga pertanyaan dalam urutan yang paling cepat mengisolasi kegagalan. Jalankan tanpa mengubah apa pun di antaranya.

ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer

Yang pertama menunjukkan apakah antarmuka punya alamat sama sekali, dan yang kedua menunjukkan perangkat mana yang akan dipakai tujuan tertentu saat ini. Yang ketiga melaporkan waktu handshake terakhir dan penghitung bita, dan hanya itu dari ketiganya yang menggambarkan peer, bukan host lokal.

Baca penghitungnya maupun stempel waktunya. Handshake yang terus diperbarui sementara transfer tetap datar berarti peer menjawab tetapi tidak ada hal berguna yang menyeberang, yang menunjuk ke perutean atau ACL, bukan ke kunci. Stempel waktu yang berhenti maju padahal alamat ada justru menunjuk ke arah hulu. Kedua bacaan berasal dari baris keluaran yang sama, dan tak satu pun terlihat jika Anda hanya memeriksa keberadaan handshake.

Perbaiki keadaan spesifik yang salah, lalu uji ulang aplikasinya, bukan terowongannya. Handshake baru adalah bukti tentang peer, dan bukti tentang peer bukan bukti bahwa permintaan berikutnya dari peramban Anda akan menemukan alamat, rute, dan uplink yang bekerja. panduan wg-quick menyatakan dengan jelas mana di antaranya yang disiapkan pembantu dan mana yang milik protokol.

Artikel terkait