Letakkan aturan izin di posisi yang salah dan aturan itu berperilaku seolah tidak ada aturan izin sama sekali. Di nftables, pilihan antara insert dan add menentukan di sisi mana dari aturan yang dirujuk pernyataan baru akan mendarat, dan handle menamai aturan di ruleset aktif, bukan nomor barisnya. Jika penempatannya salah, paket mencapai drop lebih dulu.

Perbandingan di bawah memakai satu peer tetap dan satu pertukaran listener luar. Sengaja sempit; mengganti seluruh rantai adalah perubahan lain dengan profil risiko yang berbeda.

Dua penempatan, dua hasil berbeda

insert menempatkan aturan sebelum aturan yang dirujuk. add menempatkannya sesudahnya. Jika aturan yang dirujuk adalah drop terminal untuk alur, kedua perintah itu menghasilkan hasil berlawanan meskipun teks aturannya identik.

Menghilangkan lokasi punya perilaku bawaan sendiri, yang menjadi alasan lain untuk tidak menyalin perintah dari forum tanpa membaca apa yang menjadi tambatannya. Tambatan itu adalah seluruh keputusan. Tuliskan sisi yang dimaksud sebelum Anda mengetik perintah. insert dan add berbeda satu kata di berkas.

Penempatan bersifat relatif terhadap aturan di rantai tertentu. Memindahkan pernyataan yang sama ke rantai lain atau prioritas hook lain mengubah paket mana yang dilihatnya, bahkan ketika sintaks aturannya tampak benar.

Handle mengidentifikasi aturan, bukan nomor baris

Handle seperti 42 adalah pengenal dalam keadaan ruleset saat ini. Itu bukan aturan keempat puluh dua, dan tidak stabil antar-host, antar-pembangunan ulang, atau pada manajer yang memuat ulang konfigurasinya.

Temukan rantai dan drop terminal yang sebenarnya sebelum memilih tambatan. Lalu konfirmasi handle pada aturan itu di daftar yang sama yang menampilkan drop, agar nomor dan aturan dibaca bersama. Handle yang dibaca dari daftar lama bisa sudah menjadi milik aturan lain. Baca ulang di sesi yang akan menerapkan perubahan.

iptables --version
nft -a list ruleset

Versi iptables melaporkan backend mana yang dipakai. Ruleset iptables-nft dan tabel native yang dikelola secara independen dapat hidup berdampingan, jadi daftar dari satu frontend tidak otomatis merupakan gambaran penyaringan yang lengkap. Periksa kedua tampilan sebelum memilih rantai.

Temukan rantai dan aturan yang benar-benar melakukan drop

Baca hook input, prioritas rantai, dan aturan yang menolak alur listener ini. Tabel inet dapat membawa kedua keluarga alamat, tetapi aturan tunggal masih bisa hanya cocok dengan IPv4.

Ambil satu peer yang disetujui, dengan 198.51.100.25 dari rentang dokumentasi sebagai contoh. Berkas native yang ditinjau dapat menempatkan izin luar sebelum handle 42:

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

Ganti keluarga, tabel, rantai, handle, antarmuka masuk, dan peer setelah pemeriksaan. Contoh memakai bentuk lokasi-handle yang didokumentasikan untuk nft 1.0.9, dan bentuk itu berada di berkas input; pengutipan kurung kurawal adalah urusan terpisah saat perintah diketik secara interaktif.

Jaga pemilik konfigurasi tetap jelas. Manajer yang membangun ulang aturannya dapat menimpa suntingan runtime, dan skrip boot yang mengodekan handle usang secara keras akan gagal atau menempel ke aturan yang salah.

Izin bersifat terbatas, drop bersifat terminal

Putusan izin mengakhiri evaluasi di jalurnya saat ini, tetapi rantai dasar yang berlaku kemudian masih dapat melakukan drop pada paket. Putusan drop bersifat terminal. Itulah sebabnya penghitung izin yang naik bukan bukti bahwa alurnya berhasil.

Periksa semua prioritas hook yang relevan alih-alih satu rantai secara terpisah. Paket dapat melewati filter input dan tetap ditolak oleh hook tabel lain pada prioritas berbeda. Daftar setiap rantai dasar yang dapat melihat alur.

Aturan itu hanya mencakup pertukaran listener luar. ESP yang dienkapsulasi transport, ESP native, peer IPv6, dan lalu lintas yang didekripsi di dalam terowongan semuanya memerlukan kebijakan sendiri. Ini bukan firewall VPN situs yang lengkap.

Periksa berkas, lalu verifikasi hasil langsung

Jalankan pemeriksaan sintaks dan transaksi pada berkas yang ditinjau sebelum menerapkannya. Mode periksa melaporkan apakah nft dapat mengurai dan menyiapkan perubahan; mode itu tidak menerapkannya dan tidak membuktikan bahwa hook lain akan mengizinkan paket. Berkas tetap menjadi usulan sampai pemiliknya menerapkannya:

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

Terapkan melalui proses terkendali milik pemilik dan pertahankan akses pemulihan. Jika aturannya salah, drop yang ingin Anda dahului juga dapat memotong jalur yang Anda pakai untuk memperbaikinya.

Setelah perubahan, amati percobaan peer yang diizinkan yang baru dan periksa bahwa sumber di luar peer yang disetujui masih ditolak. Pindahkan aturan permanen ke manajer yang memiliki ruleset, karena handle runtime menemukan objek saat ini alih-alih mengidentifikasinya antar-boot.

Artikel terkait