Utgivning av paketfiltren nftables 1.1.0

En utgÄva av paketfilter nftables 1.1.0 har publicerats, som standardiserar grÀnssnitten för paketfiltrering för IPv4, IPv6, ARP och nÀtverksbroar (syftar till att ersÀtta iptables, ip6tables, arptables och ebtables). Den betydande versionsÀndringen Äterspeglar ingen djupgÄende förÀndring utan Àr bara en följd av den fortsatta nummerserien i decimalform (den föregÄende versionen var 1.0.9). Samtidigt publicerades en utgÄva av den tillhörande biblioteket libnftnl 1.2.7, som tillhandahÄller ett lÄgnivÄ-API för interaktion med nf_tables subsystemet.

Paketet nftables innehÄller komponenter för paketfilter som arbetar i anvÀndarrummet, medan nf_tables-systemet pÄ kÀrnnivÄ tillhandahÄller funktionen, vilket har varit en del av Linux-kÀrnan sedan version 3.13. PÄ kÀrnnivÄ tillhandahÄlls endast ett allmÀnt grÀnssnitt, oberoende av protokoll, som ger grundlÀggande funktioner för att extrahera data frÄn paket, utföra operationer med data och styra flödet.

SjÀlva filtreringsreglerna och protokollspecifika hanterare kompileras till bytekod i anvÀndarrummet, som sedan laddas in i kÀrnan via Netlink-grÀnssnittet och utförs i kÀrnan i en speciell en virtuell maskin, liknande BPF (Berkeley Packet Filters). Denna metod gör det möjligt att avsevÀrt minska storleken pÄ den filterkod som körs pÄ kÀrnnivÄ och flytta alla funktioner för tolkning av regler och logik som rör protokoll till anvÀndarrummet.

Huvudsakliga förÀndringar:

  • Stöd för variabler har lagts till i map-uttryck: define dst_map = { ::1234 : 5678 } table ip6 nat { map dst_map { typeof ip6 daddr : tcp dport; elements = $dst_map } chain prerouting { ip6 nexthdr tcp redirect to ip6 daddr map @dst_map } }
  • Stöd för VLAN har lagts till: ip saddr 10.1.1.1 icmp type echo-request vlan id set 321 # payload ether type 8021ad vlan id 10 vlan type 8021q vlan id 100 vlan type ip accept
  • Ett nytt strĂ€ng-förbehandlingsverktyg med stöd för variabler har anvĂ€nts för uttryck "log": define message=»test» log prefix «my $message»
  • Vid berĂ€kning av vĂ€rdet av uttrycket "meta hour" har hantering av negativ förskjutning i tidszon angiven via miljövariabeln TZ implementerats: TZ=UTC-4 nft add rule x y meta hour «22:00»
  • Byteordningen har konverterats vid anvĂ€ndning av uttryck ct och meta, samt vid anvĂ€ndning av sammanslagningsoperationer och specificering av intervall i set-samlingar. map mapv6 { typeof ip6 dscp : meta mark; } meta mark set ip6 dscp map @map1 följande bytekod kommer att erhĂ„llas: [ payload load 2b @ network header + 0 => reg 1 ] [ bitwise reg 1 = ( reg 1 & 0x0000c00f ) ^ 0x00000000 ] [ byteorder reg 1 = ntoh(reg 1, 2, 2) ] [ bitwise reg 1 = ( reg 1 > 0x00000006 ) ] [ lookup reg 1 set mapv6 dreg 1 ] [ meta set mark with reg 1 ]
  • Stödet för kommandot "replace rule" har Ă„terupptagits. replace rule ip t1 c1 handle 3 ‘jhash ip protocol . ip saddr mod 170 vmap { 0-94 : goto wan1, 95-169 : goto wan2, 170-269 }’
  • Möjligheten att lĂ€gga till nĂ€tverksenheter i befintliga flowtable har Ă„terupptagits: create flowtable inet filter f1 { hook ingress priority 0; counter } add flowtable inet filter f1 { devices = { dummy1 } ; }
  • Problem vid anvĂ€ndning av kommandot "create set" har Ă„tgĂ€rdats: define ip-block-4 = { 1.1.1.1 } create set netdev filter ip-block-4-test { type ipv4_addr flags interval auto-merge elements = $ip-block-4 }
  • Problem vid anvĂ€ndning av numerisk representation av TCP-alternativ har Ă„tgĂ€rdats: tcp option 254
  • Problem vid anvĂ€ndning av uttrycken meta och ct med map-samlingar har Ă„tgĂ€rdats: meta mark set vlan id map { 1 : 0x00000001, 4095 : 0x00004095 }
  • I uttrycken payload och concat Ă€r det förbjudet att ange data större Ă€n 512 byte.
  • Vid exekvering av kommandot «nft describe» har hantering av vĂ€rden frĂ„n filerna group, rt_mark och rt_realms implementerats, som ligger i katalogerna /etc/iproute2/ och /use/share/iproute2/. # nft describe meta rtclassid meta uttryck, datatyp realm (routing realm) (basistyp integer), 32 bitar fördefinierade symboliska konstanter frĂ„n /etc/iproute2/rt_realms (i decimal): cosmos 0 Avvisa uttalande med intervall meta mark set 0-100
  • Operationen för att lista tabeller har accelererats. Stöd för alternativet -t/—terse har implementerats för att snabba upp kommandona «list table» och «list set».
  • Det har möjliggjorts att konvertera meteruttryck till dynamiska set-strukturer: add rule t c tcp dport 80 meter m size 128 { ip saddr timeout 2s limit rate 10/second } kommer att konverteras till set m { type ipv4_addr size 128 flags dynamic,timeout } tcp dport 80 update @m { ip saddr timeout 2s limit rate 10/second burst 5 packets }
  • I JSON-formatet har stödet för synproxy-objekt och map-strukturer med sammanfogade data lagts till.
  • I set-strukturer som anges i JSON-formatet har stöd för flaggan auto-merge implementerats.
  • Vid anvĂ€ndning av JSON-formatet Ă€r det tillĂ„tet att ange flera enheter i blocket «chain».
  • Vid anvĂ€ndning av alternativen -f/—filename sĂ€kerstĂ€lls hanteringen av sökvĂ€gar relativt den aktuella filens katalog.
  • Vid anvĂ€ndning av alternativen -I/—include sker iterationen av sökvĂ€gar nu frĂ„n slutet av listan.
  • Arbetet med alternativen -o/—optimize har förbĂ€ttrats med uttryck som innehĂ„ller rĂ€kneverk: # nft -c -o -f ruleset.nft SammanstĂ€llning: ruleset.nft:5:17-45: ct state invalid counter drop ruleset.nft :6:17-59: ct state established,related counter accept till: ct state vmap { invalid counter : drop, established counter : accept, related counter : accept } SammanstĂ€llning: ruleset.nft:7:17-43: tcp dport 80 counter accept ruleset.nft:8:17-44: tcp dport 123 counter accept till: tcp dport { 80, 123 } counter accept SammanstĂ€llning: ruleset.nft:9:17-64: ip saddr 1.1.1.1 ip daddr 2.2.2.2 counter accept ruleset.nft:10:17-62: ip saddr 1.1.1.2 ip daddr 3.3.3.3 counter drop till: ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 counter : accept, 1.1.1.2 . 3.3.3.3 counter : drop }
  • Kompatibiliteten med set-elementdumpningar som skapats i nftables innan version 0.9.8 har Ă„terstĂ€llts.

KĂ€lla: opennet.ru

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