nftables packet filter release 0.9.9

Yo te pibliye lage pake filtre nftables 0.9.9, inifye entèfas filtraj pake pou IPv4, IPv6, ARP ak pon rezo (ki vize pou ranplase iptables, ip6table, arptables ak ebtables). An menm tan an, yo te pibliye piblikasyon bibliyotèk konpayon libnftnl 1.2.0, ki bay yon API ba nivo pou kominike avèk subsistèm nf_tables. Chanjman ki nesesè pou lage nftables 0.9.9 pou travay yo enkli nan Kernel Linux 5.13-rc1.

Pake nftables a gen ladan eleman filtre pake ki kouri nan espas itilizatè yo, pandan y ap travay nan nivo nwayo a se sou-sistèm nf_tables ki te bay, ki te fè pati nwayo Linux la depi lage 3.13. Nivo nwayo a bay sèlman yon koòdone jenerik pwotokòl endepandan ki bay fonksyon debaz pou ekstrè done ki soti nan pake, fè operasyon done, ak kontwòl koule.

Règ filtraj tèt yo ak moun kap okipe pwotokòl espesifik yo konpile nan bytecode espas itilizatè, apre sa yo chaje bytecode sa a nan nwayo a lè l sèvi avèk koòdone Netlink la epi egzekite nan nwayo a nan yon machin vityèl espesyal ki sanble ak BPF (Berkeley Packet Filters). Apwòch sa a fè li posib pou redwi siyifikativman gwosè kòd filtraj kouri nan nivo nwayo a epi deplase tout fonksyon règleman analiz ak lojik travay ak pwotokòl nan espas itilizatè.

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 nan tcheke eleman nan pake SCTP (fonksyonalite ki nesesè pou sa a ap parèt nan Linux Kernel 5.14). Pa egzanp, pou tcheke si yon pake gen yon moso ki gen kalite 'done' ak jaden 'kalite': ... sctp chunk done egziste ... sctp chunk done tip 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

Add nouvo kòmantè