nftables 0.9.9 pakete-iragazkia kaleratu da. IPv4, IPv6, ARP eta sare-zubietarako pakete-iragazkien interfazeak bateratzen ditu (iptables, ip6table, arptables eta ebtables-en ordezko gisa pentsatuta). Aldi berean kaleratu da libnftnl 1.2.0 liburutegia, nf_tables azpisistemarekin elkarreragiteko behe-mailako API bat eskaintzen duena. nftables 0.9.9-rako beharrezkoak diren aldaketak kernelean sartu dira. Linux 5.13-rc1.
nftables paketeak erabiltzaile-espazioan funtzionatzen duten pakete-iragazkien osagaiak ditu, eta kernel mailako lana nf_tables azpisistemak egiten du, hau kernelaren parte dena. Linux 3.13 bertsiotik aurrera, kernel mailan protokoloarekiko independentea den interfaze generiko bat baino ez da eskaintzen, paketeetatik datuak ateratzeko, datu eragiketak egiteko eta fluxuaren kontrola egiteko oinarrizko funtzionalitatea eskainiz.
Iragazketa-arauak berak eta protokolo espezifikoen kudeatzaileak bytecodean konpilatzen dira erabiltzaile-espazioan, eta ondoren bytecode hau kernelean kargatzen da Netlink interfazea erabiliz eta kernelean modu berezi batean exekutatzen da. makina birtuala, BPF (Berkeley Packet Filters) gogorarazten duena. Ikuspegi honek kernel mailan exekutatzen den iragazketa kodearen tamaina nabarmen murriztea ahalbidetzen du eta arauen analisi eta protokolo logika guztiak erabiltzaile espaziora eramaten ditu.
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 (funtzionamendurako beharrezko funtzionalitatea kernelean agertuko da) Linux 5.14). Adibidez, pakete batek 'datu' motako zati bat eta 'mota' eremua dituen egiaztatzeko: … sctp zati datu bat existitzen da … sctp zati 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
