nftables packet filter 1.0.1 release

Rilis packet filter nftables 1.0.1 wis diterbitake, nyawiji antarmuka panyaring paket kanggo IPv4, IPv6, ARP lan jembatan jaringan (kanggo ngganti iptables, ip6table, arptables lan ebtables). Owah-owahan sing dibutuhake kanggo rilis nftables 1.0.1 supaya bisa digunakake kalebu ing kernel Linux 5.16-rc1.

Paket nftables kalebu komponen filter paket sing mlaku ing ruang pangguna, dene karya tingkat kernel diwenehake dening subsistem nf_tables, sing wis dadi bagian saka kernel Linux wiwit dirilis 3.13. Tingkat kernel mung nyedhiyakake antarmuka bebas protokol umum sing nyedhiyakake fungsi dhasar kanggo ngekstrak data saka paket, nindakake operasi data, lan kontrol aliran.

Aturan nyaring dhewe lan panangan khusus protokol dikompilasi menyang bytecode spasi pangguna, sawise bytecode iki dimuat menyang kernel nggunakake antarmuka Netlink lan dieksekusi ing kernel ing mesin virtual khusus sing meh padha karo BPF (Berkeley Packet Filters). Pendekatan iki ndadekake bisa nyuda ukuran kode nyaring sing mlaku ing tingkat kernel lan mindhah kabeh fungsi aturan parsing lan logika nggarap protokol menyang ruang pangguna.

Inovasi utama:

  • Konsumsi memori suda nalika ngemot dhaptar gedhe lan dhaptar peta.
  • Muat ulang dhaptar set lan peta wis digawe cepet.
  • Output saka tabel lan rantai sing dipilih ing set aturan gedhe wis digawe cepet. Contone, wektu eksekusi saka "nft dhaftar ruleset" printah kanggo nampilake pesawat saka aturan karo 100 ewu larik punika 3.049 detik, lan nalika outputting mung nat lan Tabel Filter ("nft dhaftar Tabel nat", "nft dhaftar Tabel Filter. ”) suda dadi 1.969 lan 0.697 detik.
  • Eksekusi pitakon kanthi opsi "--terse" wis digawe cepet nalika ngolah aturan kanthi dhaptar gedhe lan dhaptar peta.
  • Sampeyan bisa nyaring lalu lintas saka chain "egress", kang diproses ing tingkat sing padha karo pawang egress ing chain netdev (egress pancing), i.e. ing tataran nalika driver nampa paket saka tumpukan jaringan kernel. tabel netdev filter { chain egress { jinis filter pancing egress piranti = { eth0, eth1 } prioritas 0; meta prioritas nyetel peta ip saddr {192.168.10.2: abcd:2, 192.168.10.3: abcd:3}}}
  • Ngidini cocog lan modifikasi bita ing header lan isi paket ing offset tartamtu. # nft add rule xy @ih,32,32 0x14000000 counter # nft add rule xy @ih,32,32 set 0x14000000 counter

Source: opennet.ru

Add a comment