Letakkan peraturan izin di kedudukan yang salah dan ia bertindak seolah-olah tiada peraturan izin. Dalam nftables, pilihan antara insert dan add menentukan sisi mana bagi peraturan yang dirujuk pernyataan baharu akan mendarat, dan pemegang menamakan peraturan dalam set peraturan hidup, bukan nombor barisnya. Jika kedudukannya salah, paket sampai ke drop dahulu.

Perbandingan di bawah menggunakan satu rakan tetap dan satu pertukaran pendengar luar. Ia sengaja sempit; menggantikan keseluruhan rantai ialah perubahan lain dengan profil risiko yang berbeza.

Dua kedudukan, dua hasil berbeza

insert meletakkan peraturan sebelum peraturan yang dirujuk. add meletakkannya selepas itu. Jika peraturan yang dirujuk ialah drop terminal bagi aliran, kedua-dua arahan itu menghasilkan hasil bertentangan walaupun teks peraturannya sama.

Meninggalkan kedudukan mempunyai tingkah laku lalai tersendiri, yang merupakan satu lagi sebab untuk tidak menyalin arahan daripada forum tanpa membaca apa yang menjadi tambatannya. Tambatan itulah keseluruhan keputusan. Tuliskan sisi yang dimaksudkan sebelum anda menaip arahan. insert dan add berbeza satu perkataan dalam fail.

Kedudukan adalah relatif kepada peraturan dalam rantai tertentu. Memindahkan pernyataan yang sama ke rantai lain atau keutamaan hook lain mengubah paket mana yang dilihatnya, walaupun sintaks peraturannya kelihatan betul.

Pemegang mengenal pasti peraturan, bukan nombor baris

Pemegang seperti 42 ialah pengecam dalam keadaan set peraturan semasa. Ia bukan peraturan keempat puluh dua, dan ia tidak stabil merentas hos, pembinaan semula atau pengurus yang memuat semula konfigurasinya.

Cari rantai dan drop terminal sebenar sebelum memilih tambatan. Kemudian sahkan pemegang pada peraturan itu dalam penyenaraian yang sama yang menunjukkan drop, supaya nombor dan peraturan dibaca bersama. Pemegang yang dibaca daripada penyenaraian lama mungkin sudah menjadi milik peraturan lain. Baca semula dalam sesi yang akan menggunakan perubahan itu.

iptables --version
nft -a list ruleset

Versi iptables melaporkan backend mana yang digunakan. Set peraturan iptables-nft dan jadual asli yang diurus secara berasingan boleh wujud bersama, jadi penyenaraian daripada satu frontend tidak semestinya gambaran penapisan yang lengkap. Periksa kedua-dua paparan sebelum memilih rantai.

Cari rantai dan peraturan yang benar-benar melakukan drop

Baca hook input, keutamaan rantai dan peraturan yang menolak aliran pendengar ini. Jadual inet boleh membawa kedua-dua keluarga alamat, tetapi peraturan tunggal masih boleh sepadan dengan IPv4 sahaja.

Ambil satu rakan yang diluluskan, menggunakan 198.51.100.25 daripada julat dokumentasi sebagai contoh. Fail asli yang disemak boleh meletakkan izin luar sebelum pemegang 42:

insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept

Gantikan keluarga, jadual, rantai, pemegang, antara muka masuk dan rakan selepas pemeriksaan. Contoh menggunakan bentuk kedudukan-pemegang yang didokumenkan untuk nft 1.0.9, dan ia tergolong dalam fail input; petikan kurungan berkemuncup ialah perkara berasingan apabila arahan ditaip secara interaktif.

Kekalkan pemilik konfigurasi dengan jelas. Pengurus yang membina semula peraturannya boleh menimpa suntingan masa jalan, dan skrip but yang mengodkan pemegang lapuk secara keras akan gagal atau terlekat pada peraturan yang salah.

Izin adalah terhad, drop adalah terminal

Keputusan izin menamatkan penilaian pada laluan semasanya, tetapi rantai asas yang terpakai kemudian masih boleh menjatuhkan paket. Keputusan drop adalah terminal. Itulah sebabnya pembilang izin yang meningkat bukan bukti bahawa aliran itu berjaya.

Periksa semua keutamaan hook yang berkaitan dan bukan satu rantai secara berasingan. Paket boleh melepasi penapis input dan masih ditolak oleh hook jadual lain pada keutamaan berbeza. Senaraikan setiap rantai asas yang boleh melihat aliran itu.

Peraturan itu hanya meliputi pertukaran pendengar luar. ESP yang dikapsulkan pengangkutan, ESP asli, rakan IPv6 dan trafik yang dinyahsulit di dalam terowong semuanya memerlukan dasar masing-masing. Ini bukan tembok api VPN tapak yang lengkap.

Periksa fail, kemudian sahkan hasil hidup

Jalankan pemeriksaan sintaks dan transaksi pada fail yang disemak sebelum menggunakannya. Mod pemeriksaan melaporkan sama ada nft boleh menghurai dan menyediakan perubahan itu; ia tidak menggunakannya dan tidak membuktikan bahawa hook lain akan membenarkan paket itu. Fail kekal sebagai cadangan sehingga pemiliknya menggunakannya:

nft -c -f reviewed-vpn-rule.nft

Gunakan melalui proses terkawal pemilik dan kekalkan akses pemulihan. Jika peraturannya salah, drop yang anda cuba dahului juga boleh memotong laluan yang anda gunakan untuk membetulkannya.

Selepas perubahan, perhatikan percubaan rakan yang dibenarkan yang baharu dan pastikan sumber di luar rakan yang diluluskan masih ditolak. Pindahkan peraturan tahan lama ke pengurus yang memiliki set peraturan, kerana pemegang masa jalan menyetempatkan objek semasa dan bukannya mengenal pastinya merentas but.

Artikel berkaitan