rilis filter paket nftables 1.0.1

nftables 1.0.1, sebuah kerangka kerja penyaringan paket yang menyatukan antarmuka penyaringan paket untuk IPv4, IPv6, ARP, dan jembatan jaringan, telah dirilis (ditargetkan sebagai pengganti iptables, ip6table, arptables, dan ebtables). Perubahan yang diperlukan untuk nftables 1.0.1 telah dimasukkan ke dalam kernel. Linux 5.16-rc1.

Paket nftables berisi komponen filter paket yang beroperasi di ruang pengguna, sementara pekerjaan tingkat kernel disediakan oleh subsistem nf_tables, yang merupakan bagian dari kernel. Linux Sejak rilis 3.13, hanya antarmuka independen protokol generik yang disediakan di tingkat kernel, yang menyediakan fungsionalitas dasar untuk mengekstrak data dari paket, melakukan operasi data, dan kontrol aliran.

Aturan penyaringan itu sendiri dan penangan khusus protokol dikompilasi menjadi bytecode di ruang pengguna, setelah itu bytecode ini dimuat ke dalam kernel menggunakan antarmuka Netlink dan dieksekusi di kernel dalam proses khusus. mesin virtual, mengingatkan pada BPF (Berkeley Packet Filters). Pendekatan ini memungkinkan pengurangan ukuran kode penyaringan yang berjalan di tingkat kernel secara signifikan dan memindahkan semua penguraian aturan dan logika protokol ke ruang pengguna.

Inovasi utama:

  • Mengurangi konsumsi memori saat memuat daftar set dan peta yang besar.
  • Pemuatan ulang daftar set dan peta telah dipercepat.
  • Output tabel dan rantai terpilih dalam set aturan besar telah dipercepat. Misalnya, waktu eksekusi perintah "nft list ruleset" untuk menghasilkan set aturan berisi 100 baris adalah 3.049 detik, sementara ketika hanya menghasilkan tabel nat dan filter ("nft list table nat" dan "nft list table filter"), waktu eksekusi berkurang menjadi masing-masing 1.969 detik dan 0.697 detik.
  • Percepat eksekusi kueri dengan opsi "--terse" saat memproses aturan dengan daftar set dan daftar peta yang besar.
  • Kemampuan untuk memfilter lalu lintas dari rantai egress kini tersedia. Lalu lintas ini diproses pada tingkat yang sama dengan pengendali egress di rantai netdev (hook egress), yaitu ketika driver menerima paket dari tumpukan jaringan kernel. tabel netdev filter { rantai egress { jenis filter hook egress perangkat = { eth0, eth1 } prioritas 0; meta prioritas set ip saddr peta { 192.168.10.2 : abcd:2, 192.168.10.3 : abcd:3 } } }
  • Memungkinkan pencocokan dan modifikasi byte pada header dan konten paket pada offset yang ditentukan. # nft add rule xy @ih,32,32 0x14000000 penghitung # nft add rule xy @ih,32,32 set 0x14000000 penghitung

Sumber: opennet.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS 🔥 Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster