Klien LAN mengabaikan VPN router sampai perutean berbasis kebijakan aktif
Aturan forward mengizinkan paket, tetapi tidak pernah memilih antarmuka. Tabel kebijakan dan aturan terpisah menentukan klien LAN mana yang memakai VPN router.
Router mencapai internet melalui terowongannya, sementara laptop di belakangnya masih melaporkan alamat ISP. Menambah aturan accept tidak membantu, dan kegagalan itu informatif: penyaringan menjawab apakah paket boleh lewat, bukan ke mana paket pergi. Pilihan antarmuka sudah dibuat oleh pencarian rute yang tidak tahu apa pun tentang daftar klien Anda. Perbaiki pencariannya, dan firewall tidak lagi menjadi tersangka.
Aturan filter tidak bisa memilih antarmuka
Aliran paket di router Linux menjalankan keputusan perutean lebih dulu, lalu hook forward. Saat sebuah aturan cocok dengan perangkat terowongan keluar, kernel sudah memutuskan bahwa terowongan adalah jalan keluarnya. Jika tabel utama masih memilih rute default WAN, paket sedang menuju ISP dan aturan accept yang baru Anda tulis tidak pernah melihatnya. Satu fakta urutan itu menjelaskan mengapa satu halaman aturan firewall baru tidak mengubah apa pun.
Contoh di bawah memakai LAN 192.168.8.0/24 pada br-lan, perangkat terowongan tun0, dan satu set-top box di 192.168.8.23 yang seharusnya memakai terowongan.
Baca pencarian sebelum menyunting aturan
Minta kernel menyelesaikan rute atas nama klien itu. Balasannya mencakup perangkat keluar dan alamat sumber yang akan dipilih, dan itu semua yang Anda butuhkan untuk memastikan diagnosis. Jika balasannya menyebut perangkat WAN, paket tidak pernah punya peluang mencapai aturan Anda.
ip -4 route get 198.51.100.7 from 192.168.8.23
Ulangi kueri untuk klien yang seharusnya tetap di jalur biasa. Ketika kedua jawaban menyebut perangkat yang sama, belum ada kebijakan per sumber, dan perbaikannya ada di perutean, bukan penyaringan.
Kaitkan tabel ke klien yang ingin Anda cakup
Perutean kebijakan menyisipkan pencarian aturan sebelum tabel utama. Bangun tabel yang rute default-nya adalah terowongan, lalu ikat tabel itu ke pemilih: antarmuka masukan, alamat sumber, atau tanda firewall. Prioritas menentukan urutan, dan tabel utama berada jauh di bawah daftar pada 32766, jadi aturan bernomor kecil diperiksa lebih dulu. Pemilih antarmuka mencakup setiap klien di bridge; pemilih alamat mencakup satu mesin.
ip -4 route add default dev tun0 table 200
ip -4 rule add iif br-lan lookup 200 priority 200
Antarmuka firmware biasanya menampilkan objek yang sama seperti halaman perutean kebijakan atau kebijakan VPN. Daftar perangkat di sana lebih mudah dirawat daripada aturan yang ditulis tangan dan cenderung bertahan dari peningkatan yang mengubah sintaks aturan.
Pilih pemilihnya dengan sengaja. Aturan antarmuka singkat dan tahan masa depan, tetapi juga menangkap lalu lintas manajemen router sendiri yang tiba di bridge itu. Aturan sumber tepat dan perlu diedit setiap kali daftar perangkat berubah. Catat pilihannya, karena orang berikutnya yang bertanya mengapa satu perangkat berperilaku berbeda akan membutuhkannya.
Jauhkan tujuan lokal dari terowongan
Tabel baru hanya mengenal rute yang Anda masukkan. Prefiks LAN tidak ada, jadi lalu lintas printer dan NAS akan mengikuti rute default terowongan dan hilang. Rute throw mengakhiri pencarian di tabel ini dan mengembalikan keputusan ke tabel utama.
ip -4 route add throw 192.168.8.0/24 table 200
Lewatkan rute itu dan berbagi lokal rusak, dan sesi manajemen router sendiri bisa hilang jika pemilihnya lebih luas dari yang dimaksud. Lalu selesaikan soal sumber: paket terowongan yang masih membawa alamat LAN butuh sisi jauh mengetahui jalur balik, sedangkan masquerading pada terowongan menghapus syarat itu dan juga menghapus identitas klien yang akan dilihat sisi jauh.
Aturan dan rute yang ditambahkan saat runtime hilang setelah reboot atau pembaruan firmware. Tambahkan ke mekanisme startup router, reboot sekali, dan uji ulang dari klien: alamat publiknya, klien kedua yang seharusnya tetap di WAN, dan penghitung terowongan selama koneksi baru.