nftables packet filter versione 0.9.9

U filtru di pacchetti nftables 0.9.9 hè statu publicatu. Unifica l'interfacce di filtrazione di pacchetti per IPv4, IPv6, ARP è i ponti di rete (destinati à rimpiazzà iptables, ip6table, arptables è ebtables). A biblioteca libnftnl 1.2.0 chì l'accumpagna, chì furnisce una API di bassu livellu per interagisce cù u sottosistema nf_tables, hè stata publicata simultaneamente. I cambiamenti richiesti per nftables 0.9.9 sò stati incorporati in u kernel. Linux 5.13-rc1.

U pacchettu nftables cuntene i cumpunenti di filtru di pacchetti chì operanu in u spaziu utilizatore, mentre chì u travagliu à livellu di kernel hè furnitu da u sottosistema nf_tables, chì face parte di u kernel. Linux Dapoi a versione 3.13, solu una interfaccia generica indipendente da u protocolu hè furnita à u livellu di u kernel, chì furnisce funzionalità basiche per l'estrazione di dati da i pacchetti, l'esecuzione di operazioni di dati è u cuntrollu di flussu.

E regule di filtrazione stesse è i gestori specifichi di u protocolu sò compilati in bytecode in u spaziu utilizatore, dopu à quale questu bytecode hè caricatu in u kernel utilizendu l'interfaccia Netlink è eseguitu in u kernel in un modu speciale. macchina virtuale, chì ricorda BPF (Berkeley Packet Filters). Questu approcciu permette una riduzione significativa di a dimensione di u codice di filtrazione chì funziona à u livellu di u kernel è move tutta l'analisi di e regule è a logica di u protocolu in u spaziu di l'utente.

Innuvazioni principali:

  • A capacità di trasfurmà u processu di flowtable à u latu di l'adattatore di a rete hè stata implementata, attivata usendu a bandiera "offload". Flowtable hè un mecanismu per ottimisà u percorsu di redirezzione di u pacchettu, in quale u passaghju cumpletu di tutte e catene di processazione di regula hè appiicata solu à u primu pacchettu, è tutti l'altri pacchetti in u flussu sò trasmessi direttamente. table ip global { flowtable f { filtru di priorità di ingressu di ganciu + 1 dispusitivi = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward filtru di priorità; accetta a pulitica; protocolu ip { tcp, udp } flussu aghjunghje @f } catena post { type nat hook postrouting filtru di priorità; accetta a pulitica; oifname "wan" masquerade }}
  • Aghjunghje supportu per aghjunghje una bandiera di u pruprietariu à una tavola per assicurà l'usu esclusivu di a tavola da un prucessu. Quandu un prucessu finisci, a tavola assuciata cù questu hè automaticamente sguassata. L'infurmazione nantu à u prucessu hè visualizata in u dump di reguli in a forma di un cumentu: table ip x { # progname nft flags owner chain y { type filter hook input filter priority; accetta a pulitica; contatore di pacchetti 1 byte 309 } }
  • Supportu aghjuntu per a specificazione IEEE 802.1ad (VLAN stacking o QinQ), chì definisce un mezzu per rimpiazzà parechje tag VLAN in un unicu quadru Ethernet. Per esempiu, per verificà u tipu di quadru Ethernet esternu 8021ad è vlan id = 342, pudete aduprà a custruzzione ... ether type 802.1ad vlan id 342 per verificà u tipu esternu di frame Ethernet 8021ad/vlan id = 1, nidificatu 802.1 q/vlan id=2 è ulteriore incapsulazione di pacchetti IP: ... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type contatore ip
  • Aghjunghje supportu per a gestione di risorse utilizendu a gerarchia unificata cgroups v2. A diferenza chjave trà i cgroups v2 è v1 hè l'usu di una ghjerarchia di cgroups cumuni per tutti i tipi di risorse, invece di gerarchie separati per l'assignazione di risorse CPU, per regulà u cunsumu di memoria, è per I / O. Per esempiu, per verificà se l'antenatu di un socket à u primu livellu cgroupv2 currisponde à a maschera "system.slice", pudete aduprà a custruzzione: ... socket cgroupv2 level 1 "system.slice"
  • Aghjunta a capacità di verificà i cumpunenti di i pacchetti SCTP (a funziunalità necessaria per l'operazione apparirà in u kernel Linux 5.14). Per esempiu, per verificà s'ellu un pacchettu cuntene un chunk cù u tipu 'data' è u campu 'type': ... sctp chunk data exists ... sctp chunk data type 0
  • L'esekzione di l'operazione di carica di regula hè stata accelerata da circa duie volte utilizendu a bandiera "-f". A pruduzzioni di a lista di e regule hè stata ancu accelerata.
  • Hè furnita una forma compatta per verificà se i bit di bandiera sò setti. Per esempiu, per verificà chì i bits di statutu snat è dnat ùn sò micca stabiliti, pudete specificà: ... ct status ! snat,dnat per verificà chì u bit di syn hè stallatu in a maschera di bit syn,ack: ... tcp flags syn / syn,ack per verificà chì i bit fin è primi ùn sò micca impostati in a maschera di bit syn,ack,fin,rst: ... tcp flags = fin,rst / syn,ack,fin,rst
  • Permette a chjave "verdettu" in set / map typeof definizioni: aghjunghje map xm { typeof iifname . protocolu ip th dport : verdict ;}

Source: opennet.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster