Pakifiltri nftables versioon 1.0.2 väljaanne

Avaldatud on nftables 1.0.2 pakettfiltri versioon, mis ühtlustab pakettfiltri liidesed IPv4, IPv6, ARP ja võrgu sildade jaoks (eesmärk on asendada iptables, ip6tables, arptables ja ebtables). nftables 1.0.2 toimimiseks vajalikud muudatused on kaasatud Linuxi tuuma versioonis 5.17-rc.

Nftables'i paketis on kasutusruumi paketifiltreerimise komponendid, samas kui tuuma tasemel tagab töö nf_tables alamsüsteem, mis on Linuxi tuumas saadaval alates versioonist 3.13. Tuuma tasemel on olemas vaid üldine liides, mis ei sõltu konkreetsetest protokollidest ja pakub põhiülesandeid paketidest andmete ekstraheerimiseks, andmete töötlemiseks ja voogude haldamiseks.

Filtreerimisreeglid ja protokollispetsiifilised töötlejad kompileeritakse kasutusruumis byte-koodiks, seejärel laaditakse see byte-kood tuuma Netlinki liidese abil ja käivitatakse tuumas eraldi virtuaalmasinas, mis tahes BPF (Berkeley Packet Filters). Sarnane lähenemine võimaldab oluliselt vähendada filterkoodi suurust, mis töötab tuuma tasemel, ning viia kõik reeglite parsing'u funktsioonid ja protokollide töötlemise loogika kasutajaruumi.

Põhilised uuendused:

  • Lisatud on reeglite optimeerimise režiim, mida aktiveeritakse uue valiku „-o” („—optimize”) abil, mida saab kombineerida „—check” valikuga, et kontrollida ja optimeerida muudatusi reeglite kogumi failis ilma selle tegeliku laadimiseta. Optimeerimine võimaldab sarnaste reeglite ühendamist, näiteks reeglid: 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

    ühendatakse 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 }

    Kasutamise näide: # nft -c -o -f ruleset.test Ühendamine: 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 muutub: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } counter packets 0 bytes 0 accept

  • Set-listides on rakendatud võimalus määrata ip- ja tcp-valikuid, samuti sctp chunk-e: 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 }
  • Lisatud tugi TCP-valikutele fastopen, md5sig ja mptcp.
  • Lisatud tugi mp-tcp alamtüüpide kasutamiseks: tcp option mptcp subtype 1
  • Parandatud filtrikoodi, mis töötab kerneli pool.
  • Flowtable jaoks on täielikult toetatud JSON formaati.
  • Pakutud on võimalus kasutada tegevust „reject” Ethernet-raamide vastavuses. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 reject

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster