Filtè pake nftables 0.9.9 la te pibliye. Li inifye koòdone filtraj pake pou IPv4, IPv6, ARP, ak pon rezo (ki vize kòm yon ranplasman pou iptables, ip6table, arptables, ak ebtables). Bibliyotèk libnftnl 1.2.0 ki akonpaye l la, ki bay yon API nivo ba pou kominike avèk sou-sistèm nf_tables la, te pibliye an menm tan. Chanjman ki nesesè pou nftables 0.9.9 yo te enkòpore nan nwayo a. Linux 5.13-rc1.
Pake nftables la gen konpozan filtè pake ki opere nan espas itilizatè a, alòske travay nan nivo nwayo a bay pa sou-sistèm nf_tables la, ki fè pati nwayo a. Linux Depi vèsyon 3.13 la, se sèlman yon koòdone jenerik ki endepandan de pwotokòl ki disponib nan nivo nwayo a, ki bay fonksyonalite debaz pou ekstrè done nan pake yo, fè operasyon done, ak kontwòl koule.
Règ filtraj yo menm ak fonksyonalite espesifik pou pwotokòl la konpile an bytecode nan espas itilizatè a, apre sa yo chaje bytecode sa a nan nwayo a lè l sèvi avèk koòdone Netlink la epi yo egzekite li nan nwayo a nan yon fason espesyal. machin vityèl, ki fè panse ak BPF (Berkeley Packet Filters). Apwòch sa a pèmèt yon rediksyon enpòtan nan gwosè kòd filtraj k ap fonksyone nan nivo nwayo a epi li deplase tout analiz règ ak lojik pwotokòl nan espas itilizatè a.
Prensipal inovasyon:
- Kapasite pou deplase pwosesis flowtable sou bò adaptè rezo a te aplike, pèmèt lè l sèvi avèk drapo 'dechaje' la. Flowtable se yon mekanis pou optimize chemen an nan redireksyon pake, nan ki pasaj konplè tout chenn pwosesis règ aplike sèlman nan premye pake a, ak tout lòt pake nan koule yo voye dirèkteman. tab ip global { flowtable f { zen filtè priyorite antre + 1 aparèy = { lan3, lan0, wan } drapo dechaje } chèn pi devan { kalite filtre zen filtè priyorite pou pi devan; politik aksepte; IP pwotokòl { tcp, udp } koule ajoute @f } chèn pòs { tape filtè priyorite postrouting nat zen; politik aksepte; oifname "wan" maskarad }}
- Te ajoute sipò pou tache yon drapo pwopriyetè sou yon tab pou asire itilizasyon eksklizif tab la pa yon pwosesis. Lè yon pwosesis fini, tab ki asosye ak li otomatikman efase. Enfòmasyon sou pwosesis la parèt nan pil fatra règ yo nan fòm yon kòmantè: tab ip x { # progname nft flags owner chain y { type filter hook input priyorite filter; politik aksepte; kontwa pake 1 byte 309 } }
- Te ajoute sipò pou spesifikasyon IEEE 802.1ad (VLAN anpile oswa QinQ), ki defini yon mwayen pou ranplase plizyè tag VLAN nan yon sèl ankadreman Ethernet. Pou egzanp, yo tcheke ki kalite ekstèn Ethernet ankadreman 8021ad ak vlan id = 342, ou ka itilize konstriksyon an ... etè kalite 802.1ad vlan id 342 pou tcheke kalite ekstèn nan Ethernet ankadreman 8021ad/vlan id = 1, enbrike 802.1 q/vlan id=2 ak plis enkapsulasyon pake IP: ... etè tip 8021ad vlan id 1 vlan tip 8021q vlan id 2 vlan tip kontè ip
- Te ajoute sipò pou jere resous lè l sèvi avèk yerachi inifye cgroups v2. Diferans kle ant cgroups v2 ak v1 se itilizasyon yon yerachi cgroups komen pou tout kalite resous, olye de yerachi separe pou asiyen resous CPU, pou reglemante konsomasyon memwa, ak pou I/O. Pou egzanp, pou tcheke si zansèt yon priz nan premye nivo cgroupv2 matche ak mask "system.slice" la, ou ka itilize konstriksyon an: ... priz cgroupv2 nivo 1 "system.slice"
- Te ajoute kapasite pou tcheke konpozan pakè SCTP yo (fonksyonalite ki nesesè pou operasyon an ap parèt nan nwayo a) Linux 5.14). Pa egzanp, pou verifye si yon pake gen yon chunk ak tip 'done' ak chan 'type' la: ... sctp chunk data exists ... sctp chunk data type 0
- Egzekisyon operasyon chaj règ la te akselere apeprè de fwa lè l sèvi avèk drapo "-f". Pwodiksyon an nan lis la nan règ yo te akselere tou.
- Yo bay yon fòm kontra enfòmèl ant pou tcheke si moso drapo yo mete. Pa egzanp, pou tcheke si snat ak dnat estati bits yo pa mete, ou ka presize: ... ct status ! snat,dnat pou tcheke ke syn bit la mete nan bitmask syn,ack: ... tcp flags syn / syn,ack pou tcheke fin ak premye bit yo pa mete nan bitmask syn,ack,fin,rst: ... tcp flags ! = fin,rst / syn,ack,fin,rst
- Pèmèt mo kle "vèdik la" nan definisyon kalite set/kat: ajoute kat xm { typeof iifname . pwotokòl ip th dport : vèdik ;}
Sous: opennet.ru
