nftables pakét filter release 1.0.1

Pelepasan packet filter nftables 1.0.1 geus diterbitkeun, ngahijikeun packet filtering interfaces pikeun IPv4, IPv6, ARP jeung jaringan sasak (aimed dina ngaganti iptables, ip6table, arptables jeung ebtables). Parobahan nu diperlukeun pikeun nftables 1.0.1 release ka jalan kaasup kana Linux Ubuntu kernel 5.16-rc1.

Paket nftables kalebet komponén saringan pakét anu dijalankeun dina rohangan pangguna, sedengkeun padamelan tingkat kernel disayogikeun ku subsistem nf_tables, anu parantos janten bagian tina kernel Linux ti saprak ngaleupaskeun 3.13. Tingkat kernel ngan nyadiakeun antarbeungeut protokol-bebas generik nu nyadiakeun pungsi dasar pikeun extracting data tina pakét, ngajalankeun operasi data, jeung kontrol aliran.

Aturan nyaring jeung panangan husus protokol anu disusun kana bytecode dina spasi pamaké, nu satutasna bytecode ieu dimuat kana kernel ngagunakeun panganteur Netlink sarta dieksekusi dina kernel dina mesin virtual husus reminiscent of BPF (Berkeley Packet Filters). Pendekatan ieu ngamungkinkeun anjeun sacara signifikan ngirangan ukuran kode nyaring anu dijalankeun dina tingkat kernel sareng mindahkeun sadaya fungsi aturan parsing sareng logika pikeun damel sareng protokol kana rohangan pangguna.

Inovasi utama:

  • Ngurangan konsumsi mémori nalika ngamuat daptar set sareng peta anu ageung.
  • Ngamuat deui daptar set sareng peta parantos gancangan.
  • Kaluaran tabel dipilih sarta ranté dina susunan aturan badag geus gancangan. Contona, waktu palaksanaan paréntah "nft daptar ruleset" pikeun nembongkeun susunan aturan kalawan 100 sarébu baris 3.049 detik, sarta nalika outputting ngan nat na filter tabel ("nft daptar tabel nat", "nft daptar tabel filter. ”) diréduksi jadi 1.969 jeung 0.697 detik.
  • Palaksanaan patarosan sareng pilihan "--terse" parantos gancangan nalika ngolah aturan sareng set- sareng daptar peta anu ageung.
  • Kasebut nyaéta dimungkinkeun pikeun nyaring lalulintas tina ranté "egress", nu diolah dina tingkat nu sarua salaku pawang egress dina ranté netdev (egress hook), i.e. dina tahap nalika supir narima pakét ti tumpukan jaringan kernel. tabél netdev filter {ranté egress {tipe filter hook egress alat = {eth0, eth1} prioritas 0; meta prioritas set peta ip saddr {192.168.10.2: abcd:2, 192.168.10.3: abcd:3}}}
  • Ngidinan cocog sareng modifikasi bait dina lulugu sareng eusi pakét dina offset anu dipasihkeun. # nft tambahkeun aturan xy @ih,32,32 0x14000000 counter # nft tambahkeun aturan xy @ih,32,32 set 0x14000000 counter

sumber: opennet.ru

Tambahkeun komentar