nftables pakiti chujio 0.9.2 kutolewa

ilifanyika kutolewa kwa chujio cha pakiti nfttables 0.9.2, 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 toleo la nftables 0.9.2 kufanya kazi yanajumuishwa kwenye kernel ya Linux 5.3.

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:

  • Uwezo wa kuangalia nambari ya bandari kutoka kwa kichwa cha pakiti ya safu ya usafirishaji, bila kujali aina ya itifaki ya safu ya 4:

    ongeza kanuni ya xy ip itifaki {tcp, udp } th dport 53

  • Usaidizi wa urejeshaji wa kipengee wa maisha yote:

    ongeza kipengele cha ip xy { 1.1.1.1 muda wa kuisha 30s unaisha 15s }

  • Uwezo wa kuangalia chaguzi za kibinafsi (lsrr, rr, ssrr na ra) kutoka kwa pakiti za IPv4:

    ongeza kanuni xy ip chaguo rr ipo kushuka

    Kwa chaguzi za uelekezaji, inawezekana kuangalia aina, ptr, urefu na sehemu za kuongeza:

    ongeza kanuni xy ip chaguo rr aina 1 tone

  • Sasa inawezekana kubainisha viambishi awali vya mtandao na safu za anwani katika misemo:

    iifname en3 snat to 10.0.0.0/28
    iifname en3 snat to 10.0.0.1-10.0.0.15

  • Usaidizi wa kutumia vigezo katika ufafanuzi wa mnyororo:

    define default_policy = kubali
    ongeza mnyororo ip foo bar {aina chujio cha pembejeo cha kipaumbele cha ndoano ya kichujio; sera $default_policy }

  • Kipaumbele cha mnyororo sasa kinaweza kubainishwa kiidadi na kiishara:

    fafanua prio = chujio
    fafanua prionum = 10
    define prioffset = "chujio - 150"

    ongeza meza ip foo
    ongeza mnyororo ip foo bar { chapa kichujio cha ndoano kipaumbele cha pembejeo $prio; }
    ongeza mnyororo ip foo ber { chapa kichujio cha pembejeo kipaumbele cha pembejeo $prionum; }
    ongeza mnyororo ip foo bor { chapa kichujio cha pembejeo kipaumbele cha pembejeo $prioffset; }

  • Usaidizi wa moduli ya synproksi umetekelezwa. Kwa mfano, kuweka bandari ya TCP 8888 chini ya ulinzi wa synproksi, unaweza kutumia seti zifuatazo za sheria:

    meza ip x {
    mnyororo y {
    aina chujio ndoano prerouting kipaumbele mbichi; kukubali sera;
    tcp dport 8888 tcp bendera syn notrack
    }

    mlolongo z {
    aina chujio ndoano mbele chujio kipaumbele; kukubali sera;
    hali ya tcp dport 8888 ct ni batili, synproksi isiyofuatilia mss 1460 \\
    wscale 7 timestamp gunia-perm ct hali tone batili
    }
    }

  • Ili kufafanua miunganisho ya ziada inayotarajiwa inayohusishwa na muunganisho wa sasa katika jedwali la ugomvi, ambalo linatumika katika itifaki na hali zinazohitaji miunganisho mingi, sasa unaweza kufafanua sera kupitia seti za kanuni za kawaida. Kwa mfano, ili kubaini ni miunganisho gani inayofuata kwa bandari 8888 inayotarajiwa baada ya miunganisho kwenye bandari ya TCP 5432, unaweza kubainisha sheria zifuatazo:

    meza x {
    matarajio yangu ninayotarajia {
    itifaki tcp
    dport 5432
    muda umeisha 1h
    ukubwa 12
    l3proto ip
    }

    ingizo la mnyororo {
    aina ya kichujio cha pembejeo ya ndoano kipaumbele 0;
    ct state new tcp dport 8888 ct matarajio seti myexpect
    ct hali imeanzishwa, counter inayohusiana inakubali
    }
    }

Chanzo: opennet.ru

Kuongeza maoni