VĂ€lja on antud nftables 1.0.1 versioon, mis ĂŒhtlustab paketifiltreerimise liideseid IPv4, IPv6, ARP ja vĂ”rgusillade jaoks (siht on asendada iptables, ip6tables, arptables ja ebtables). Nftables 1.0.1 toimimiseks vajalikud muudatused on kaasatud Linuxi tuumasse 5.16-rc1.
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:
- MÀlu tarbimine suurtel set- ja map-loenditel laadimisel on vÀhendatud.
- Set- ja map-loendite uuesti laadimine on kiirendatud.
- Eraldatud tabelite ja ketikute vÀljund suurtel reeglite kogumitel on kiirendatud. NÀiteks kÀsu 'nft list ruleset' tÀitmise aeg, et kuvada 100 000 rida reeglite kogumi, on 3,049 sekundit, kuid ainult nat ja filter tabelite (nft list table nat, nft list table filter) kuvamisel kahaneb see 1,969 ja 0,697 sekundini.
- KĂŒsimuste tĂ€itmine, kui on valitud 'âterse' valik, on kiirendatud suure set- ja map-loendite töötlemisel.
- Trafiku filtreerimise vÔimalus on antud 'egress' kettist, mis töötab samal tasemel, nagu netdev kettas egress-töötleja (hook egress), st hetkel, kui draiver saab paketi tuuma vÔrgu kuhjast.
- Lubatud on vÔrgu pakettide pealkirjade ja sisu baitide vastavusse viimine ja muutmine mÀÀratud nihke jÀrgi. # nft add rule x y @ih,32,32 0x14000000 counter # nft add rule x y @ih,32,32 set 0x14000000 counter
Allikas: opennet.ru
