nftables packet filter hoʻokuʻu 0.9.9

Ua paʻi ʻia ka hoʻokuʻu ʻana o ka packet filter nftables 0.9.9, e hoʻohui ana i nā kānana packet filtering interfaces no IPv4, IPv6, ARP a me nā alahaka pūnaewele (e manaʻo ʻia e pani i nā iptables, ip6table, arptables a me nā ebtables). Ma ka manawa like, ua paʻi ʻia ka hoʻokuʻu ʻana o ka hoa waihona libnftnl 1.2.0, e hāʻawi ana i kahi API haʻahaʻa no ka launa pū ʻana me ka subsystem nf_tables. ʻO nā loli i koi ʻia no ka hoʻokuʻu ʻana o nftables 0.9.9 i ka hana i loko o ka Linux kernel 5.13-rc1.

Aia ka pūʻolo nftables i nā ʻāpana kānana packet e holo ana ma kahi o ka mea hoʻohana, aʻo ka hana kernel-level e hāʻawi ʻia e ka nf_tables subsystem, kahi ʻāpana o ka kernel Linux mai ka hoʻokuʻu ʻana iā 3.13. Hāʻawi ka pae kernel i kahi kikowaena kūʻokoʻa protocol generic e hāʻawi i nā hana maʻamau no ka unuhi ʻana i ka ʻikepili mai nā ʻeke, ka hana ʻana i nā hana ʻikepili, a me ka mana kahe.

Hoʻohui ʻia nā lula kānana a me nā mea hoʻohana kikoʻī protocol i ka bytecode ma kahi o ka mea hoʻohana, ma hope o ka hoʻouka ʻia ʻana o kēia bytecode i loko o ka kernel me ka hoʻohana ʻana i ka interface Netlink a hoʻokō ʻia i loko o ka kernel i kahi mīkini virtual kūikawā e hoʻomanaʻo ana i ka BPF (Berkeley Packet Filters). ʻO kēia ala e hiki ai iā ʻoe ke hōʻemi nui i ka nui o ke code kānana e holo ana ma ka pae kernel a hoʻoneʻe i nā hana āpau o nā lula parsing a me nā loiloi no ka hana ʻana me nā protocols i loko o kahi mea hoʻohana.

Nā hana hou nui:

  • Ua hoʻokō ʻia ka hiki ke hoʻoneʻe i ka hana kahe kahe i ka ʻaoʻao adapter network, hiki ke hoʻohana i ka hae 'offload'. ʻO ka Flowtable kahi hana no ka hoʻonui ʻana i ke ala o ka hoʻihoʻi ʻana i ka packet, kahi i hoʻopili ʻia ai ka pauku piha o nā kaulahao hoʻoponopono lula a pau i ka ʻeke mua wale nō, a hoʻouna pololei ʻia nā ʻeke ʻē aʻe a pau o ke kahe. papaʻaina ip honua { flowtable f { hook ingress priority filter + 1 device = { lan3, lan0, wan } hae offload } kaulahao i mua { type filter hook forward priority filter; ʻae i nā kulekele; ip protocol { tcp, udp } flow add @f } kaulahao pou { type nat hook postrouting priority filter; ʻae i nā kulekele; oifname "wan" masquerade } }
  • Kākoʻo hoʻohui ʻia no ka hoʻopili ʻana i ka hae nona ka pākaukau e hōʻoia i ka hoʻohana kūʻokoʻa o ka papaʻaina ma ke kaʻina hana. Ke hoʻopau ʻia kahi kaʻina hana, holoi ʻia ka pākaukau e pili ana me ia. Hōʻike ʻia ka ʻike e pili ana i ke kaʻina hana ma ka hoʻolei ʻana i nā lula ma ke ʻano he manaʻo: papa ip x { # progname nft hae haku kaulahao y { type filter hook input priority filter; ʻae i nā kulekele; nā ʻeke kūʻai 1 byte 309 } }
  • Kākoʻo hoʻohui ʻia no ka kikoʻī IEEE 802.1ad (VLAN stacking a i ʻole QinQ), kahi e wehewehe ai i kahi ala no ka hoʻololi ʻana i nā hōʻailona VLAN he nui i hoʻokahi kiʻi Ethernet. No ka laʻana, e nānā i ke ʻano o waho o ka Ethernet frame 8021ad a me ka vlan id=342, hiki iā ʻoe ke hoʻohana i ka hana ... ether type 802.1ad vlan id 342 e nānā i ke ʻano waho o ka Ethernet frame 8021ad/vlan id=1, nested 802.1 q/vlan id=2 a me ka hoʻopili ʻia ʻana o ka ʻeke IP hou aku: ... ʻano ether 8021ad vlan id 1 ʻano vlan 8021q vlan id 2 ʻano ip counter ʻano vlan
  • Hoʻohui i ke kākoʻo no ka mālama ʻana i nā kumuwaiwai me ka hoʻohana ʻana i nā hui hierarchy hui hui v2. ʻO ka ʻokoʻa nui ma waena o cgroups v2 a me v1 ka hoʻohana ʻana i kahi hierarchy cgroups maʻamau no nā ʻano waiwai āpau, ma kahi o nā hierarchies kaʻawale no ka hoʻokaʻawale ʻana i nā kumuwaiwai CPU, no ka hoʻoponopono ʻana i ka hoʻohana ʻana i ka hoʻomanaʻo, a no I/O. No ka laʻana, no ka nānā ʻana inā pili ka kupuna o kahi kumu ma ka pae mua cgroupv2 i ka mask "system.slice", hiki iā ʻoe ke hoʻohana i ke kūkulu ʻana: ... socket cgroupv2 pae 1 "system.slice"
  • Hoʻohui i ka hiki ke nānā i nā ʻāpana o nā ʻeke SCTP (e ʻike ʻia ka hana e pono ai no kēia ma ka Linux 5.14 kernel). No ka laʻana, e nānā inā loaʻa i kahi ʻeke kahi ʻāpana me ke ʻano 'data' a me ka 'type' kahua: ... sctp chunk data exists ... sctp chunk data type 0
  • Ua hoʻonui ʻia ka hoʻokō ʻana i ka hana hoʻouka kānāwai ma kahi o ʻelua manawa me ka hoʻohana ʻana i ka hae "-f". Ua hoʻopaneʻe ʻia ka hoʻopuka ʻana o ka papa inoa o nā lula.
  • Hāʻawi ʻia kahi palapala paʻa no ka nānā ʻana inā ua hoʻonohonoho ʻia nā ʻāpana hae. No ka laʻana, no ka nānā ʻana ʻaʻole i hoʻonohonoho ʻia nā bits status snat a me dnat, hiki iā ʻoe ke kuhikuhi: ... ct status ! snat,dnat e nānā ua hoʻonohonoho ʻia ka syn bit ma ka bitmask syn,ack: ... nā hae tcp syn / syn,ack e nānā ʻaʻole i hoʻonohonoho ʻia nā fin a me nā bits mua i ka bitmask syn,ack,fin,rst: ... nā hae tcp! = fin,rst / syn,ack,fin,rst
  • E ʻae i ka huaʻōlelo "hoʻoholo" i ka hoʻonohonoho/palapala ʻano wehewehe: hoʻohui i ka palapala ʻāina xm {typeof iifname. ip protocol th dport: hoʻoholo;}

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka