nftables pakete iragazkiaren bertsioa 1.0.2

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

  • Arauen optimizazio modua gehitu da, "-o" ("--optimize") aukera berria erabiliz gaituta, "--check" aukerarekin konbina daiteke arau multzoko fitxategian aldaketak egiaztatzeko eta optimizatzeko, benetan kargatu gabe. . Optimizazioak antzeko arauak konbinatzeko aukera ematen du, adibidez, arauak: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 onar meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.5 accept ip saddr 1.1.1.1 ip daddr 2.2.2.2. .2.2.2.2 onartu ip saddr 3.3.3.3 ip daddr XNUMX drop

    iifname meta-n konbinatuko da. ip saddr. ip daddr { eth1 . 1.1.1.1. 2.2.2.3, eth1. 1.1.1.2. 2.2.2.5 } onartu ip saddr . ip daddr vmap { 1.1.1.1 . 2.2.2.2 : onartu, 2.2.2.2 . 3.3.3.3: jaitsi }

    Erabilera adibidea: # nft -c -o -f ruleset.test Bateratzea: ruleset.nft:16:3-37: ip daddr 192.168.0.1 counter accept ruleset.nft:17:3-37: ip daddr 192.168.0.2 counter accept ruleset.nft:18:3-37: ip daddr 192.168.0.3 counter onar ezazu: ip daddr { 192.168.0.1, 192.168.0.2, 192.168.0.3 } counter paketeak 0 byte 0 onartu

  • Multzo-zerrendek ip eta tcp aukerak zehazteko gaitasuna ezartzen dute, baita sctp zatiak ere: set s5 { typeof ip option ra value elements = { 1, 1024 } } set s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4 } } katea c5 { ip aukera ra balioa @s5 onartu } katea c7 { sctp chunk init num-inbound-streams @s7 onartu }
  • Fastopen, md5sig eta mptcp TCP aukeretarako laguntza gehitu da.
  • Mapetan mp-tcp azpimota erabiltzeko laguntza gehitu da: tcp aukera mptcp azpimota 1
  • Nukleoaren alboko iragazketa-kode hobetua.
  • Flowtablek orain JSON formatuarekin guztiz onartzen du.
  • Ethernet fotograma parekatzeko eragiketetan "baztertu" ekintza erabiltzeko gaitasuna eman da. ether saddr aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 baztertu

Iturria: opennet.ru

Gehitu iruzkin berria