{"id":76505,"date":"2020-04-02T19:42:00","date_gmt":"2020-04-02T17:42:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-paketnogo-filtra-nftables-0-9-4"},"modified":"2020-04-02T19:42:00","modified_gmt":"2020-04-02T17:42:00","slug":"vypusk-paketnogo-filtra-nftables-0-9-4","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-4","title":{"rendered":"Erscheinung des Paketfilters nftables 0.9.4","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/marc.info\/?l=netfilter&#038;m=158575148505527&#038;w=2\">Ver\u00f6ffentlicht<\/a><\/noindex> Erscheinung des Paketfilters <noindex><a rel=\"nofollow\" href=\"https:\/\/netfilter.org\/projects\/nftables\/\">nftables 0.9.4<\/a><\/noindex>, der sich als Ersatz f\u00fcr iptables, ip6table, arptables und ebtables entwickelt, durch die Vereinheitlichung der Schnittstellen f\u00fcr die Paketfilterung f\u00fcr IPv4, IPv6, ARP und Netzwerkbr\u00fccken. In das Paket nftables sind Komponenten des Paketfilters integriert, die im Benutzerspeicher arbeiten, w\u00e4hrend auf Kernel-Ebene das Subsystem nf_tables bereitgestellt wird, das in den Linux-Kernel ab der Version 3.13 integriert ist. Die f\u00fcr die Funktion des Releases nftables 0.9.4 erforderlichen \u00c4nderungen sind im zuk\u00fcnftigen Kernel-Zweig enthalten. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52632\">Linux 5.6<\/a><\/noindex>.<\/p>\n<p>Auf Kernel-Ebene wird nur eine allgemeine Schnittstelle bereitgestellt, die unabh\u00e4ngig vom spezifischen Protokoll ist und grundlegende Funktionen zur Datenauslesung aus Paketen, zur Ausf\u00fchrung von Operationen mit Daten und zur Steuerung des Datenflusses bietet. Die tats\u00e4chlichen Filterregeln und protokollspezifischen Handler werden im Benutzerspeicher in Bytecode kompiliert und dann \u00fcber die Netlink-Schnittstelle in den Kernel geladen, wo dieser Bytecode in einer speziellen virtuellen Maschine ausgef\u00fchrt wird, die BPF (Berkeley Packet Filters) \u00e4hnelt. Dieser Ansatz erm\u00f6glicht es, die Gr\u00f6\u00dfe des im Kernel laufenden Filtercodes erheblich zu reduzieren und alle Funktionen zur Regelanalyse und Logik f\u00fcr die Protokollverarbeitung in den Benutzerspeicher auszulagern.<\/p>\n<p>Hauptneuheiten:\n<\/p>\n<ul>\n<li class=\"l\"> Unterst\u00fctzung von Bereichsangaben in Verbindungen (Konkatenation, bestimmte Adress- und Port-Bindungen, die die Zuordnung erleichtern). Zum Beispiel zeigt f\u00fcr die Menge \u201ewhitelist\u201c, deren Elemente eine Verbindung sind, die Angabe des Flags \u201einterval\u201c, dass die Menge Bereiche in der Verbindung enthalten kann (f\u00fcr die Verbindung \u201eipv4_addr . ipv4_addr . inet_service\u201c konnten zuvor genaue \u00dcbereinstimmungen wie \u201e192.168.10.35 . 192.68.11.123 . 80\u201c aufgelistet werden, jetzt k\u00f6nnen auch Adressgruppen wie \u201e192.168.10.35-192.168.10.40 . 192.68.11.123-192.168.11.125 . 80\u201c angegeben werden):\n<p>    Tabelle ip foo {<br \/>\n           set whitelist {<br \/>\n                   Typ ipv4_addr . ipv4_addr . inet_service<br \/>\n                   flags interval<br \/>\n                   Elemente = { 192.168.10.35-192.168.10.40 . 192.68.11.123-192.168.11.125 . 80 }<br \/>\n           }<\/p>\n<p>           Kette bar {<br \/>\n                   Typ filter hook prerouting Priorit\u00e4t filter; Richtlinie drop;<br \/>\n                   ip saddr . ip daddr . tcp dport @whitelist akzeptieren<br \/>\n           }<br \/>\n    }<\/p>\n<li class=\"l\"> In Mengen und Map-Listen wurde die M\u00f6glichkeit zur Verwendung der Direktive \u201etypeof\u201c eingef\u00fchrt, die das Format des Elements bei der Zuordnung bestimmt.<br \/>\n Zum Beispiel:<\/p>\n<p>     Tabelle ip foo {<br \/>\n            set whitelist {<br \/>\n                    typeof ip saddr<br \/>\n                    Elemente = { 192.168.10.35, 192.168.10.101, 192.168.10.135 }<br \/>\n            }<\/p>\n<p>            Kette bar {<br \/>\n                    Typ filter hook prerouting Priorit\u00e4t filter; Richtlinie drop;<br \/>\n                    ip daddr @whitelist akzeptieren<br \/>\n            }<br \/>\n     }<\/p>\n<p>     Tabelle ip foo {<br \/>\n            map addr2mark {<br \/>\n                typeof ip saddr : meta mark<br \/>\n                Elemente = { 192.168.10.35 : 0x00000001, 192.168.10.135 : 0x00000002 }<br \/>\n            }<br \/>\n     }<\/p>\n<li class=\"l\"> Die M\u00f6glichkeit zur Verwendung von Anh\u00e4ngen in NAT-Bindungen wurde hinzugef\u00fcgt, was es erm\u00f6glicht, Adresse und Port bei der Bestimmung von NAT-Transformationen basierend auf Map-Listen oder benannten Gruppen anzugeben:\n<p>      nft add rule ip nat pre dnat ip addr . port to ip saddr map { 1.1.1.1 : 2.2.2.2 . 30 }<\/p>\n<p>      nft add map ip nat destinations { type ipv4_addr . inet_service : ipv4_addr . inet_service \\;; }<br \/>\n      nft add rule ip nat pre dnat ip addr . port to ip saddr . tcp dport map @destinations<\/p>\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr Hardware-Beschleunigung durch Auslagerung einiger Filteroperationen auf die Netzwerkkarte. Die Beschleunigung wird \u00fcber das Tool ethtool (\u201aethtool -K eth0 hw-tc-offload on\u2018) aktiviert und anschlie\u00dfend in nftables f\u00fcr die Hauptkette mithilfe des Flags \u201eoffload\u201c aktiviert. Bei Verwendung des Linux-Kernels 5.6 wird Hardware-Beschleunigung f\u00fcr die Zuordnung von Headerfeldern und die \u00dcberpr\u00fcfung des eingehenden Interfaces in Kombination mit dem Empfangen, Verwerfen, Duplizieren (dup) und Weiterleiten (fwd) von Paketen unterst\u00fctzt. Im folgenden Beispiel werden die Verwerfungsoperationen von Paketen, die von der Adresse 192.168.30.20 stammen, auf der Ebene der Netzwerkkarte durchgef\u00fchrt, ohne die Pakete an den Kernel weiterzuleiten:\n<p>     # cat file.nft<br \/>\n     table netdev x {<br \/>\n            chain y {<br \/>\n                type filter hook ingress device eth0 priority 10; flags offload;<br \/>\n                ip saddr 192.168.30.20 drop<br \/>\n            }<br \/>\n     }<br \/>\n     # nft -f file.nft<\/p>\n<li class=\"l\"> Die Fehlermeldung zur Position des Fehlers in Regeln wurde verbessert.\n<p>     # nft delete rule ip y z handle 7<br \/>\n     Fehler: Regel konnte nicht verarbeitet werden: Datei oder Verzeichnis nicht gefunden<br \/>\n     delete rule ip y z handle 7<br \/>\n                    ^<\/p>\n<p>     # nft delete rule ip x x handle 7<br \/>\n     Fehler: Regel konnte nicht verarbeitet werden: Datei oder Verzeichnis nicht gefunden<br \/>\n     delete rule ip x x handle 7<br \/>\n                               ^<\/p>\n<p>     # nft delete table twst<br \/>\n     Error: Keine solche Datei oder Verzeichnis; meinten Sie Tabelle \u2018test\u2019 in der Familie ip?<br \/>\n     delete table twst<br \/>\n                  ^^^^<\/p>\n<p>Im ersten Beispiel wird gezeigt, dass die Tabelle \u201ey\u201c im System fehlt, im zweiten, dass der Handler \u201e7\u201c fehlt, und im dritten, dass eine Meldung zur Rechtschreibpr\u00fcfung beim Eingeben des Tabellennamens ausgegeben wird.<\/p>\n<li class=\"l\"> Die Unterst\u00fctzung f\u00fcr die \u00dcberpr\u00fcfung des Slave-Interfaces wurde durch die Angabe von \u201emeta sdif\u201c oder \u201emeta sdifname\u201c hinzugef\u00fcgt:\n<p>        \u2026 meta sdifname vrf1 \u2026<\/p>\n<li class=\"l\"> Unterst\u00fctzung f\u00fcr die Operation des Rechts- oder Linksschiebens hinzugef\u00fcgt. Zum Beispiel, um ein vorhandenes Paketmarke um 1 Bit nach links zu verschieben und das kleinste Bit auf 1 zu setzen:\n<p>        \u2026 meta mark set meta mark lshift 1 or 0x1 \u2026<\/p>\n<li class=\"l\"> Eine Option \u201e-V\u201c zur Anzeige erweiteter Versionsinformationen wurde implementiert.\n<p>     # nft -V<br \/>\n       nftables v0.9.4 (Jive at Five)<br \/>\n          cli:          readline<br \/>\n          json:         yes<br \/>\n          minigmp:      no<br \/>\n          libxtables:   yes<\/p>\n<li class=\"l\"> Befehlszeilenoptionen m\u00fcssen jetzt zwingend vor den Befehlen angegeben werden. Zum Beispiel muss \u201enft -a list ruleset\u201c angegeben werden, w\u00e4hrend \u201enft list ruleset -a\u201c zu einem Fehler f\u00fchrt.\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Quelle: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52656\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 nftables 0.9.4, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u043c\u0435\u043d\u044b iptables, ip6table, arptables \u0438 ebtables \u0437\u0430 \u0441\u0447\u0451\u0442 \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f IPv4, IPv6, ARP \u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043c\u043e\u0441\u0442\u043e\u0432. \u0412 \u043f\u0430\u043a\u0435\u0442 nftables \u0432\u0445\u043e\u0434\u044f\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 nf_tables, \u0432\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-76505","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-4\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 nftables 0.9.4 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-4\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-02T17:42:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-02T17:42:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ver\u00f6ffentlichung des Paketfilters nftables 0.9.4 | ProHoster","description":"Die Ver\u00f6ffentlichung des Paketfilters wurde ver\u00f6ffentlicht","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-4","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 nftables 0.9.4 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-4","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-02T17:42:00+00:00","article:modified_time":"2020-04-02T17:42:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"76505","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:35:41","updated":"2022-10-07 02:56:47","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/76505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=76505"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/76505\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=76505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=76505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=76505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}