nftables packet filter release 0.9.9

O le tuʻuina atu o le packet filter nftables 0.9.9 ua faʻasalalau, faʻapipiʻi fesoʻotaʻiga faʻapipiʻi packet mo IPv4, IPv6, ARP ma alalaupapa fesoʻotaʻiga (faʻamoemoe e sui iptables, ip6table, arptables ma ebtables). I le taimi lava e tasi, o le faʻasalalauga o le potutusi soa libnftnl 1.2.0 na faʻasalalau, e maua ai se API maualalo mo le fegalegaleai ma le nf_tables subsystem. O suiga e manaʻomia mo le faʻasaʻoina o le nftables 0.9.9 e galue o loʻo aofia i le Linux kernel 5.13-rc1.

O le afifi nftables e aofia ai vaega faamama packet o loʻo taʻavale i avanoa faʻaoga, aʻo tuʻuina atu le galuega kernel-level e le nf_tables subsystem, lea na avea ma vaega o le Linux kernel talu mai le tatalaina o le 3.13. Ole maualuga ole kernel e maua ai na'o se fa'aoga tuto'atasi tuto'atasi lautele e maua ai galuega fa'avae mo le su'eina o fa'amaumauga mai fa'amaumauga, fa'atinoina o fa'amaumauga, ma le pulea o le tafe.

O tulafono faʻamama latou lava ma faʻatautaia faʻapitoa faʻapitoa e tuʻufaʻatasia i le user-space bytecode, pe a maeʻa ona utaina lenei bytecode i totonu o le fatu e faʻaaoga ai le Netlink interface ma faʻatino i totonu o le fatu i se masini faʻapitoa faʻapitoa e pei o le BPF (Berkeley Packet Filters). O lenei faiga e mafai ai ona faʻaitiitia le tele o le numera o le faʻaogaina o loʻo taʻavale i le kernel level ma faʻagasolo uma galuega o tulafono faʻasalalau ma le faʻaogaina o le galue faʻatasi ma protocols i avanoa faʻaoga.

Autu fa'afouga:

  • Ua fa'atinoina le mafai ona fa'agasolo le fa'agaoioiga fa'agasolo i le itu feso'ota'iga feso'ota'iga, ua mafai ai ona fa'aogaina le fu'a 'offload'. Flowtable o se masini mo le faʻaleleia atili o le ala o le toe faʻafeiloaʻi o pusa, lea e faʻaoga saʻo ai le faʻaogaina o filifili uma e faʻatautaia tulafono i le pepa muamua, ma o isi pepa uma o loʻo i totonu o le tafe e lafo saʻo. laulau ip i le lalolagi atoa { flowtable f { fa'amama fa'aulufale fa'amuamua + 1 masini = {lan3, lan0, wan } fu'a offload } filifili i luma { fa'amama fa'amama fa'amuamua fa'amuamua; talia faiga faavae; ip protocol {tcp, udp } flow add @f } chain post { type nat hook postrouting priority filter; talia faiga faavae; oifname "wan" faafoliga }}
  • Fa'aopoopo le lagolago mo le fa'apipi'iina o se fu'a e ona le laulau i luga o le laulau ina ia fa'amautinoa le fa'aogaina fa'apitoa o le laulau i se faiga. A fa'amutaina se fa'agasologa, e otometi lava ona tape le laulau e fa'atatau i ai. O fa'amatalaga e uiga i le fa'agaioiga o lo'o fa'aalia i le tu'uina atu o tulafono i le tulaga o se fa'amatalaga: laulau ip x { # progname nft fu'a pule filifili y { type filter hook input priority filter; talia faiga faavae; pusa fa'atau 1 paita 309 } }
  • Faʻaopoopo le lagolago mo le faʻamatalaga IEEE 802.1ad (VLAN stacking poʻo QinQ), lea e faʻamatalaina ai se auala e sui ai le tele o pine VLAN i se faʻavaa Ethernet tasi. Mo se faʻataʻitaʻiga, e siaki le ituaiga o fafo Ethernet frame 8021ad ma vlan id = 342, e mafai ona e faʻaogaina le fausiaina ... ether type 802.1ad vlan id 342 e siaki ai le ituaiga fafo o le Ethernet frame 8021ad / vlan id = 1, nested 802.1 q/vlan id=2 ma isi fa'aputuga o pusa IP: ... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
  • Fa'aopoopoina le lagolago mo le fa'afoeina o puna'oa e fa'aaoga ai le tu'ufa'atasi o vaega fa'atonu v2. O le eseesega autu i le va o cgroups v2 ma le v1 o le faʻaaogaina o se faʻasologa masani o vaega mo ituaiga uma o punaoa, nai lo le tuʻufaʻatasia o faʻatonuga mo le tuʻufaʻatasia o punaoa CPU, mo le faʻatonutonuina o le taumafaina manatua, ma mo le I/O. Mo se faʻataʻitaʻiga, e siaki pe o le tuaa o se socket i le tulaga muamua cgroupv2 e fetaui ma le "system.slice" mask, e mafai ona e faʻaogaina le fausiaina: ... socket cgroupv2 level 1 "system.slice"
  • Faʻaopoopo le gafatia e siaki vaega o paʻu SCTP (o galuega e manaʻomia mo lenei mea o le a faʻaalia i le Linux kernel 5.14). Mo se faʻataʻitaʻiga, e siaki pe o iai i totonu o se pusa se pusa ma le ituaiga 'faʻamatalaga' ma le fanua 'ituaiga': ... sctp chunk data o loʻo i ai ... sctp chunk data type 0
  • O le faʻatinoina o le faʻatonuga o le utaina o tulafono ua faʻavaveina e tusa ma le lua taimi e faʻaaoga ai le fuʻa "-f". Ua faatelevaveina foi le faatinoga o le lisi o tulafono.
  • O se pepa fa'akomepiuta mo le siakiina pe ua fa'atulaga fasi fu'a. Mo se faʻataʻitaʻiga, e siaki pe o le snat ma le dnat status bits e le o setiina, e mafai ona e faʻamaonia: ... ct status ! snat,dnat e siaki pe o le syn bit o loʻo seti i le bitmask syn,ack: ... tcp flags syn / syn,ack e siaki ai e le o setiina le fin ma le first bits i le bitmask syn,ack,fin,rst: ... tcp fu'a! = fin,rst / syn,ack,fin,rst
  • Fa'ataga le upu "fa'amasinoga" e fa'aoga ile seti/fa'afanua ituaiga fa'amatalaga: fa'aopoopo fa'afanua xm {ituaiga iifname . ip protocol th dport: fa'amasinoga;}

puna: opennet.ru

Faaopoopo i ai se faamatalaga