nftables pakiti chujio 1.0.2 kutolewa

Utoaji wa chujio cha pakiti nftables 1.0.2 umechapishwa, unaunganisha violesura vya kuchuja pakiti kwa IPv4, IPv6, ARP na madaraja ya mtandao (inayolenga kuchukua nafasi ya iptables, ip6table, arptables na ebtables). Mabadiliko yanayohitajika kwa nftables 1.0.2 kutolewa kufanya kazi yanajumuishwa kwenye Linux kernel 5.17-rc.

Kifurushi cha nftables ni pamoja na vipengee vya kichujio cha pakiti ambacho hutumika katika nafasi ya mtumiaji, wakati kazi ya kiwango cha kernel inatolewa na mfumo mdogo wa nf_tables, ambao umekuwa sehemu ya kernel ya Linux tangu kutolewa kwa 3.13. Kiwango cha kernel hutoa kiolesura cha kawaida kinachojitegemea cha itifaki ambacho hutoa kazi za kimsingi za kutoa data kutoka kwa pakiti, kutekeleza shughuli za data na udhibiti wa mtiririko.

Sheria za kuchuja na vidhibiti mahususi vya itifaki hukusanywa kuwa bytecode katika nafasi ya mtumiaji, baada ya hapo bytecode hii hupakiwa kwenye kerneli kwa kutumia kiolesura cha Netlink na kutekelezwa kwenye kernel katika mashine maalum ya pepe inayowakumbusha BPF (Berkeley Packet Filters). Njia hii hukuruhusu kupunguza kwa kiasi kikubwa saizi ya msimbo wa kuchuja unaoendesha kwenye kiwango cha kernel na kusonga kazi zote za kanuni na mantiki ya kufanya kazi na itifaki kwenye nafasi ya mtumiaji.

Ubunifu kuu:

  • Hali ya uboreshaji wa sheria imeongezwa, imewezeshwa kwa kutumia chaguo jipya la "-o" ("--optimize"), ambalo linaweza kuunganishwa na chaguo la "--check" kuangalia na kuboresha mabadiliko kwenye faili ya kanuni bila kuipakia. . Uboreshaji hukuruhusu kuchanganya sheria zinazofanana, kwa mfano, sheria: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 kubali meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 kubali ip1.1.1.1. .2.2.2.2 kubali ip saddr 2.2.2.2 ip daddr 3.3.3.3 tone

    itaunganishwa kuwa meta iifname . ip saddr. ip baba { eth1 . 1.1.1.1. 2.2.2.3, eth1 . 1.1.1.2. 2.2.2.5 } kubali ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : kukubali, 2.2.2.2 . 3.3.3.3 : kushuka}

    Mfano wa matumizi: # nft -c -o -f ruleset.test Kuunganisha: ruleset.nft:16:3-37: ip daddr 192.168.0.1 counter kubali ruleset.nft:17:3-37: ip daddr 192.168.0.2 counter kubali ruleet.nft:18:3-37: ip daddr 192.168.0.3 counter kubali kwenye: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } pakiti za kaunta 0 byte 0 kukubali

  • Orodha zilizowekwa hutekeleza uwezo wa kubainisha chaguo za ip na tcp, pamoja na vipande vya sctp: weka s5 { typeof ip chaguo ra vipengele vya thamani = {1, 1024 } } weka s7 { typeof sctp chunk init num-inbound-streams vipengele = { 1, 4 } } mnyororo c5 { ip chaguo ra thamani @s5 kubali } mnyororo c7 { sctp chunk init num-inbound-streams @s7 kubali }
  • Usaidizi ulioongezwa kwa chaguo za TCP fastopen, md5sig na mptcp.
  • Usaidizi ulioongezwa wa kutumia aina ndogo ya mp-tcp katika ramani: chaguo la tcp mptcp aina ndogo ya 1
  • Nambari ya kuchuja ya upande wa kernel iliyoboreshwa.
  • Flowtable sasa ina usaidizi kamili wa umbizo la JSON.
  • Uwezo wa kutumia kitendo cha "kukataa" katika shughuli za kulinganisha fremu za Ethaneti umetolewa. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 kataa

Chanzo: opennet.ru

Kuongeza maoni