Нусхаи филтри бастаи nftables 0.9.2

сурат гирифт озод кардани филтри баста nftables 0.9.2, ҳамчун ҷойгузини iptables, ip6table, arptables ва ebtables тавассути муттаҳид кардани интерфейсҳои филтркунии бастаҳо барои IPv4, IPv6, ARP ва пулҳои шабакавӣ таҳия карда мешавад. Бастаи nftables ҷузъҳои филтри бастаҳоро дар бар мегирад, ки дар фазои корбар кор мекунанд, дар ҳоле ки кори сатҳи ядро ​​аз ҷониби зерсистемаи nf_tables таъмин карда мешавад, ки аз замони нашри 3.13 қисми ядрои Linux мебошад. Тағиротҳое, ки барои кор кардани nftables 0.9.2 лозиманд, ба ядрои Linux 5.3 дохил карда шудаанд.

Сатҳи ядро ​​​​танҳо интерфейси мустақили протоколро таъмин мекунад, ки вазифаҳои асосиро барои истихроҷи додаҳо аз пакетҳо, иҷрои амалиёти додаҳо ва назорати ҷараён таъмин мекунад. Худи мантиқи филтркунӣ ва коркардкунандагони мушаххаси протокол дар фазои корбар ба байт-код тартиб дода мешаванд, ки пас аз он ин байткод ба ядро ​​бо истифода аз интерфейси Netlink бор карда мешавад ва дар мошини махсуси виртуалӣ, ки BPF (Беркли Пакет Филтрҳо)-ро ба ёд меорад, иҷро мешавад. Ин равиш ба шумо имкон медиҳад, ки андозаи коди филтркуниро, ки дар сатҳи ядро ​​кор мекунад, хеле кам кунед ва тамоми функсияҳои қоидаҳои таҳлил ва мантиқи кор бо протоколҳоро ба фазои корбар интиқол диҳед.

Навовариҳои асосӣ:

  • Имконияти тафтиши рақами порт аз сарлавҳаи бастаи қабати нақлиёт, новобаста аз намуди протоколи қабати 4:

    илова кардани қоидаи xy IP протоколи {tcp, udp} th dport 53

  • Дастгирии барқарорсозии умри маҷмӯи унсурҳо:

    илова кардани унсури ip xy {1.1.1.1 тайм 30 сония ба охир мерасад 15 сония }

  • Имконияти тафтиши имконоти инфиродӣ (lsrr, rr, ssrr ва ra) аз пакетҳои IPv4:

    илова кардани қоида xy ip хосият rr мавҷуд аст тарки

    Барои имконоти масир, метавон санҷидани майдонҳои намуд, ptr, дарозӣ ва adr:

    илова қоида xy ip хосият rr навъи 1 тарки

  • Ҳоло имконпазир аст, ки префиксҳои шабакавӣ ва диапазони суроғаҳоро дар ифодаҳо муайян кунед:

    iifname ens3 snat ба 10.0.0.0/28
    iifname ens3 snat ба 10.0.0.1-10.0.0.15

  • Дастгирии истифодаи тағирёбандаҳо дар таърифҳои занҷир:

    муайян кардани default_policy = қабул
    илова занҷираи ip foo bar { навъи филтр қалмоқ филтри афзалияти вуруд; сиёсат $default_policy }

  • Афзалияти занҷир акнун метавонад ҳам ба таври рақамӣ ва ҳам рамзӣ муайян карда шавад:

    муайян кардани prio = филтр
    prionum = 10 муайян кунед
    муайян кардани prioffset = "филтр - 150"

    ҷадвали ip foo илова кунед
    илова занҷираи ip foo bar { навъи филтр афзалияти вуруди қалмоқ $prio; }
    илова занҷираи ip foo ber { навъи филтр афзалияти вуруди қалмоқ $prionum; }
    илова занҷири ip foo bor {навъи филтри қалмоқе ки вуруди афзалият $prioffset; }

  • Дастгирии модули синпрокси амалӣ карда шуд. Масалан, барои ҷойгир кардани порти TCP 8888 дар зери ҳимояи синпрокси, шумо метавонед маҷмӯи қоидаҳои зеринро истифода баред:

    ҷадвали ip x {
    занҷир y {
    навъи филтр қалмоқе prerouting афзалият хом; қабули сиёсат;
    tcp dport 8888 парчамҳои tcp syn notrack
    }

    занҷир z {
    навъи филтр қалмоқ филтри афзалиятнок; қабули сиёсат;
    Ҳолати tcp dport 8888 ct беэътибор аст, synproxy пайгирӣнашаванда mss 1460 \\
    wscale 7 вақт тамғаи халта-perm ct ҳолати беэътибор тарки
    }
    }

  • Барои муайян кардани пайвастҳои иловагии интизоршудаи марбут ба пайвасти ҷорӣ дар ҷадвали пайвастшавӣ, ки дар протоколҳо ва сенарияҳое истифода мешаванд, ки пайвастагиҳои сершуморро талаб мекунанд, акнун шумо метавонед сиёсатҳоро тавассути маҷмӯи қоидаҳои стандартӣ муайян кунед. Масалан, барои муайян кардани кадом пайвастҳои минбаъда ба порти 8888 пас аз пайвастшавӣ ба порти TCP 5432, шумо метавонед қоидаҳои зеринро муайян кунед:

    ҷадвали x {
    ct интизорӣ myexpect {
    протоколи tcp
    dport 5432
    танаффус 1 соат
    андозаи 12
    l3proto ip
    }

    вуруди занҷир {
    навъи филтр афзалияти вуруди қалмоқ 0;
    ct давлатӣ нав tcp dport 8888 ct интизории маҷмӯи myexpect
    ct давлат таъсис дода, вобаста counter қабул
    }
    }

Манбаъ: opennet.ru

Илова Эзоҳ