nftables pakešu filtra izlaišana 1.0.2

Ir publicēts pakešu filtra nftables 1.0.2 izlaidums, kas apvieno IPv4, IPv6, ARP un tīkla tiltu pakešu filtrēšanas saskarnes (kuras mērķis ir aizstāt iptables, ip6table, arptables un ebtables). Izmaiņas, kas nepieciešamas, lai nftables 1.0.2 laidiens darbotos, ir iekļautas Linux kodolā 5.17-rc.

Pakotnē nftables ir iekļauti pakešu filtru komponenti, kas darbojas lietotāja telpā, savukārt kodola līmeņa darbu nodrošina apakšsistēma nf_tables, kas ir daļa no Linux kodola kopš 3.13. izlaiduma. Kodola līmenis nodrošina tikai vispārīgu no protokola neatkarīgu saskarni, kas nodrošina pamatfunkcijas datu ieguvei no paketēm, datu operāciju veikšanai un plūsmas kontrolei.

Paši filtrēšanas noteikumi un protokolam raksturīgie apstrādātāji tiek apkopoti lietotāja telpas baitkodā, pēc kura šis baitkods tiek ielādēts kodolā, izmantojot Netlink interfeisu, un tiek izpildīts kodolā īpašā virtuālajā mašīnā, kas atgādina BPF (Berkeley Packet Filters). Šī pieeja ļauj ievērojami samazināt kodola līmenī strādājošā filtrēšanas koda lielumu un pārvietot visas parsēšanas noteikumu funkcijas un darba ar protokoliem loģiku lietotāja telpā.

Galvenie jauninājumi:

  • Ir pievienots kārtulu optimizācijas režīms, kas iespējots, izmantojot jauno opciju "-o" ("--optimize"), ko var apvienot ar opciju "--check", lai pārbaudītu un optimizētu kārtulu faila izmaiņas, to neielādējot. . Optimizācija ļauj apvienot līdzīgus noteikumus, piemēram, noteikumus: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 akceptēt meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 akceptēt ip saddr 1.1.1.1 ip saddr .2.2.2.2. .2.2.2.2 pieņemt ip saddr 3.3.3.3 ip daddr XNUMX drop

    tiks apvienots meta iifname . ip saddr. ip daddr { eth1 . 1.1.1.1. 2.2.2.3., eth1 . 1.1.1.2. 2.2.2.5 } pieņemt ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : pieņemt, 2.2.2.2 . 3.3.3.3 : kritums }

    Lietošanas piemērs: # nft -c -o -f noteikumi.tests Apvienošana: noteikumi.nft:16:3-37: ip daddr 192.168.0.1 skaitītājs akceptēt noteikumus.nft:17:3-37: ip daddr 192.168.0.2 skaitītājs pieņemt noteikumi

  • Kopu sarakstos ir ieviesta iespēja norādīt ip un tcp opcijas, kā arī sctp gabalus: set s5 { typeof ip option ra value elements = { 1, 1024 } } set s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4} } ķēde c5 { ip opcija ra vērtība @s5 pieņemt } ķēde c7 { sctp chunk init num-inbound-streams @s7 accept }
  • Pievienots atbalsts TCP opcijām fastopen, md5sig un mptcp.
  • Pievienots atbalsts mp-tcp apakštipa izmantošanai kartēšanā: tcp opcija mptcp apakštips 1
  • Uzlabots kodola puses filtrēšanas kods.
  • Flowtable tagad pilnībā atbalsta JSON formātu.
  • Ir nodrošināta iespēja izmantot “noraidīšanas” darbību Ethernet kadru saskaņošanas operācijās. ēteris saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 noraidīt

Avots: opennet.ru

Pievieno komentāru