Kebanyakan orang membaca AllowedIPs sebagai senarai kebenaran, iaitu set alamat yang boleh bersambung dengan rakan, hampir seperti peraturan firewall yang ditulis untuk terowong. Bukan itu. Medan ini ialah jadual penghalaan yang berfungsi dalam kedua-dua arah: ia memilih rakan untuk paket keluar dan mengesahkan sumber paket masuk. Membacanya sebagai senarai akses menghasilkan konfigurasi yang menghalakan trafik yang tiada siapa minta.

Satu medan, dua pembaca: pilihan keluar dan pemeriksaan sumber

Pada klien, awalan menentukan destinasi mana yang pergi ke rakan itu dan mana yang kekal di rangkaian biasa. Oleh itu entri untuk 0.0.0.0/0 menangkap setiap destinasi IPv4, dan sebab itulah mengimport profil terowong penuh menghantar pelayaran biasa melalui mesin jauh. Entri sempit melakukan sebaliknya: menghalakan hanya rangkaian yang anda senaraikan dan membiarkan segala-galanya di tempat asalnya. Bahagian penghalaan kriptokunci dalam dokumentasi WireGuard menyatakan kedua-dua tugas di satu tempat: pemilihan rakan keluar dan pengesahan sumber masuk.

Pada pelayan, medan yang sama menerangkan alamat sumber yang boleh digunakan oleh setiap rakan. Ini pemeriksaan kriptografi dan bukan penapis paket: paket yang sumber dalamannya tidak sepadan dengan senarai rakan digugurkan dalam WireGuard sebelum mana-mana firewall hos melihatnya. Kedua-dua tugas berkongsi satu senarai, dan sebab itulah senarai yang disalin dari tempat lain berkelakuan salah di tempat yang anda tidak pertimbangkan.

Blok klien ialah tempat kebanyakan kekeliruan ini bermula. Terowong terpisah menamakan rangkaian jauh, dan terowong penuh ialah medan yang sama dengan awalan lalai:

[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24

[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0

Kedua-dua bentuk lengkap dengan sendirinya, dan ia adalah alternatif bukan langkah. Yang pertama menghantar hanya dua rangkaian itu melalui terowong; yang kedua menghantar setiap destinasi, dengan entri ::/0 menambah IPv6 pada lalai IPv4. Mana pun yang anda pilih, awalan itu ialah keseluruhan keputusan penghalaan untuk rakan tersebut sebaik wg-quick mula memasang laluan.

Hab memerlukan senarai yang berbeza

Hab menyenaraikan alamat terowong setiap klien sebagai awalan hos, serta mana-mana rangkaian yang benar-benar berada di belakang klien itu. Menyalin senarai luas klien ke setiap rakan hab memberitahu hab bahawa banyak rakan boleh menggunakan alamat yang sama sebagai sumber, dan itu bukan pelan pengalamatan. Medan Endpoint tergolong dalam lapisan yang sama sekali berbeza: ia menamakan alamat dan port luar rakan, tidak pernah destinasi di dalam terowong.

[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24

Awalan hos membawa alamat terowong dan awalan rangkaian membawa apa yang berada di belakang klien, dan kedua-duanya diperlukan. Tanpa awalan hos hab tidak dapat memulangkan trafik klien itu sendiri, dan tanpa awalan rangkaian LAN di belakangnya kekal tidak dapat dicapai; rakan yang tiada apa-apa di belakangnya hanya menerima awalan hos.

Melangkau pemasangan laluan meninggalkan jurang

wg-quick, pembantu yang menaikkan antara muka daripada fail konfigurasi, memasang alamat antara muka dan laluan sebagai sebahagian daripada kerja itu. Menetapkan Table = off memberitahu pembantu untuk melangkau kerja laluan, yang tidak memasang pengganti dan tidak menjadikan rangkaian persendirian boleh dicapai. Apabila laluan automatik sudah melakukan kerja itu, menamakan awalan yang anda perlukan ialah konfigurasi yang lebih jelas. Mematikan pengurusan laluan dan membiarkan pengganti tidak ditulis bukanlah reka bentuk, ia adalah ketinggalan.

Alat asas wg berkelakuan berbeza: ia mengkonfigurasi antara muka dan tidak pernah menyentuh laluan, jadi persediaan yang dibina terus di atasnya memerlukan arahan laluan sendiri. Arahan yang ditulis untuk satu alat boleh kelihatan salah apabila diikuti dengan alat yang lain. Ping yang berjaya juga bukti lemah, kerana ia menguji satu laluan bukan setiap laluan aplikasi yang anda perlukan.

DNS dan IPv6 diputuskan secara berasingan

Periksa alamat pelayan DNS yang diumumkan oleh terowong, dan pastikan laluan ke alamat itu wujud melalui awalan yang anda pilih. Tetapan penyelesai tidak menjadikan penyelesai boleh dicapai, dan menyempitkan terowong boleh membuang laluan yang dahulunya menuju ke sana secara senyap. Periksa juga IPv6 secara berasingan, kerana pemisahan IPv4 yang betul tidak mengatakan apa-apa tentang laluan lalai IPv6 yang masih menunjuk ke pautan fizikal. Tiga keputusan berasingan boleh berubah serentak apabila anda menyunting satu blok rakan.

Kemudian buka satu sumber persendirian dan satu laman web biasa daripada konfigurasi permulaan yang diketahui. Jika sumber itu menjawab dan pelayaran masih keluar melalui sambungan tempatan, pemisahan itu melakukan apa yang anda minta. Jika pelayaran rosak pada saat yang sama, terowong telah mengambil laluan lalai dan senarai awalan ialah tempat untuk dilihat.

Artikel berkaitan