Veröffentlichung des Paketfilters nftables 1.0.5

Die Veröffentlichung der Paketfilter nftables 1.0.5 wurde bekannt gegeben, die die Schnittstellen zur Paketfilterung fĂŒr IPv4, IPv6, ARP und NetzwerkbrĂŒcken vereinheitlicht (zielt darauf ab, iptables, ip6table, arptables und ebtables zu ersetzen). Gleichzeitig wurde die Veröffentlichung der begleitenden Bibliothek libnftnl 1.2.3 veröffentlicht, die eine niedrigstufige API zur Interaktion mit dem nf_tables-Subsystem bietet.

Das Paket nftables umfasst Komponenten des Paketfilters, die im Benutzermodus arbeiten, wĂ€hrend auf Kernel-Ebene das Subsystem nf_tables, das seit Version 3.13 Teil des Linux-Kernels ist, die Arbeit bereitstellt. Auf Kernel-Ebene wird nur eine allgemeine Schnittstelle bereitgestellt, die unabhĂ€ngig vom spezifischen Protokoll ist und grundlegende Funktionen zum Extrahieren von Daten aus Paketen, AusfĂŒhren von Datenoperationen und Steuern des Flusses bietet.

Die eigentlichen Filterregeln und protokollspezifischen Handler werden im Benutzermodus in Bytecode kompiliert, danach wird dieser Bytecode ĂŒber die Netlink-Schnittstelle in den Kernel geladen und dort in einem speziellen virtuellen Maschine, der an BPF (Berkeley Packet Filters) erinnert, ausgefĂŒhrt. Dieser Ansatz ermöglicht es, die GrĂ¶ĂŸe des im Kernel arbeitenden Filtercodes erheblich zu reduzieren und alle Funktionen zur Regel-Parsing und zur Logik der Protokollverarbeitung in den Benutzermodus auszulagern.

HauptÀnderungen:

  • Im Regeloptimierer, der beim Angeben der Option „-o/—optimize“ aufgerufen wird, wurden Probleme bei der ZusammenfĂŒhrung von Regeln, Map- und Set-Listen behoben. # cat ruleset.nft table ip x { chain y { type nat hook postrouting priority srcnat; policy drop; ip saddr 1.1.1.1 tcp dport 8000 snat to 4.4.4.4:80 ip saddr 2.2.2.2 tcp dport 8001 snat to 5.5.5.5:90 } } # nft -o -c -f ruleset.nft Merging: ruleset.nft:4:3-52: ip saddr 1.1.1.1 tcp dport 8000 snat to 4.4.4.4:80 ruleset.nft:5:3-52: ip saddr 2.2.2.2 tcp dport 8001 snat to 5.5.5.5:90 into: snat to ip saddr . tcp dport map { 1.1.1.1 . 8000 : 4.4.4.4 . 80, 2.2.2.2 . 8001 : 5.5.5.5 . 90 }
  • Bei der ZusammenfĂŒhrung von Ethernet- und VLAN-Elementen wurde die Definition einer dynamischen Set-Liste ermöglicht, die auf den Paketpfadparametern basiert. add table netdev x add chain netdev x y { type filter hook ingress device enp0s25 priority 0; } add set netdev x macset { typeof ether daddr . vlan id; flags dynamic,timeout; } add rule netdev x y update @macset { ether daddr . vlan id timeout 60s } add rule netdev x y ether saddr . vlan id { 0a:0b:0c:0d:0e:0f . 42, 0a:0b:0c:0d:0e:0f . 4095 } counter accept
  • Die Anzeige von Regeln mit Map-Listen, die Masken in Schnittstellennamen enthalten, wurde eingerichtet. table inet filter { chain INPUT { iifname vmap { „eth0“ : jump input_lan, „wg*“ : jump input_vpn } } chain input_lan {} chain input_vpn {} }
  • Regressive Änderungen, die zu einer falschen lexikalischen Analyse gĂŒltiger Regeln fĂŒhrten, wurden behoben.
  • Probleme mit der langsamen Verarbeitung und dem automatischen Merging von großen Listen mit Elementen, die Wertebereiche definieren, wurden behoben.
  • Ein Absturz beim HinzufĂŒgen von Elementen zu einer ungĂŒltigen Set-Liste wurde behoben.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster