Udgivelsen af pakkefiltret nftables 1.0.2

Udgivet version 1.0.2 af nftables-pakkefilter, der forener grænsefladerne til pakkefiltrering for IPv4, IPv6, ARP og netværksbroer (med henblik på at erstatte iptables, ip6tables, arptables og ebtables). Nødvendige ændringer for nftables version 1.0.2 er inkluderet i Linux-kernen 5.17-rc.

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:

  • En optimeringsmodus til regler er blevet tilføjet, aktiveret med den nye mulighed „-o“ („—optimize“), som kan kombineres med mulighed „—check“ for at kontrollere og optimere ændringer i regelsættet uden faktisk at indlæse det. Optimeringen muliggør sammensmeltning af lignende regler, for eksempel reglerne: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 accept meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 accept ip saddr 1.1.1.1 ip daddr 2.2.2.2 accept ip saddr 2.2.2.2 ip daddr 3.3.3.3 drop

    vil blive kombineret til meta iifname . ip saddr . ip daddr { eth1 . 1.1.1.1 . 2.2.2.3, eth1 . 1.1.1.2 . 2.2.2.5 } accept ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : accept, 2.2.2.2 . 3.3.3.3 : drop }

    Eksempel på brug: # nft -c -o -f ruleset.test Sammenlægning: ruleset.nft:16:3-37: ip daddr 192.168.0.1 counter accept ruleset.nft:17:3-37: ip daddr 192.168.0.2 counter accept ruleset.nft:18:3-37: ip daddr 192.168.0.3 counter accept til: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } counter packets 0 bytes 0 accept

  • I set-listerne er muligheden for at angive ip- og tcp-muligheder samt sctp-chunks implementeret: set s5 { typeof ip option ra value elements = { 1, 1024 } } set s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4 } } chain c5 { ip option ra value @s5 accept } chain c7 { sctp chunk init num-inbound-streams @s7 accept }
  • Understøttelse af TCP-mulighederne fastopen, md5sig og mptcp er blevet tilføjet.
  • Understøttelse af brugen af ​​mp-tcp underregler i sammenligninger er blevet tilføjet: tcp option mptcp subtype 1
  • Koden til filtreringen, der kører på kernesiden, er blevet forbedret.
  • For flowtable er der implementeret fuld støtte til JSON-format.
  • Muligheden for at bruge handlingen „reject“ i operationer med Ethernet-rammer er blevet givet. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 reject

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