{"id":35676,"date":"2019-10-31T22:05:42","date_gmt":"2019-10-31T19:05:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-paketnogo-filtra-nftables-0-9-1\/"},"modified":"2019-10-31T22:05:42","modified_gmt":"2019-10-31T19:05:42","slug":"vypusk-paketnogo-filtra-nftables-0-9-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","title":{"rendered":"Release van het pakketfilter nftables 0.9.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Na een jaar van ontwikkeling <noindex><a rel=\"nofollow\" href=\"https:\/\/marc.info\/?l=netfilter&#038;m=156139496810281\">is gepresenteerd<\/a><\/noindex> pakketfilterrelease <noindex><a rel=\"nofollow\" href=\"https:\/\/netfilter.org\/projects\/nftables\/\">nftables 0.9.1<\/a><\/noindex>, dat zich ontwikkelt als vervanging voor iptables, ip6tables, arptables en ebtables door middel van het unificeren van de interface voor pakketfiltering voor IPv4, IPv6, ARP en netwerkschakels. Het nftables-pakket omvat componenten van de pakketfilter die in de gebruikersruimte werken, terwijl op kernel-niveau de nf_tables-subsystem die deel uitmaakt van de Linux-kernel sinds release 3.13 de functionaliteit biedt. <\/p>\n<p>Op kernelniveau wordt enkel een algemene interface aangeboden, onafhankelijk van het specifieke protocol, die basisfunctionaliteiten biedt voor het extraheren van gegevens uit pakketten, het uitvoeren van datamanipulaties en het beheren van stromen.<br \/>\nDe filteringlogica en protocol-specifieke verwerkers worden gecompileerd naar bytecode in de gebruikersruimte, waarna deze bytecode via de Netlink-interface in de kernel wordt geladen en wordt uitgevoerd in een speciale virtuele machine, vergelijkbaar met BPF (Berkeley Packet Filters). Deze benadering maakt het mogelijk de hoeveelheid filteringcode die op kernelniveau draait aanzienlijk te verkleinen en alle functies voor regelparsing en protocollogica naar de gebruikersruimte te verplaatsen.<\/p>\n<p>Belangrijkste vernieuwingen:<\/p>\n<ul>\n<li class=\"l\"> Ondersteuning voor IPsec, waardoor er adresmatching van tunnels kan plaatsvinden op basis van pakketten, IPsec-verzoekidentificatie en SPI-tag (Security Parameter Index). Bijvoorbeeld,\n<p>      ... ipsec in ip saddr 192.168.1.0\/24<br \/>\n      ... ipsec in spi 1-65536<\/p>\n<p>Ook is het mogelijk om de route door de IPsec-tunnel te controleren. Bijvoorbeeld, om verkeer dat niet via IPSec gaat te blokkeren: <\/p>\n<p>      ... filter output rt ipsec missing drop<\/p>\n<li class=\"l\"> Ondersteuning voor het IGMP-protocol (Internet Group Management Protocol). Bijvoorbeeld, om binnenkomende IGMP-lidmaatschapsverzoeken weg te gooien, kan de regel worden gebruikt:\n<p>      nft add rule netdev foo bar igmp type membership-query counter drop<\/p>\n<li class=\"l\"> Mogelijkheid om variabelen te gebruiken voor het bepalen van overgangketens (jump \/ goto). Bijvoorbeeld:\n<p>      define dest = ber<br \/>\n      add rule ip foo bar jump $dest<\/p>\n<li class=\"l\"> Ondersteuning voor maskers voor het identificeren van besturingssystemen (OS Fingerprint) op basis van TTL-waarden in de header. Bijvoorbeeld, om pakketten te markeren afhankelijk van het besturingssysteem van de verzender, kan het volgende commando worden gebruikt:\n<p>    ... meta mark set osf ttl skip name map { \u00abLinux\u00bb : 0x1,<br \/>\n                                              \u00abWindows\u00bb : 0x2,<br \/>\n                                              \u00abMacOS\u00bb : 0x3,<br \/>\n                                              \u00abunknown\u00bb : 0x0 }<br \/>\n    ... osf ttl skip version \u00abLinux:4.20\u00bb<\/p>\n<li class=\"l\"> Mogelijkheid om het ARP-adres van de verzender en het IPv4-adres van het doelsysteem overeen te brengen. Bijvoorbeeld, om de ARP-pakketten die zijn verzonden vanaf het adres 192.168.2.1 te tellen, kan de regel worden gebruikt:\n<p>        table arp x {<br \/>\n                chain y {<br \/>\n                        type filter hook input priority filter; policy accept;<br \/>\n                        arp saddr ip 192.168.2.1 counter packets 1 bytes 46<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Ondersteuning voor transparante doorlating van verzoeken via een proxy (tproxy). Bijvoorbeeld, voor het omleiden van aanvragen naar poort 80 naar de proxypoort 8080:\n<p>        table ip x {<br \/>\n                chain y {<br \/>\n                        type filter hook prerouting priority -150; policy accept;<br \/>\n                        tcp dport 80 tproxy to :8080<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Ondersteuning voor het markeren van sockets met de mogelijkheid om de ingestelde markering later op te halen via setsockopt() in de SO_MARK-modus. Bijvoorbeeld:\n<p>        table inet x {<br \/>\n                chain y {<br \/>\n                        type filter hook prerouting priority -150; policy accept;<br \/>\n                        tcp dport 8080 mark set socket mark<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Ondersteuning voor het opgeven van tekstuele namen voor prioriteiten bij ketens. Bijvoorbeeld:\n<p>        nft add chain ip x raw { type filter hook prerouting priority raw; }<br \/>\n        nft add chain ip x filter { type filter hook prerouting priority filter; }<br \/>\n        nft add chain ip x filter_later { type filter hook prerouting priority filter + 10; }<\/p>\n<li class=\"l\"> Ondersteuning voor SELinux-labels (Secmark). Bijvoorbeeld, om het label \u00absshtag\u00bb te defini\u00ebren in de context van SELinux, kunt u uitvoeren:\n<p>         nft add secmark inet filter sshtag \u00absystem_u:object_r:ssh_server_packet_t:s0\u00bb<\/p>\n<p>En gebruik vervolgens deze markering in de regels:<\/p>\n<p>        nft add rule inet filter input tcp dport 22 meta secmark set \u00absshtag\u00bb<\/p>\n<p>        nft add map inet filter secmapping { type inet_service : secmark; }<br \/>\n        nft add element inet filter secmapping { 22 : \u00absshtag\u00bb }<br \/>\n        nft add rule inet filter input meta secmark set tcp dport map @secmapping<\/p>\n<li class=\"l\"> Mogelijkheid om protocollen aan ports toe te wijzen in tekstvorm, zoals gedefinieerd in het bestand \/etc\/services. Bijvoorbeeld:\n<p>        nft add rule x y tcp dport \u00abssh\u00bb<br \/>\n        nft list ruleset -l<br \/>\n        table x {<br \/>\n                chain y {<br \/>\n                        \u2026<br \/>\n                        tcp dport \u00abssh\u00bb<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Mogelijkheid om het type netwerkinterface te controleren. Bijvoorbeeld:\n<p>        add rule inet raw prerouting meta iifkind \u00abvrf\u00bb accept<\/p>\n<li class=\"l\"> Verbeterde ondersteuning voor dynamische updates van sets door expliciet de \u00abdynamic\u00bb vlag op te geven. Bijvoorbeeld, om de set \u00abs\u00bb bij te werken met het toevoegen van het bronadres en het resetten van het record in geval van afwezigheid van pakketten gedurende 30 seconden:\n<p>        add table x<br \/>\n        add set x s { type ipv4_addr; size 128; timeout 30s; flags dynamic; }<br \/>\n        add chain x y { type filter hook input priority 0; }<br \/>\n        add rule x y update @s { ip saddr }<\/p>\n<li class=\"l\"> Mogelijkheid om een aparte voorwaarde voor een timeout in te stellen. Bijvoorbeeld, om de standaard timeout voor pakketten die op poort 8888 binnenkomen te overschrijven kan het volgende worden opgegeven:\n<p>        table ip filter {<br \/>\n                ct timeout agressive-tcp {<br \/>\n                        protocol tcp;<br \/>\n                        l3proto ip;<br \/>\n                        policy = {established: 100, close_wait: 4, close: 4}<br \/>\n                }<br \/>\n                chain output {<br \/>\n                        \u2026<br \/>\n                        tcp dport 8888 ct timeout set \u00abagressive-tcp\u00bb<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Ondersteuning voor NAT voor families inet:\n<p>        table inet nat {<br \/>\n                \u2026<br \/>\n                ip6 daddr dead::2::1 dnat to dead:2::99<br \/>\n        }<\/p>\n<li class=\"l\"> Verbeterde hulpmiddelen voor het rapporteren van fouten door spelfouten:\n<p>        nft add chain filtre test<\/p>\n<p>        Error: No such file or directory; did you mean table \u00abfilter\u00bb in family ip?<br \/>\n        add chain filtre test<br \/>\n                  ^^^^^^<\/p>\n<li class=\"l\"> Mogelijkheid om interface namen op te geven in sets:\n<p>        set sc {<br \/>\n               type inet_service . ifname<br \/>\n               elements = { \u00abssh\u00bb . \u00abeth0\u00bb }<br \/>\n        }<\/p>\n<li class=\"l\"> Ge\u00fcpdatete syntax voor flowtable regels:\n<p>        nft add table x<br \/>\n        nft add flowtable x ft { hook ingress priority 0; devices = { eth0, wlan0 }; }<br \/>\n        \u2026<br \/>\n        nft voeg regel x door ip protocol { tcp, udp } flow toe @ft<\/p>\n<li class=\"l\"> Verbeterde ondersteuning voor JSON.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Bron: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50952\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 nftables 0.9.1, \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 [&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-35676","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \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\/nl\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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.1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \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\/nl\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1\" \/>\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=\"2019-10-31T19:05:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:05:42+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\udd47Uitgave van de pakketfilter nftables 0.9.1 | ProHoster","description":"Na een jaar ontwikkeling is de release van de pakketfilter gepresenteerd","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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.1 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430","og:url":"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","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":"2019-10-31T19:05:42+00:00","article:modified_time":"2019-10-31T19:05:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35676","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":"2026-01-22 00:20:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:58:28","updated":"2026-01-22 00:20:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/35676","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=35676"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/35676\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=35676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=35676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=35676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}