Филтри пакети nftables 0.9.9 бароварда шуд. Он интерфейсҳои филтркунии пакетҳоро барои IPv4, IPv6, ARP ва пулҳои шабакавӣ (ки ҳамчун ивазкунандаи iptables, ip6table, arptables ва ebtables пешбинӣ шудааст) муттаҳид мекунад. Китобхонаи ҳамроҳи libnftnl 1.2.0, ки API-и сатҳи пастро барои ҳамкорӣ бо зерсистемаи nf_tables таъмин мекунад, ҳамзамон бароварда шуд. Тағйиротҳои зарурӣ барои nftables 0.9.9 ба ядро ворид карда шуданд. Linux 5.13-rc1.
Бастаи nftables дорои ҷузъҳои филтри пакет мебошад, ки дар фазои корбар кор мекунанд, дар ҳоле ки кори сатҳи ядро аз ҷониби зерсистемаи nf_tables, ки қисми ядро аст, таъмин карда мешавад. Linux Аз нашри 3.13, дар сатҳи ядро танҳо як интерфейси умумии мустақил аз протокол пешниҳод карда мешавад, ки функсияҳои асосиро барои истихроҷи маълумот аз бастаҳо, иҷрои амалиётҳои маълумот ва идоракунии ҷараён таъмин мекунад.
Худи қоидаҳои филтркунӣ ва коркардкунандагони мушаххаси протокол дар фазои корбар ба байткод тартиб дода мешаванд, ки пас аз он ин байткод бо истифода аз интерфейси Netlink ба ядро бор карда мешавад ва дар ядро ба таври махсус иҷро карда мешавад. мошини виртуалӣ, ба BPF (Филтрҳои бастаи Беркли) монанд аст. Ин равиш имкон медиҳад, ки андозаи рамзи филтркунӣ, ки дар сатҳи ядро кор мекунад, ба таври назаррас коҳиш дода шавад ва тамоми таҳлили қоидаҳо ва мантиқи протоколро ба фазои корбар интиқол медиҳад.
Навовариҳои асосӣ:
- Қобилияти интиқол додани коркарди ҷадвали ҷараён ба тарафи адаптери шабакавӣ амалӣ карда шуд, ки бо истифода аз парчами "борфарорӣ" фаъол карда шудааст. Flowtable як механизми оптимизатсияи роҳи масири маҷмӯа мебошад, ки дар он гузариши пурраи ҳамаи занҷирҳои коркарди қоидаҳо танҳо ба бастаи аввал татбиқ карда мешавад ва ҳамаи бастаҳои дигари ҷараён мустақиман интиқол дода мешаванд. table ip global { flowtable f { филтри афзалиятноки вуруди қалмоқ + 1 дастгоҳ = { lan3, lan0, wan } боркунии парчамҳо } занҷир ба пеш { навъи филтр қалмоқ ба пеш филтри афзалиятнок; қабули сиёсат; ip protocol { tcp, udp } flow add @f } занҷири пост { навъи nat hook филтри авлавияти баъди масир; қабули сиёсат; oifname "wan" маскарад } }
- Дастгирии иловашуда барои пайваст кардани парчами соҳиб ба ҷадвал барои таъмини истифодаи истисноии ҷадвал тавассути раванд. Вақте ки раванд қатъ мешавад, ҷадвали бо он алоқаманд ба таври худкор нест карда мешавад. Маълумот дар бораи раванд дар қоидаҳои партов дар шакли шарҳ нишон дода мешавад: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; қабули сиёсат; бастаҳои муқобил 1 байт 309 } }
- Дастгирии иловашуда барои мушаххасоти IEEE 802.1ad (stacking VLAN ё QinQ), ки воситаи иваз кардани тегҳои сершумори VLAN-ро ба чаҳорчӯбаи ягонаи Ethernet муайян мекунад. Масалан, барои санҷидани намуди чаҳорчӯбаи берунии Ethernet 8021ad ва vlan id=342, шумо метавонед сохти ... ether type 802.1ad vlan id 342-ро барои санҷидани намуди берунии чаҳорчӯбаи Ethernet 8021ad/vlan id=1, дар дохили 802.1 истифода баред. q/vlan id=2 ва бастабандии минбаъдаи IP: ... навъи ether 8021ad vlan id 1 vlan навъи 8021q vlan id 2 vlan навъи ip counter
- Дастгирии иловашуда барои идоракунии захираҳо бо истифода аз гурӯҳҳои ягонаи иерархия v2. Тафовути калидӣ байни cgroups v2 ва v1 ин истифодаи иерархияи умумии гурӯҳҳо барои ҳама намудҳои захираҳо аст, ба ҷои иерархияи алоҳида барои тақсимоти захираҳои CPU, танзими истеъмоли хотира ва барои вуруд / баромад. Масалан, барои санҷидани он ки оё аҷдоди розетка дар сатҳи якуми cgroupv2 ба ниқоби "system.slice" мувофиқат мекунад, шумо метавонед аз сохти зерин истифода баред: ... socket cgroupv2 level 1 "system.slice"
- Добавлена возможность проверки составных частей пакетов SCTP (необходимая для работы функциональность появится в ядре Linux 5.14). Например, для проверки наличия в пакете chunk-а с типом ‘data’ и полем ‘type’: … sctp chunk data exists … sctp chunk data type 0
- Иҷрои амалиёти боркунии қоида бо истифода аз байрақи "-f" тақрибан ду маротиба суръат гирифт. Истехсоли руйхати коидахо низ тезонда шуд.
- Шакли паймоне барои санҷидани гузоштани битҳои парчам пешбинӣ шудааст. Масалан, барои санҷидани он, ки битҳои ҳолати snat ва dnat муқаррар нашудаанд, шумо метавонед муайян кунед: ... ct status ! snat,dnat барои санҷидани он, ки бити syn дар битниқоби syn,ack насб шудааст: ... tcp flags syn / syn,ack барои санҷидани он, ки битҳои fin ва аввал дар ниқоби бит танзим нашудаанд, syn,ack,fin,rst: ... парчамҳои tcp! = fin,rst / syn,ack,fin,rst
- Ба калимаи калидии "ҳукм" дар таърифҳои маҷмӯи/харитаи навъи иҷозат иҷозат диҳед: map xm { typeof iifname илова кунед. протоколи ip th dport: ҳукм ;}
Манбаъ: opennet.ru
