ĂshtĂ« publikuar rasti i filtrit tĂ« paketave nftables 1.0.2, i cili standardizon interfaces e filtrimit tĂ« paketave pĂ«r IPv4, IPv6, ARP dhe urat e rrjetit (i destinuar pĂ«r tĂ« zĂ«vendĂ«suar iptables, ip6tables, arptables dhe ebtables). Ndryshimet e nevojshme pĂ«r funksionimin e lĂ«shimit tĂ« nftables 1.0.2 janĂ« pĂ«rfshirĂ« nĂ« bĂ«rthamĂ«n Linux 5.17-rc.
Paketat nftables përfshijnë komponentët e filtrit të paketave që punojnë në hapësirën e përdoruesit, ndërsa në nivelin e bërthamor, funksionin e realizon nën-sistemi nf_tables, i pranishëm në bërthamën Linux që nga lëshimi 3.13. Në nivelin e bërthamor ofrohet vetëm një ndërfaqe e përgjithshme, e pavarur nga protokolli konkret dhe që ofron funksione bazike për nxjerrjen e të dhënave nga paketat, realizimin e operacioneve me të dhëna dhe menaxhimin e fluksit.
Rregullat e filtrimit dhe trajtuesit specifik për protokollet kompilohet në kodin e bytes në hapësirën e përdoruesit, pas së cilës ky kod bytes ngarkohet në bërthamë përmes ndërfaqes Netlink dhe ekzekutohet në bërthamë në një mjedis të veçantë. makinën virtuale, i ngjan Berkley Packet Filters (BPF). Qashtu, kjo qasje lejon të reduktohet ndjeshëm madhësia e kodit të filtrimit që funksionon në nivelin e bërthamës dhe të nxirren të gjitha funksionet e analizës së rregullave dhe logjikës së punës me protokollet në hapësirën e përdoruesit.
TĂ« rejat kryesore:
- ĂshtĂ« shtuar njĂ« mod i optimizimit tĂ« rregullave, i cili aktivizohet pĂ«rmes opsionit tĂ« ri "-o" ("--optimize"), i cili mund tĂ« kombinohet me opsionin "--check" pĂ«r tĂ« verifikuar dhe optimizuar ndryshimet nĂ« skedarin e setit tĂ« rregullave pa e ngarkuar atĂ« faktikisht. Optimizimi lejon bashkimin e rregullave tĂ« ngjashme, pĂ«r shembull, rregullat: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 prano meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 prano ip saddr 1.1.1.1 ip daddr 2.2.2.2 prano ip saddr 2.2.2.2 ip daddr 3.3.3.3 hidhi
do të bashkohen në meta iifname . ip saddr . ip daddr { eth1 . 1.1.1.1 . 2.2.2.3, eth1 . 1.1.1.2 . 2.2.2.5 } prano ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : prano, 2.2.2.2 . 3.3.3.3 : hidhi }
Shembuj përdorimi: # nft -c -o -f ruleset.test Bashkimi: ruleset.nft:16:3-37: ip daddr 192.168.0.1 numëro prano ruleset.nft:17:3-37: ip daddr 192.168.0.2 numëro prano ruleset.nft:18:3-37: ip daddr 192.168.0.3 numëro prano në: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } numëro paketa 0 byte 0 prano
- Në listat e seteve është realizuar mundësia e përcaktimit të opsioneve ip dhe tcp, si dhe intereçve sctp: set s5 { lloji ip opsion ra vlerë elementet = { 1, 1024 } } set s7 { lloji sctp intereçin inic numër-fluksesh të brendshëm elementet = { 1, 4 } } zinxhir c5 { ip opsion ra vlerë @s5 prano } zinxhir c7 { sctp intereçin inic numër-fluksesh @s7 prano }
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r opsionet TCP fastopen, md5sig dhe mptcp.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin nĂ« pĂ«rputhjet e nĂ«nllojit mp-tcp: tcp opsion mptcp nĂ«nlidhja 1
- ĂshtĂ« pĂ«rmirĂ«suar kodi i filtrimit, i cili funksionon nĂ« anĂ«n e bĂ«rthamĂ«s.
- Për flowtable është realizuar mbështetje e plotë për formatin JSON.
- ĂshtĂ« ofruar mundĂ«sia e pĂ«rdorimit tĂ« veprimit "refuzo" nĂ« operacionet e pĂ«rputhjes sĂ« ĐșаЎŃŃve Ethernet. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 refuzo
Burimi: opennet.ru
