nftables paketų filtro išleidimas 0.9.9

Išleistas „nftables 0.9.9“ paketų filtras. Jis suvienodina paketų filtravimo sąsajas IPv4, IPv6, ARP ir tinklo tiltams (skirtiems pakeisti „iptables“, „ip6table“, „arptables“ ir „ebtables“). Tuo pačiu metu išleista ir pridedama „libnftnl 1.2.0“ biblioteka, teikianti žemo lygio API sąveikai su „nf_tables“ posisteme. „nftables 0.9.9“ reikalingi pakeitimai buvo įtraukti į branduolį. Linux 5.13-rc1.

„nftables“ pakete yra paketų filtro komponentai, kurie veikia vartotojo erdvėje, o branduolio lygio darbą atlieka „nf_tables“ posistemė, kuri yra branduolio dalis. Linux Nuo 3.13 versijos branduolio lygmenyje pateikiama tik bendra, nuo protokolo nepriklausoma sąsaja, užtikrinanti pagrindines funkcijas duomenų išgavimui iš paketų, duomenų operacijų atlikimui ir srauto valdymui.

Pačios filtravimo taisyklės ir protokolui būdingi tvarkyklės yra kompiliuojamos į baitinį kodą vartotojo erdvėje, po kurio šis baitinis kodas įkeliamas į branduolį naudojant „Netlink“ sąsają ir vykdomas branduolyje specialiu būdu. Virtuali mašina, primenantis BPF (Berkeley paketų filtrus). Šis metodas leidžia žymiai sumažinti branduolio lygmenyje veikiančio filtravimo kodo dydį ir perkelia visą taisyklių analizę bei protokolo logiką į vartotojo erdvę.

Pagrindinės naujovės:

  • Įdiegta galimybė perkelti srauto apdorojimą į tinklo adapterio pusę, įgalinta naudojant „iškrovimo“ vėliavėlę. „Flowtable“ yra paketų peradresavimo kelio optimizavimo mechanizmas, kuriame visas taisyklių apdorojimo grandinių praėjimas taikomas tik pirmajam paketui, o visi kiti sraute esantys paketai persiunčiami tiesiogiai. table ip global { flowtable f { hook ingress priority filter + 1 devices = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward priority filter; priimti politiką; ip protokolas { tcp, udp } srautas pridėti @f } grandinės įrašas { type nat hook postrouting priority filter; priimti politiką; oifname "wan" maskaradas } }
  • Pridėta savininko vėliavėlės pritvirtinimo prie lentelės palaikymas, kad būtų užtikrintas išskirtinis lentelės naudojimas procese. Kai procesas baigiasi, su juo susijusi lentelė automatiškai ištrinama. Informacija apie procesą rodoma taisyklių iškeltuvėje komentaro forma: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; priimti politiką; skaitiniai paketai 1 baitai 309 }
  • Pridėtas IEEE 802.1ad specifikacijos (VLAN stacking arba QinQ) palaikymas, kuris apibrėžia kelių VLAN žymų pakeitimo į vieną Ethernet rėmelį būdą. Pavyzdžiui, norėdami patikrinti išorinio eterneto rėmo tipą 8021ad ir vlan id=342, galite naudoti konstrukcijos ... eterio tipą 802.1ad vlan id 342, kad patikrintumėte išorinį Ethernet rėmelio tipą 8021ad/vlan id=1, įdėtas 802.1. q/vlan id=2 ir tolesnė IP paketo inkapsuliacija: ... eterio tipas 8021ad vlan id 1 vlan tipas 8021q vlan id 2 vlan tipo ip skaitiklis
  • Pridėtas išteklių valdymo palaikymas naudojant suvienodintos hierarchijos cgroups v2. Pagrindinis skirtumas tarp cgroups v2 ir v1 yra bendros cgroups hierarchijos naudojimas visų tipų ištekliams, o ne atskiros procesoriaus išteklių paskirstymo, atminties suvartojimo ir įvesties/išvesties hierarchijos. Pavyzdžiui, norėdami patikrinti, ar pirmojo lygio cgroupv2 lizdo protėvis atitinka kaukę „system.slice“, galite naudoti konstrukciją: ... socket cgroupv2 1 lygio „system.slice“
  • Добавлена возможность проверки составных частей пакетов SCTP (необходимая для работы функциональность появится в ядре Linux 5.14). Например, для проверки наличия в пакете chunk-а с типом ‘data’ и полем ‘type’: … sctp chunk data exists … sctp chunk data type 0
  • Taisyklės įkėlimo operacijos vykdymas buvo paspartintas maždaug du kartus naudojant „-f“ vėliavėlę. Taip pat paspartintas taisyklių sąrašo išvedimas.
  • Pateikta kompaktiška forma, skirta patikrinti, ar nustatyti vėliavėlės bitai. Pavyzdžiui, norėdami patikrinti, ar nenustatyti snat ir dnat statuso bitai, galite nurodyti: ... ct status ! snat,dnat, kad patikrintumėte, ar sin bitas nustatytas bitų kaukėje syn,ack: ... tcp žymės syn / syn,ack, kad patikrintumėte, ar fin ir pirmieji bitai nenustatyti bitų kaukėje syn,ack,fin,rst: ... tcp vėliavėlės! = fin,rst / syn,ack,fin,rst
  • Leisti raktinį žodį „verdiktas“ rinkinio/žemėlapio tipo apibrėžimuose: add map xm { typeof iifname . ip protokolas dportas: verdiktas ;}

Šaltinis: opennet.ru

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster