nftables paka filtrilo 0.9.9 eldono

La pakaĵfiltrilo nftables 0.9.9 estis publikigita. Ĝi unuigas pakaĵfiltrilajn interfacojn por IPv4, IPv6, ARP, kaj retpontoj (celitaj kiel anstataŭaĵo por iptables, ip6table, arptables, kaj ebtables). La akompananta biblioteko libnftnl 1.2.0, kiu provizas malaltnivelan API-on por interagi kun la subsistemo nf_tables, estis publikigita samtempe. La ŝanĝoj necesaj por nftables 0.9.9 estis integritaj en la kernon. Linux 5.13-rc1.

La pakaĵo nftables enhavas la pakaĵfiltrilajn komponantojn, kiuj funkcias en uzantospaco, dum kerna-nivela laboro estas provizita de la subsistemo nf_tables, kiu estas parto de la kerno. Linux Ekde eldono 3.13, nur ĝenerala protokol-sendependa interfaco estas provizita je la kerna nivelo, provizante bazan funkciecon por eltiri datumojn el pakaĵetoj, plenumi datenoperaciojn kaj flukontrolon.

La filtraj reguloj mem kaj protokol-specifaj traktiloj estas kompilitaj en bajtkodon en uzantospaco, post kio ĉi tiu bajtkodo estas ŝarĝita en la kernon uzante la Netlink-interfacon kaj efektivigita en la kerno laŭ speciala maniero. virtuala maŝino, rememoriga pri BPF (Berkeley Packet Filters). Ĉi tiu aliro permesas signifan redukton en la grandeco de la filtra kodo funkcianta je la kerna nivelo kaj movas ĉian regulanalizon kaj protokollogikon en uzantospacon.

Ĉefaj novigoj:

  • La kapablo movi flutablan pretigon al la reto-adaptilo-flanko estis efektivigita, ebligita per la "malŝarĝo" flago. Flutabelo estas mekanismo por optimumigi la vojon de pakaĵeta redirekto, en kiu la kompleta trairejo de ĉiuj regulpretigĉenoj estas aplikita nur al la unua pakaĵeto, kaj ĉiuj aliaj pakaĵetoj en la fluo estas plusendita rekte. table ip global { flowtable f { hook ingress prioritatfiltrilo + 1 aparatoj = { lan3, lan0, wan } flagoj malŝarĝi } ĉeno antaŭen { tipo filtrilo hoko antaŭen prioritata filtrilo; politiko akcepti; ip protokolo { tcp, udp } flow add @f } ĉeno post { type nat hook postrouting prioritata filtrilo; politiko akcepti; oifnomo "malbona" ​​maskerado } }
  • Aldonita subteno por alligi posedanto-flagon al tablo por certigi ekskluzivan uzon de la tablo per procezo. Kiam procezo finiĝas, la tablo asociita kun ĝi estas aŭtomate forigita. Informoj pri la procezo estas montrata en la reguldump en formo de komento: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; politiko akcepti; nombrilo pakoj 1 bajtoj 309 } }
  • Aldonita subteno por la IEEE 802.1ad-specifo (VLAN-stakado aŭ QinQ), kiu difinas rimedon por anstataŭigi multoblajn VLAN-etikedojn en ununuran Ethernet-kadron. Ekzemple, por kontroli la tipon de ekstera Ethernet-kadro 8021ad kaj vlan id=342, vi povas uzi la konstruon ... ether type 802.1ad vlan id 342 por kontroli la eksteran tipon de Ethernet-kadro 8021ad/vlan id=1, nestita 802.1 q/vlan id=2 kaj plia IP-paka enkapsuligo: ... etero-tipo 8021ad vlan-id 1 vlan-tipo 8021q vlan-id 2 vlan-tipo ip counter
  • Aldonita subteno por administrado de rimedoj uzante la unuigitan hierarkiajn cgroups v2. La ŝlosila diferenco inter cgroups v2 kaj v1 estas la uzo de ofta cgroups-hierarkio por ĉiuj specoj de resursoj, anstataŭe de apartaj hierarkioj por asignado de CPU-resursoj, por reguligado de memorkonsumo, kaj por I/O. Ekzemple, por kontroli ĉu la praulo de ingo ĉe la unua nivelo cgroupv2 kongruas kun la masko "system.slice", vi povas uzi la konstruon: ... socket cgroupv2 nivelo 1 "system.slice"
  • Добавлена возможность проверки составных частей пакетов SCTP (необходимая для работы функциональность появится в ядре Linux 5.14). Например, для проверки наличия в пакете chunk-а с типом ‘data’ и полем ‘type’: … sctp chunk data exists … sctp chunk data type 0
  • La ekzekuto de la regulŝarĝa operacio estis akcelita proksimume dufoje uzante la flagon "-f". La eligo de la listo de reguloj ankaŭ estis akcelita.
  • Kompakta formo por kontroli ĉu flagbitoj estas fiksitaj estas disponigita. Ekzemple, por kontroli, ke la snat kaj dnat statusbitoj ne estas agordita, vi povas specifi: ... ct status ! snat,dnat por kontroli, ke la syn bito estas agordita en la bitmasko syn,ack: ... tcp flags syn / syn,ack por kontroli, ke la fin kaj unuaj bitoj ne estas agordita en la bitmasko syn,ack,fin,rst: ... tcp flags ! = fin,st / syn,ack,fin,st
  • Permesu la ŝlosilvorton "verdikto" en aro/mapspecodifinoj: aldonu map xm { typeof iifname . ip-protokolo th dport : verdikto ;}

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster