nftables pakete iragazkiaren bertsioa 0.9.9

Packet filter nftables 0.9.9 kaleratzea argitaratu da, IPv4, IPv6, ARP eta sare-zubietarako paketeak iragazteko interfazeak bateratuz (iptables, ip6table, arptables eta ebtables ordezkatzera zuzenduta). Aldi berean, libnftnl 1.2.0 liburutegi osagarriaren bertsioa argitaratu zen, nf_tables azpisistemarekin elkarreragiteko maila baxuko API bat eskainiz. nftables 0.9.9 bertsioak funtziona dezan behar diren aldaketak Linux 5.13-rc1 nukleoan sartzen dira.

nftables paketeak erabiltzailearen espazioan exekutatzen diren pakete-iragazki osagaiak biltzen ditu, kernel mailako lana, berriz, nf_tables azpisistemak eskaintzen du, 3.13 bertsiotik Linux nukleoaren parte izan dena. Nukleo mailak protokolotik independentea den interfaze generiko bat eskaintzen du, paketeetatik datuak ateratzeko, datu-eragiketak egiteko eta fluxu-kontrolerako oinarrizko funtzioak eskaintzen dituena.

Iragazte-arauak eta protokoloen berariazko kudeatzaileak bytecode batean konpilatzen dira erabiltzailearen espazioan, eta, ondoren, bytecode hau nukleoan kargatzen da Netlink interfazea erabiliz eta nukleoan exekutatzen da BPF (Berkeley Packet Filters) gogorarazten duen makina birtual berezi batean. Ikuspegi honek nukleo mailan exekutatzen den iragazketa-kodearen tamaina nabarmen murrizteko eta protokoloekin lan egiteko analisi-arauak eta logika funtzio guztiak erabiltzaileen espaziora mugitzeko aukera ematen du.

Berrikuntza nagusiak:

  • Fluxu-taularen prozesamendua sare-egokitzailearen aldean mugitzeko gaitasuna ezarri da, 'deskargatu' bandera erabiliz gaituta. Flowtable paketeen birbideratzeko bidea optimizatzeko mekanismo bat da, non arauen prozesatzeko kate guztien igarotze osoa lehen paketeari soilik aplikatzen zaio eta fluxuko gainerako pakete guztiak zuzenean birbidaltzen zaizkio. table ip global { flowtable f { hook ingress lehentasun-iragazkia + 1 gailu = { lan3, lan0, wan } flags offload } chain forward { motako iragazkia hook aurrera lehentasun-iragazkia; politika onartu; ip protokoloa { tcp, udp } flow add @f } chain post { mota nat hook postrouting lehentasun-iragazkia; politika onartu; oifname "wan" maskarada }}
  • Jabearen bandera bat mahai bati eransteko laguntza gehitu da, prozesu batek taularen erabilera esklusiboa bermatzeko. Prozesu bat amaitzen denean, horri lotutako taula automatikoki ezabatzen da. Prozesuari buruzko informazioa iruzkin baten moduan bistaratzen da arauen zabortegian: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; politika onartu; kontagailu paketeak 1 byte 309 } }
  • IEEE 802.1ad zehaztapenerako (VLAN pilaketa edo QinQ) euskarria gehitu da, VLAN etiketa anitz Ethernet marko bakar batean ordezkatzeko bitarteko bat definitzen duena. Adibidez, kanpoko Ethernet marko 8021ad eta vlan id=342 mota egiaztatzeko, eraikuntza erabil dezakezu ... ether type 802.1ad vlan id 342 Ethernet marko kanpoko mota egiaztatzeko 8021ad/vlan id=1, habiaratuta 802.1 q/vlan id=2 eta IP paketeen kapsulatze gehiago: ... ether mota 8021ad vlan id 1 vlan mota 8021q vlan id 2 vlan mota ip kontagailua
  • Baliabideak kudeatzeko laguntza gehitu da hierarkia bateratua cgroups v2 erabiliz. cgroups v2 eta v1-en arteko desberdintasun nagusia baliabide mota guztietarako cgroups hierarkia komun bat erabiltzea da, CPU baliabideak esleitzeko, memoria-kontsumoa erregulatzeko eta I/Orako hierarkia bereizien ordez. Adibidez, lehen mailan cgroupv2 socket baten arbasoa β€œsystem.slice” maskararekin bat datorren egiaztatzeko, eraikuntza hau erabil dezakezu: ... socket cgroupv2 maila 1 β€œsystem.slice”
  • SCTP paketeen osagaiak egiaztatzeko gaitasuna gehitu da (horretarako behar den funtzionaltasuna Linux kernel 5.14-n agertuko da). Adibidez, pakete batek 'data' motako zati bat duen eta 'mota' eremua duen egiaztatzeko: ... sctp chunk datuak existitzen diren ... sctp chunk datu mota 0
  • Arauak kargatzeko eragiketaren exekuzioa bi aldiz gutxi gorabehera bizkortu da "-f" bandera erabiliz. Arauen zerrendaren irteera ere azkartu egin da.
  • Bandera-bitak ezarrita dauden egiaztatzeko inprimaki trinko bat eskaintzen da. Adibidez, snat eta dnat egoera-bitak ezarrita ez daudela egiaztatzeko, zehaztu dezakezu: ... ct status ! snat,dnat syn bit-a bitmaskinean ezarrita dagoela egiaztatzeko syn,ack: ... tcp flags syn / syn,ack fin eta lehen bit-ak ez daudela bitmaskaren syn,ack,fin,rst egiaztatzeko: ... tcp banderak ! = fin,lehen / syn,ack,fin,lehen
  • Onartu "epaia" gako-hitza multzo/mapa motako definizioetan: gehitu mapa xm { typeof iifname . ip protokoloa th dport: epaia ;}

Iturria: opennet.ru

Gehitu iruzkin berria