nftables pakketfilter 1.0.2 release

De frijlitting fan pakketfilter nftables 1.0.2 is publisearre, it ferienigjen fan pakketfiltering-ynterfaces foar IPv4, IPv6, ARP en netwurkbrêgen (rjochte op it ferfangen fan iptables, ip6table, arptables en ebtables). De wizigingen dy't nedich binne foar de nftables 1.0.2-release om te wurkjen binne opnommen yn 'e Linux kernel 5.17-rc.

It nftables-pakket omfettet pakketfilterkomponinten dy't yn brûkersromte rinne, wylst it kernelnivo wurdt fersoarge troch it nf_tables-subsysteem, dat sûnt release 3.13 diel is fan 'e Linux-kernel. Op it kernelnivo wurdt allinich in generike protokol-ûnôfhinklike ynterface levere dy't basisfunksjes leveret foar it ekstrahearjen fan gegevens út pakketten, it útfieren fan operaasjes op gegevens en it kontrolearjen fan stream.

De filterregels sels en protokol-spesifike handlers wurde kompilearre yn bytekoade foar brûkersromte, wêrnei't dizze bytekoade yn 'e kearn laden wurdt mei de Netlink-ynterface en útfierd yn' e kearn yn in spesjale firtuele masine dy't liket op BPF (Berkeley Packet Filters). Dizze oanpak makket it mooglik om de grutte fan 'e filterkoade dy't op it kernelnivo rint signifikant te ferminderjen en alle funksjes fan parsingregels en de logika fan wurkjen mei protokollen yn brûkersromte te ferpleatsen.

Wichtichste ynnovaasjes:

  • In regelsoptimalisaasjemodus is tafoege, ynskeakele mei de nije "-o" ("--optimize") opsje, dy't kombinearre wurde kin mei de "--check" opsje om wizigingen yn 'e regelsetbestân te kontrolearjen en te optimalisearjen sûnder it feitlik te laden . Optimalisaasje kinne jo kombinearje ferlykbere regels, Bygelyks, de regels: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 akseptearje meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 akseptearje ip saddr 1.1.1.1. .2.2.2.2 akseptearje ip saddr 2.2.2.2 ip daddr 3.3.3.3 drop

    sil wurde kombinearre yn meta iifname. ip saddr. ip daddr { eth1. 1.1.1.1. 2.2.2.3, et1. 1.1.1.2. 2.2.2.5} akseptearje ip saddr. ip daddr vmap {1.1.1.1. 2.2.2.2: akseptearje, 2.2.2.2. 3.3.3.3 : drop }

    Foarbyld fan usage: # nft -c -o -f ruleset.test Merging: ruleset.nft:16:3-37: ip daddr 192.168.0.1 counter akseptearje regelset.nft:17:3-37: ip daddr 192.168.0.2 counter akseptearje regelset.nft:18:3-37: ip daddr 192.168.0.3 teller akseptearje yn: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } tellerpakketten 0 bytes 0 akseptearje

  • De setlisten ymplementearje de mooglikheid om ip- en tcp-opsjes op te jaan, lykas sctp-brokken: set s5 { typeof ip-opsje ra value-eleminten = { 1, 1024 } } set s7 { typeof sctp-chunk init num-inbound-streams eleminten = { 1, 4}} ketting c5 {ip opsje ra wearde @s5 akseptearje} ketting c7 { sctp chunk init num-inbound-streams @s7 akseptearje}
  • Stipe tafoege foar TCP-opsjes fastopen, md5sig en mptcp.
  • Stipe tafoege foar it brûken fan it mp-tcp-subtype yn mappings: tcp-opsje mptcp subtype 1
  • Ferbettere kernel-side filterkoade.
  • Flowtable hat no folsleine stipe foar it JSON-formaat.
  • De mooglikheid om de aksje "ôfwize" te brûken yn oerienkommende operaasjes foar Ethernet-frame is levere. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 reject

Boarne: opennet.ru

Add a comment