Cara memberi satu LAN ujian laluan keluar WireGuard sendiri
Hadkan satu LAN kepada laluan keluar WireGuard dengan jadual penghalaan khusus dan penjaga yang tidak dapat dicapai, sementara gateway mengekalkan laluan lalai WAN biasa.
Tiga reka bentuk menyelesaikan masalah makmal yang sama: LAN kecil mesti keluar melalui rakan WireGuard sementara gateway sendiri mengekalkan pautan atas biasa. Jalan pintas yang menggiurkan ialah memindahkan laluan lalai penghala ke dalam terowong, tetapi itu merosakkan laluan pengurusan kotak itu sendiri dan segala yang diteruskannya. Pilihan yang menarik ialah penghalaan berasaskan dasar yang dihadkan kepada satu antara muka dan satu awalan. Pilih antara kedua-duanya dengan menjawab tiga soalan tentang mesin yang benar-benar anda miliki.
Tentukan di mana laluan keluar tinggal
Soalan pertama: adakah hos ini meneruskan untuk sesuatu yang lain? Gateway makmal khusus boleh hidup dengan dasar penerusan yang membuang segala-galanya secara lalai. Penghala dengan tugas pengeluaran tidak boleh, dan melapik set peraturan pesaing di atas tembok api terurus ialah cara gangguan dijadualkan. Kedua: bolehkah anda memiliki dua objek dasar dan susunannya merentas but semula? Ketiga: adakah rakan yang anda miliki membenarkan alamat sumber terowong anda dan menawarkan laluan keluar internet? Rakan yang hanya mendedahkan rangkaian peribadi ialah produk lain, dan tiada perubahan penghalaan tempatan membaikinya. Jika mana-mana jawapan ialah tidak, letakkan laluan keluar dalam ruang nama atau dalam mesin maya sekali guna.
Ruang nama atau VM memakan memori dan memberi anda jejari letupan yang bersih. Penghalaan berasaskan dasar memakan dua peraturan dan meninggalkan anda satu kotak untuk nyahpepijat.
Pilih laluan keluar yang membenarkan sumber anda
Kebanyakan kegagalan dalam makmal ini berlaku sebelum satu peraturan tembok api wujud. Pengendali laluan keluar mesti menerima alamat sumber yang dibawa paket anda selepas terjemahan, yang dalam reka bentuk ini ialah alamat terowong dan bukan awalan LAN. Itulah sebabnya penyamaran tergolong dalam reka bentuk sejak awal dan bukan sebagai tambahan lewat.
Sahkan tiga perkara dengan pengendali: rakan membenarkan alamat terowong anda, ia meneruskan IPv4 dan bukannya berakhir pada dirinya sendiri, dan ia menggunakan NAT keluar. Tanpa yang pertama, paket anda tiba dan lenyap. Tanpa yang ketiga, ia keluar dengan sumber peribadi dan mati pada hop seterusnya. Kemudian periksa bahawa wg-quick tidak memasang laluan lalainya sendiri, yang dihalang oleh Table = off; tetapan itu menekan penciptaan laluan, bukan semakan AllowedIPs rakan itu atau pengendalian DNSnya.
Dua objek dasar melakukan pengarahan
Pengarahan memerlukan jadual dan peraturan. Jadual memegang dua laluan: awalan LAN keluar dari antara muka LAN dan laluan lalai keluar dari terowong. Peraturan menghantar trafik yang tiba pada antara muka LAN dan membawa awalan itu ke dalam jadual. Gunakan pemilih iif bersama padanan sumber, kerana paket WireGuard gateway sendiri berasal secara tempatan dan tidak pernah sepadan dengan antara muka masuk.
Penjaga datang sebelum carian, bukan selepasnya. Susunan itulah keseluruhan sifat keselamatan reka bentuk ini.
Penjaga ialah peraturan kedua pada pemilih yang sama yang keputusannya unreachable. Berinya keutamaan berangka lebih tinggi supaya carian masih menang semasa terowong naik. Apabila laluan terowong hilang, carian tidak mengembalikan apa-apa dan penjaga menghentikan carian dan bukannya membiarkannya jatuh ke laluan lalai WAN dalam jadual utama.
ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0
Tutup jurang sandaran sebelum membukanya
Pasang penjaga dahulu dan carian kemudian. Melakukannya secara terbalik meninggalkan tetingkap beberapa saat di mana trafik klien ujian boleh mencapai pautan atas.
Penapis melengkapkan gambaran. Dalam cangkuk forward terima arah LAN ke terowong untuk awalan ujian dan arah pulangan yang telah terbentuk, kemudian buang segala yang lain; NAT untuk awalan itu ke antara muka terowong masuk ke postrouting. Membiarkan policy drop pada rantai ke hadapan itulah yang menukar laluan yang hilang menjadi kesenyapan dan bukannya kebocoran. Penapisan laluan songsang memerlukan mod longgar pada antara muka terowong, kerana sumber awam yang tiba dinyahkapsul mempunyai laluan songsang terbaiknya di sebelah WAN. Linux mengambil nilai tertinggi antara all dan setiap antara muka, jadi menetapkan antara muka terowong bukanlah sama dengan melemahkan pengesahan di merata tempat.
Buktikan dengan kes kegagalan
Tanya kernel soalan yang tepat dengan menamakan alamat sumber klien dan antara muka tempat ia tiba. Carian tanpa kedua-duanya menjawab soalan lain dan akan kelihatan betul dalam kedua-dua kes. Kemudian lihat pembilang tembok api, keadaan pemindahan rakan dan perkhidmatan klien itu sendiri.
Uji penyingkiran dengan betul. Hentikan terowong sambil membiarkan peraturan dan penapis di tempatnya: klien sepatutnya terhenti dan trafik gateway sendiri sepatutnya terus berfungsi. Kemudian hentikan rakan tanpa menyentuh antara muka tempatan, dan itulah kes yang menangkap reka bentuk yang bergantung semata-mata pada kehadiran laluan. Akhir sekali but semula dan periksa semula susunan peraturan, kerana cangkuk pembongkaran yang menyingkirkan penjaga mengembalikan seluruh reka bentuk kepada jadual utama. Catat nombor jadual, keutamaan dan nama antara muka pada tiket perubahan, kerana orang seterusnya yang menambah peraturan ialah orang yang akan merosakkan ini.