WireGuard boleh memegang handshake baharu dan tiada alamat pada masa yang sama, dan keadaan itu koheren, bukan bercanggah. Handshake ialah peristiwa rakan, alamat milik antara muka, dan laluan menentukan pautan atas mana yang dilalui paket untuk keluar. Tiga lapisan, tiga pemilik, dan setiap satu boleh gagal sementara dua yang lain kelihatan sihat.

Membacanya sebagai satu status itulah yang menukar diagnosis dua minit menjadi sepanjang petang memulakan semula perkhidmatan.

Handshake ialah peristiwa rakan, bukan peristiwa pengalamatan

Handshake WireGuard membuktikan bahawa rakan yang dikonfigurasikan menjawab dengan kunci yang sah dan kunci sesi masih terkini. Ia tidak berkata apa-apa tentang alamat setempat pada antara muka, dan tidak juga sama ada mana-mana laluan menuju ke sana. Alamat diberikan oleh pembantu atau pengurus rangkaian, manakala konfigurasi protokol hanya menamakan rakan dan kunci. Mencampurkan kedua-duanya ialah cara handshake sihat dibaca sebagai terowong yang berfungsi.

Sebab itu wg show boleh melaporkan handshake berusia beberapa saat pada antara muka yang tidak dapat menerima satu paket pun daripada aplikasi.

Pengurus yang mencipta semula antara muka boleh menggugurkan alamat tanpa menyentuh konfigurasi rakan, dan handshake berikutnya berjaya serta-merta kerana kuncinya tidak pernah berubah. Baris log tentang handshake yang berjaya adalah tepat dan tidak berkaitan 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 antara muka mempunyai pemiliknya sendiri

Alamat pada peranti terowong boleh datang dari baris Address pembantu, daripada klien DHCP yang berjalan pada antara muka, atau daripada daemon pengurusan yang menciptanya semasa bersambung. Apa pun ia, komponen itulah yang memiliki alamat dan akan memulihkannya atau tidak mengikut logiknya sendiri. Membaca alamat tanpa menamakan pemiliknya menyebabkan anda tidak dapat menjelaskan mengapa ia hilang.

Dua pemilik pada satu antara muka ialah kegagalan klasik. Menjalankan pembantu dan pengurus rangkaian desktop pada peranti yang sama menghasilkan perlumbaan di mana satu menghapuskan apa yang baru dikonfigurasikan oleh yang lain, dan titik akhir terus menjawab sepanjang masa.

Pilih satu pemilik dan biarkan alat lain memerhati dan bukannya mengurus. Keputusan itu wajar ditulis, kerana gejalanya muncul berminggu-minggu kemudian dan kelihatan seperti kehilangan alamat secara rawak.

Laluan memilih pautan atas, bukan antara muka

Laluan dalaman yang menunjuk ke wg0 memutuskan bahawa trafik masuk ke terowong. Keputusan berasingan menghantar paket luar yang disulitkan ke arah rakan, dan pada hos dengan beberapa pautan atas keputusan itu datang daripada jadual penghantaran dan peraturan dasar. Perayauan Wi-Fi boleh mengubah laluan luar tanpa menyentuh alamat dalaman.

Jadi terowong yang berfungsi dan rakan yang tidak dapat dicapai ialah keadaan yang serasi, begitu juga rakan yang betul dan laluan dalaman yang rosak. Ketiga-tiga pemerhatian mesti diambil bersama, pada saat yang sama, jika tidak perbandingannya tidak bermakna.

Bandingkan ketiga-tiga keadaan dalam satu laluan

Tiga arahan baca sahaja menjawab ketiga-tiga soalan dalam susunan yang paling cepat mengasingkan kegagalan. Jalankannya tanpa mengubah apa-apa antaranya.

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

Yang pertama menunjukkan sama ada antara muka mempunyai alamat, dan yang kedua menunjukkan peranti mana yang akan digunakan oleh sesuatu destinasi sekarang. Yang ketiga melaporkan masa handshake terakhir dan pembilang bait, dan hanya itulah antara ketiga-tiganya yang menerangkan rakan dan bukan hos setempat.

Baca pembilang serta cap masa. Handshake yang terus diperbaharui sementara pemindahan kekal mendatar bermakna rakan menjawab tetapi tiada apa yang berguna menyeberang, yang menunjuk kepada penghalaan atau ACL dan bukan kunci. Cap masa yang berhenti maju sedangkan alamat ada menunjuk ke hulu sebaliknya. Kedua-dua bacaan datang dari baris output yang sama, dan tiada satu pun kelihatan jika anda hanya memeriksa kewujudan handshake.

Betulkan keadaan khusus yang salah, kemudian uji semula aplikasi dan bukan terowong. Handshake baharu ialah bukti tentang rakan, dan bukti tentang rakan bukan bukti bahawa permintaan seterusnya daripada pelayar anda akan menemui alamat, laluan dan pautan atas yang berfungsi. panduan wg-quick menyatakan dengan jelas yang mana antaranya disediakan oleh pembantu dan yang mana milik protokol.

Artikel berkaitan