nftables paketfilter 0.9.9 release

Paketfiltret nftables 0.9.9 har slÀppts. Det förenar paketfiltreringsgrÀnssnitt för IPv4, IPv6, ARP och nÀtverksbryggor (avsett att ersÀtta iptables, ip6table, arptables och ebtables). Det medföljande biblioteket libnftnl 1.2.0, som tillhandahÄller ett lÄgnivÄ-API för att interagera med nf_tables-undersystemet, har slÀppts samtidigt. De Àndringar som krÀvs för nftables 0.9.9 har införlivats i kÀrnan. Linux 5.13-rc1.

Paketet nftables innehÄller paketfilterkomponenterna som verkar i anvÀndarutrymmet, medan arbete pÄ kÀrnnivÄ tillhandahÄlls av delsystemet nf_tables, som Àr en del av kÀrnan. Linux Sedan version 3.13 tillhandahÄlls endast ett generiskt protokolloberoende grÀnssnitt pÄ kÀrnnivÄ, vilket ger grundlÀggande funktioner för att extrahera data frÄn paket, utföra dataoperationer och flödeskontroll.

SjÀlva filtreringsreglerna och protokollspecifika hanterare kompileras till bytekod i anvÀndarutrymmet, varefter denna bytekod laddas in i kÀrnan med hjÀlp av Netlink-grÀnssnittet och exekveras i kÀrnan pÄ ett speciellt sÀtt. virtuell maskin, vilket pÄminner om BPF (Berkeley Packet Filters). Denna metod möjliggör en betydande minskning av storleken pÄ filtreringskoden som körs pÄ kÀrnnivÄ och flyttar all regelparsning och protokolllogik till anvÀndarutrymmet.

Huvudsakliga innovationer:

  • Möjligheten att flytta flödestabellbearbetning till nĂ€tverksadaptersidan har implementerats, aktiverad med "offload"-flaggan. Flödestabell Ă€r en mekanism för att optimera vĂ€gen för paketomdirigering, dĂ€r den fullstĂ€ndiga passagen av alla regelbearbetningskedjor tillĂ€mpas endast pĂ„ det första paketet, och alla andra paket i flödet vidarebefordras direkt. tabell ip global { flödestabell f { hook ingress priority filter + 1 devices = { lan3, lan0, wan } flags offload } kedja framĂ„t { typ filter krok framĂ„t prioritetsfilter; policy acceptera; ip-protokoll {tcp, udp} flow add @f} chain post {typ nat krok postrouting prioritetsfilter; policy acceptera; oifname "wan" maskerad } }
  • Lade till stöd för att fĂ€sta en Ă€garflagga till en tabell för att sĂ€kerstĂ€lla exklusiv anvĂ€ndning av tabellen av en process. NĂ€r en process avslutas raderas den associerade tabellen automatiskt. Information om processen visas i regeldumpen i form av en kommentar: tabell ip x { # progname nft flaggor Ă€gare kedja y { typ filter hook input priority filter; policy acceptera; rĂ€knarpaket 1 byte 309 } }
  • Tillagt stöd för IEEE 802.1ad-specifikationen (VLAN-stackning eller QinQ), som definierar ett sĂ€tt att ersĂ€tta flera VLAN-taggar i en enda Ethernet-ram. Till exempel, för att kontrollera typen av extern Ethernet-ram 8021ad och vlan id=342, kan du anvĂ€nda konstruktionen ... ether type 802.1ad vlan id 342 för att kontrollera den externa typen av Ethernet-ram 8021ad/vlan id=1, kapslad 802.1 q/vlan id=2 och ytterligare IP-paketinkapsling: ... eter typ 8021ad vlan id 1 vlan typ 8021q vlan id 2 vlan typ ip rĂ€knare
  • Lade till stöd för att hantera resurser med den förenade hierarkin cgroups v2. Den viktigaste skillnaden mellan cgroups v2 och v1 Ă€r anvĂ€ndningen av en gemensam cgroups hierarki för alla typer av resurser, istĂ€llet för separata hierarkier för att allokera CPU-resurser, för att reglera minnesförbrukning och för I/O. Till exempel, för att kontrollera om förfadern till en socket pĂ„ den första nivĂ„n cgroupv2 matchar "system.slice"-masken, kan du anvĂ€nda konstruktionen: ... socket cgroupv2 nivĂ„ 1 "system.slice"
  • Lade till möjligheten att kontrollera komponenterna i SCTP-paket (funktionaliteten som krĂ€vs för drift kommer att visas i kĂ€rnan). Linux 5.14). Till exempel, för att kontrollera om ett paket innehĂ„ller en chunk med typen 'data' och fĂ€ltet 'type': 
 sctp chunk data finns 
 sctp chunk data typ 0
  • Utförandet av regelladdningsoperationen har accelererats med ungefĂ€r tvĂ„ gĂ„nger med "-f"-flaggan. Utmatningen av listan med regler har ocksĂ„ pĂ„skyndats.
  • En kompakt form för kontroll av om flaggbitar Ă€r satta tillhandahĂ„lls. För att till exempel kontrollera att snat- och dnat-statusbitarna inte Ă€r instĂ€llda kan du ange: ... ct status ! snat,dnat för att kontrollera att syn-biten Ă€r instĂ€lld i bitmasken syn,ack: ... tcp flaggor syn / syn,ack för att kontrollera att fin- och första bitarna inte Ă€r instĂ€llda i bitmasken syn,ack,fin,rst: ... tcp-flaggor ! = fin, första / syn, ack, fin, första
  • TillĂ„t nyckelordet "beslut" i definitioner av uppsĂ€ttning/karttyp: add map xm { typeof iifname . ip-protokoll th dport: dom ;}

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster