nftables pakettfiltri 0.9.9 väljalase

Välja on antud pakettfilter nftables 0.9.9. See ühendab IPv4, IPv6, ARP ja võrgusildade (mis on suunatud iptables'i, ip6table'i, arptables'i ja ebtables'i asendamisele) pakettfiltreerimisliidesed. Samaaegselt on välja antud ka kaasnev libnftnl 1.2.0 teek, mis pakub madala taseme API-t nf_tables alamsüsteemiga suhtlemiseks. Nftables 0.9.9 jaoks vajalikud muudatused on kerneli sisse viidud. Linux 5.13-rc1.

nftables pakett sisaldab kasutajaruumis töötavaid paketifiltri komponente, samas kui kerneli tasemel tööd tagab nf_tables alamsüsteem, mis on osa kernelist. Linux Alates versioonist 3.13 on kerneli tasandil pakutud ainult üldist protokollist sõltumatut liidest, mis pakub põhifunktsioone andmete pakettidest eraldamiseks, andmetoimingute tegemiseks ja voo juhtimiseks.

Filtreerimisreeglid ise ja protokollispetsiifilised käitlejad kompileeritakse kasutajaruumis baitkoodiks, misjärel laaditakse see baitkood Netlinki liidese abil kerneli ja käivitatakse kernelis spetsiaalses käsus. virtuaalmasin, mis meenutab BPF-i (Berkeley pakettfiltrid). See lähenemisviis võimaldab oluliselt vähendada kerneli tasemel töötava filtreerimiskoodi mahtu ning viia kogu reeglite parsimise ja protokolliloogika kasutajaruumi.

Peamised uuendused:

  • Rakendatud on võimalus teisaldada vootabeli töötlemist võrguadapteri poolele, mis on lubatud lipu "väljalaadimine" abil. Flowtable on pakettide ümbersuunamise tee optimeerimise mehhanism, mille puhul rakendatakse kõigi reeglitöötlusahelate täielikku läbimist ainult esimesele paketile ja kõik teised voos olevad paketid edastatakse otse. tabel ip globaalne { flowtable f { hook ingress priority filter + 1 devices = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward priority filter; poliitika aktsepteerima; ip protokoll { tcp, udp } flow add @f } chain post { type nat hook postrouting priority filter; poliitika aktsepteerima; oifname "wan" maskeraad } }
  • Lisatud tugi omaniku lipu lisamiseks tabelile, et tagada tabeli eksklusiivne kasutamine protsessi poolt. Kui protsess lõpeb, kustutatakse sellega seotud tabel automaatselt. Teave protsessi kohta kuvatakse reeglite dumpis kommentaarina: tabel ip x { # progname nft flags owner chain y { type filter hook input priority filter; poliitika aktsepteerima; loenduri paketid 1 baiti 309 } }
  • Lisatud tugi IEEE 802.1ad spetsifikatsioonile (VLAN virnastamine või QinQ), mis määratleb vahendid mitme VLAN-i sildi asendamiseks ühte Etherneti kaadrisse. Näiteks välise Etherneti raami 8021ad ja vlan id=342 tüübi kontrollimiseks võite kasutada konstruktsiooni ... ether type 802.1ad vlan id 342, et kontrollida Etherneti raami välist tüüpi 8021ad/vlan id=1, pesastatud 802.1 q/vlan id=2 ja edasine IP-paketi kapseldamine: ... eetri tüüp 8021ad vlan id 1 vlan tüüp 8021q vlan id 2 vlan tüüp ip counter
  • Lisatud tugi ressursside haldamiseks, kasutades ühtset hierarhiat cgroups v2. Peamine erinevus cgroups v2 ja v1 vahel on ühise cgroups hierarhia kasutamine igat tüüpi ressursside jaoks, selle asemel, et eraldada CPU ressursse, reguleerida mälutarbimist ja sisend-väljundit. Näiteks selleks, et kontrollida, kas sokli esivanem esimesel tasemel cgroupv2 vastab maskile "system.slice", võite kasutada konstruktsiooni: ... socket cgroupv2 tase 1 "system.slice"
  • Добавлена возможность проверки составных частей пакетов SCTP (необходимая для работы функциональность появится в ядре Linux 5.14). Например, для проверки наличия в пакете chunk-а с типом ‘data’ и полем ‘type’: … sctp chunk data exists … sctp chunk data type 0
  • Reegli laadimistoimingu täitmist on lipu "-f" abil kiirendatud ligikaudu kaks korda. Samuti on kiirendatud reeglite loendi väljastamist.
  • Pakutakse kompaktset vormi lipubittide seadistamise kontrollimiseks. Näiteks kontrollimaks, et snat- ja dnat-olekubitid pole määratud, saate määrata: ... ct status ! snat,dnat, et kontrollida, kas bitimask on syn,ack: ... tcp lipud syn / syn,ack kontrollimaks, et fin ja esimene bitt ei ole bitmaskis määratud syn,ack,fin,rst: ... tcp lipud ! = fin,rst / syn,ack,fin,rst
  • Luba märksõna "otsus" määratlustes set/map typeof: add map xm { typeof iifname . ip protokoll dport: otsus ;}

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster