nftables pakete iragazkiaren bertsioa 1.0.1

Packet filter nftables 1.0.1 kaleratzea argitaratu da, IPv4, IPv6, ARP eta sare-zubietarako paketeak iragazteko interfazeak bateratuz (iptables, ip6table, arptables eta ebtables ordezkatzera zuzenduta). nftables 1.0.1 bertsioak funtziona dezan beharrezkoak diren aldaketak Linux 5.16-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:

  • Memoria-kontsumoa murriztu da multzo eta mapa-zerrenda handiak kargatzean.
  • Multzoen eta mapen zerrenden birkargatzea bizkortu da.
  • Arau multzo handietan hautatutako taulen eta kateen irteera azkartu egin da. Adibidez, "nft list ruleset" komandoaren exekuzio-denbora 100 mila errenkada dituen arau-multzo bat bistaratzeko 3.049 segundokoa da, eta nat eta iragazkien taulak soilik ateratzen direnean ("nft list table nat", "nft list table filter". ”) 1.969 eta 0.697 segundora murrizten da.
  • "--terse" aukera duten kontsulten exekuzioa bizkortu egin da multzo eta mapa-zerrenda handiak dituzten arauak prozesatzen direnean.
  • Posible da "irteera" kateko trafikoa iragaztea, netdev kateko irteera-kudeatzailearen maila berean prozesatzen dena (irteera-kakoa), hau da. gidariak nukleoko sare pilatik pakete bat jasotzen duen fasean. table netdev filter { chain egress { type filter hook egress devices = { eth0, eth1 } lehentasuna 0; meta lehentasuna ezarri ip saddr mapa { 192.168.10.2 : abcd:2, 192.168.10.3 : abcd:3 } } }
  • Desplazamendu jakin batean pakete baten goiburuko eta edukiko byteak bat etortzea eta aldatzea ahalbidetzen du. # nft gehitu araua x y @ih,32,32 0x14000000 kontagailua # nft gehitu araua x y @ih,32,32 ezarri 0x14000000 kontagailua

Iturria: opennet.ru

Gehitu iruzkin berria