Izdaja paketnega filtra nftables 0.9.9

Izdan je bil paketni filter nftables 0.9.9. Združuje vmesnike za filtriranje paketov za IPv4, IPv6, ARP in omrežne mostove (namenjene kot zamenjava za iptables, ip6table, arptables in ebtables). Hkrati je bila izdana tudi spremljajoča knjižnica libnftnl 1.2.0, ki zagotavlja nizkonivojski API za interakcijo s podsistemom nf_tables. Spremembe, potrebne za nftables 0.9.9, so bile vključene v jedro. Linux 5.13-rc1.

Paket nftables vsebuje komponente filtra paketov, ki delujejo v uporabniškem prostoru, medtem ko delo na ravni jedra zagotavlja podsistem nf_tables, ki je del jedra. Linux Od izdaje 3.13 je na ravni jedra na voljo le generičen vmesnik, neodvisen od protokola, ki zagotavlja osnovno funkcionalnost za pridobivanje podatkov iz paketov, izvajanje podatkovnih operacij in nadzor pretoka.

Pravila filtriranja sama in protokolno specifični obdelovalci se v uporabniškem prostoru prevedejo v bajtno kodo, nato pa se ta bajtna koda z vmesnikom Netlink naloži v jedro in se v jedru izvede v posebnem virtualni stroj, ki spominja na BPF (Berkeley Packet Filters). Ta pristop omogoča znatno zmanjšanje velikosti kode za filtriranje, ki se izvaja na ravni jedra, in premakne vso razčlenjevanje pravil in logiko protokola v uporabniški prostor.

Glavne novosti:

  • Implementirana je bila zmožnost premikanja obdelave tabele poteka na stran omrežnega vmesnika, omogočena z uporabo zastavice 'offload'. Flowtable je mehanizem za optimizacijo poti preusmeritve paketov, pri katerem se celoten prehod vseh verig obdelave pravil uporabi le za prvi paket, vsi ostali paketi v toku pa se posredujejo neposredno naprej. tabela ip global { flowtable f { hook ingress priority filter + 1 devices = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward prednostni filter; politika sprejeti; ip protokol { tcp, udp } tok add @f } verižna objava { tip nat hook postrouting prednostni filter; politika sprejeti; oifname "wan" maškarada } }
  • Dodana podpora za pripenjanje lastniške zastavice na tabelo, da se zagotovi izključna uporaba tabele s strani procesa. Ko se proces zaključi, se z njim povezana tabela samodejno izbriše. Informacije o procesu so prikazane v izpisu pravil v obliki komentarja: tabela ip x { # progname nft flags owner chain y { type filter hook input priority filter; politika sprejeti; števec paketov 1 bajt 309 } }
  • Dodana podpora za specifikacijo IEEE 802.1ad (zlaganje VLAN ali QinQ), ki definira način za zamenjavo več oznak VLAN v en okvir Ethernet. Če želite na primer preveriti vrsto zunanjega okvirja Ethernet 8021ad in vlan id=342, lahko uporabite konstrukcijo ... ether type 802.1ad vlan id 342 za preverjanje zunanje vrste okvirja Ethernet 8021ad/vlan id=1, ugnezdeni 802.1 q/vlan id=2 in nadaljnja inkapsulacija paketa IP: ... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
  • Dodana podpora za upravljanje virov z uporabo enotne hierarhije cgroups v2. Ključna razlika med cgroups v2 in v1 je uporaba skupne hierarhije cgroups za vse vrste virov, namesto ločenih hierarhij za dodeljevanje virov CPE, za uravnavanje porabe pomnilnika in za I/O. Če želite na primer preveriti, ali se prednik vtičnice na prvi ravni cgroupv2 ujema z masko »system.slice«, lahko uporabite konstrukcijo: ... socket cgroupv2 ravni 1 »system.slice«
  • Dodana možnost preverjanja komponent paketov SCTP (funkcionalnost, potrebna za delovanje, se bo prikazala v jedru) Linux 5.14). Na primer, če želite preveriti, ali paket vsebuje del s tipom 'data' in poljem 'type': … sctp chunk data exists … sctp chunk data type 0
  • Izvajanje operacije nalaganja pravila je bilo pospešeno za približno dvakrat z uporabo zastavice »-f«. Pospešen je bil tudi izpis seznama pravil.
  • Na voljo je kompakten obrazec za preverjanje, ali so zastavice nastavljene. Če želite na primer preveriti, ali statusna bita snat in dnat nista nastavljena, lahko podate: ... ct status ! snat,dnat za preverjanje, ali je bit syn nastavljen v bitni maski syn,ack: ... zastavice tcp syn / syn,ack za preverjanje, ali bit fin in prvi nista nastavljena v bitni maski syn,ack,fin,rst: ... zastavice tcp ! = fin,rst / syn,ack,fin,rst
  • Dovoli ključno besedo "razsodba" v definicijah tipa set/map: add map xm { typeof iifname. protokol ip th dport : razsodba ;}

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster