Udgivelse af pakkefiltreringen nftables 1.0.1

Udgivet version 1.0.1 af nftables-pakkefilteret, der standardiserer grænsefladerne til pakke filtrering for IPv4, IPv6, ARP og netværksbroer (målretter mod at erstatte iptables, ip6tables, arptables og ebtables). Nødvendige ændringer til nftables 1.0.1 er inkluderet i Linux-kernen 5.16-rc1.

Nftables-pakken inkluderer komponenter af pakke filtreringssystemet, der kører i brugerområdet, mens nf_tables subsystemet i kernen håndterer operationer i Linux kernen fra version 3.13. I kernen tilbydes kun et generelt interface, der ikke er afhængigt af en specifik protokol og giver grundlæggende funktioner til at hente data fra pakker, udføre dataoperationer og styre strømmen.

Reglerne for filtrering og protokolspecifikke behandlere kompileres til bytekode i brugerområdet, hvorefter denne bytekode indlæses i kernen ved hjælp af Netlink-interfacet og udføres i kernen i en særlig virtuelle maskiner, der minder om BPF (Berkeley Packet Filters). Denne tilgang muliggør en betydelig reduktion i størrelsen af den filtrering, der kører i kernen, og flytter alle funktioner til parsing af regler og logik til håndtering af protokoller til brugerområdet.

Hovednyhederne:

  • Reduceret hukommelsesforbrug ved indlæsning af store sæt- og kortlister.
  • Hurtigere genindlæsning af sæt- og kortlister.
  • Hurtigere output af udvalgte tabeller og kæder i store regelsæt. For eksempel tager kommandoen „nft list ruleset“ for at vise et regelsæt med 100.000 linjer 3.049 sekunder, mens det ved visning af kun nat- og filtertabeller („nft list table nat“, „nft list table filter“) reduceres til 1.969 og 0.697 sekunder.
  • Hurtigere udførelse af forespørgsler med indstillingen „—terse“ ved behandling af regler med store sæt- og kortlister.
  • Mulighed for at filtrere trafik fra kæden „egress“, der behandles på samme niveau som egress-behandleren i netdev-kæden (hook egress), det vil sige på det tidspunkt, hvor driveren modtager pakken fra kernelens netværksstak. table netdev filter { chain egress { type filter hook egress devices = { eth0, eth1 } priority 0; meta priority set ip saddr map { 192.168.10.2 : abcd:2, 192.168.10.3 : abcd:3 } } }
  • Mulighed for at matche og ændre bytes i header og indhold af pakken ved et givet offset. # nft add rule x y @ih,32,32 0x14000000 counter # nft add rule x y @ih,32,32 set 0x14000000 counter

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster