Dua awalan /1 meliputi tepat alamat IPv4 yang sama seperti satu /0, dan kesamaan itu hanya terpakai di dalam senarai awalan yang dibenarkan milik peer. Ia berhenti terpakai pada saat alat persediaan memutuskan cara menghalakan, kerana Linux wg-quick mengendalikan awalan lalai sebagai kes khas dan bukan sebagai aritmetik. Cabang khas memasang jadual khusus, dua peraturan dasar, tanda soket dan tetapan laluan songsang yang tidak pernah diterima oleh sepasang separuh laluan. Jadi apabila proksi atau pelayar berhenti berfungsi selepas suntingan, awalan ialah bahagian perubahan yang paling tidak menarik.

Senarai awalan bukan keseluruhan konfigurasi

AllowedIPs melakukan dua tugas serentak, dan hanya satu daripadanya berkaitan liputan. Bagi WireGuard sendiri senarai itu ialah penghalaan kunci kripto: ia menentukan destinasi mana yang disulitkan ke arah peer dan alamat sumber mana yang boleh digunakan oleh peer itu. Bagi wg-quick senarai yang sama juga berfungsi sebagai spesifikasi laluan, dan laluan yang dihasilkannya bergantung pada cabang mana yang kebetulan dipadankan oleh senarai. Liputan yang sama merentas dua bentuk senarai berbeza kerana itu tidak mengatakan apa-apa tentang keadaan hos yang sama.

Konfigurasi lalai mengambil keputusan itu daripada tangan anda, kerana Table secara lalai adalah automatik dan alat itu sendiri memilih di mana laluan mendarat. Pengurus rangkaian lain, pembalut edaran atau nilai Table tersuai mengubah hasilnya sekali lagi, sebab itulah nasihat yang ditulis untuk satu hos boleh kelihatan salah pada hos seterusnya.

Apa yang cabang lalai tambah melebihi satu laluan

Entri /0 menghantar wg-quick ke laluan laluan lalainya: jadual penghalaan berasingan menerima laluan lalai, satu peraturan dasar menghantar trafik tanpa tanda ke sana, peraturan kedua mengekalkan laluan jadual utama yang lebih khusus sebagai berwibawa, dan antara muka mendapat tanda tembok api pada soketnya sendiri. Tanda itulah penjaga gelung. Datagram tersulit yang membawa trafik terowong keluar dengan tanda ditetapkan, supaya peraturan yang mengarahkan segala-galanya ke terowong tidak menelan paket pengangkutan terowong itu sendiri.

Sebaliknya sepasang entri /1 mengambil laluan biasa. Dua laluan mendarat dalam jadual yang dikonfigurasikan, dan tiada satu pun jentera di sekelilingnya muncul, bukan kerana ia tidak perlu tetapi kerana laluan kod itu tidak pernah dimasuki.

Di mana kedua-dua susunan mencapah

Percanggahan muncul dahulu sebagai rekursi. Dengan separuh laluan dalam jadual utama, alamat pengangkutan peer itu sendiri jatuh di dalam awalan terowong, jadi paket yang sepatutnya membawa terowong sepadan dengan laluan yang menunjuk ke dalam terowong. Sesuatu perlu mengecualikannya: laluan hos untuk titik akhir semasa, tanda yang digunakan dengan tangan atau peraturan khusus antara muka. Laluan hos berfungsi sehingga alamat titik akhir berubah, yang berlaku dengan titik akhir berasaskan DNS, klien merayau dan konfigurasi berbilang peer.

Kedua, apa-apa yang menaakul tentang tanda mengubah tingkah laku. Proksi telus yang mengubah hala sambungan secara setempat mencipta soket baharu yang tanda dan sumbernya berbeza daripada aliran klien asal, dan peraturan dasar yang dijana oleh cabang lalai adalah sebahagian daripada apa yang mengasingkan aliran itu. Membaca sambungan keluar proksi itu sendiri ialah latihan berbeza daripada menguji sama ada destinasi asal boleh dicapai.

Baca peraturan dan tanda sebelum menyunting

Rakam keadaan semasa selagi terowong sihat, kemudian sekali lagi selepas perubahan, dan bandingkan kedua-dua dump itu daripada menaakul daripada fail konfigurasi. Sertakan peraturan dasar, setiap jadual, tanda antara muka dan titik akhir yang direkodkan.

ip rule show
ip -4 route show table all | grep -E 'default|wg1'
wg show wg1 fwmark
wg show wg1 endpoints

Jika baris pertama output telah kehilangan peraturan trafik tanpa tanda dan jadual khusus itu kosong, cabang lalai tidak berjalan dan tiada aritmetik awalan akan memulihkan kesannya. Tanda sifar pada antara muka yang sebelum ini membawa satu ialah isyarat yang sama, kelihatan dalam satu nilai.

Latih kehilangan terowong sebelum dikeluarkan

Jika susunan separuh laluan ialah pilihan yang disengajakan, ia mesti menyediakan bahagian yang hilang secara jelas: laluan titik akhir yang bertahan terhadap perubahan alamat, tingkah laku yang dimaksudkan apabila terowong jatuh dan rawatan setara untuk IPv6. Tuliskannya sebagai keperluan dan bukan menemukannya semasa gangguan. Kemudian latih kegagalan itu, kerana terowong penuh yang senyap kembali ke pautan fizikal adalah lebih buruk daripada yang berhenti berfungsi.

sudo ip -4 route add 198.51.100.20/32 via 192.0.2.1 dev eth0
ip -4 route get 198.51.100.20
sudo wg-quick down wg1

Carian laluan sepatutnya menyelesaikan titik akhir daripada antara muka fizikal tanpa merentas terowong, dan menurunkan antara muka sepatutnya meninggalkan hos dalam keadaan yang dijanjikan oleh reka bentuk. Proksi yang berfungsi selepas penggantian membuktikan bahawa keadaan hos yang dijana itu penting; ia tidak membuktikan bahawa pencegahan gelung dan tingkah laku dalam keadaan dimatikan terselamat daripada suntingan.

Artikel berkaitan