nftables pakiti chujio 0.9.3 kutolewa

iliyochapishwa kutolewa kwa chujio cha pakiti nfttables 0.9.3, inatengenezwa kama mbadala wa iptables, ip6table, arptables na ebtables kwa kuunganisha violesura vya kuchuja pakiti kwa IPv4, IPv6, ARP na madaraja ya mtandao. Kifurushi cha nftables kinajumuisha 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. Mabadiliko yanayohitajika kwa nftables 0.9.3 kutolewa kufanya kazi yanajumuishwa katika tawi lijalo la Linux 5.5 kernel.

Kiwango cha kernel hutoa kiolesura cha kawaida kinachojitegemea itifaki ambacho hutoa kazi za kimsingi za kutoa data kutoka kwa pakiti, kutekeleza shughuli za data na udhibiti wa mtiririko. Mantiki ya kuchuja yenyewe na vidhibiti mahususi vya itifaki hukusanywa kuwa bytecode katika nafasi ya mtumiaji, baada ya hapo bytecode hii hupakiwa kwenye kernel kwa kutumia kiolesura cha Netlink na kutekelezwa katika mashine maalum 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:

  • Msaada wa kulinganisha pakiti kwa wakati. Unaweza kufafanua safu za saa na tarehe ambazo sheria itaanzishwa, na kusanidi uanzishaji katika siku mahususi za wiki. Pia imeongeza chaguo jipya "-T" ili kuonyesha muda wa epochal katika sekunde.

    muda wa meta \Β»2019-12-24 16:00\" - \Β»2020-01-02 7:00\"
    saa moja \"17:00\" - \"19:00\"
    siku ya meta \"Ijumaa\"

  • Msaada wa kurejesha na kuokoa alama za SELinux (secmark).

    ct sekmark weka alama ya meta
    sekmark ya meta weka alama ya ct

  • Usaidizi wa orodha za ramani za synproksi, hukuruhusu kufafanua zaidi ya sheria moja kwa kila mandharinyuma.

    meza ip foo {
    synproxy https-synproxy {
    mss 1460
    kiwango 7
    timestamp gunia-perm
    }

    synproksi nyingine-synproksi {
    mss 1460
    kiwango 5
    }

    mlolongo kabla {
    aina chujio ndoano prerouting kipaumbele mbichi; kukubali sera;
    tcp dport 8888 tcp bendera syn notrack
    }

    upau wa mnyororo {
    aina chujio ndoano mbele chujio kipaumbele; kukubali sera;
    ct state ni batili, jina la synproksi halijafuatiliwa ip saddr map { 192.168.1.0/24 : "https-synproxy", 192.168.2.0/24 : "other-synproxy" }
    }
    }

  • Uwezo wa kuondoa vipengele vilivyowekwa kutoka kwa sheria za usindikaji wa pakiti.

    nft ongeza sheria ... futa @set5 { ip6 saddr . ip6 baba}

  • Usaidizi wa uchoraji ramani wa VLAN kwa kitambulisho na itifaki iliyofafanuliwa katika metadata ya kiolesura cha daraja la mtandao;

    meta ibrpvid 100
    meta ibrvproto vlan

  • Chaguo "-t" ("--terse") ili kuwatenga vipengele vya seti wakati wa kuonyesha sheria. Kuendesha "nft -t list ruleset" kutatoa:

    meza ip x {
    weka y {
    chapa ipv4_addr
    }
    }

    Na "nft orodha kanuni"

    meza ip x {
    weka y {
    chapa ipv4_addr
    vipengele = {192.168.10.2, 192.168.20.1,
    192.168.4.4, 192.168.2.34 }
    }
    }

  • Uwezo wa kutaja zaidi ya kifaa kimoja katika minyororo ya netdev (inafanya kazi tu na kernel 5.5) ili kuchanganya sheria za kawaida za kuchuja.

    ongeza jedwali netdev x
    ongeza mnyororo netdev xy {\
    aina chujio ndoano ingress vifaa = { eth0, eth1 } kipaumbele 0;
    }

  • Uwezo wa kuongeza maelezo ya aina za data.

    #nft eleza ipv4_addr
    aina ya data ipv4_addr (anwani ya IPv4) (nambari kamili ya aina msingi), biti 32

  • Uwezo wa kujenga kiolesura cha CLI na maktaba ya laini badala ya laini ya maandishi.

    ./configure --with-cli=linenoise

Chanzo: opennet.ru

Kuongeza maoni