{"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\/es\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","title":{"rendered":"Lanzamiento del filtro por lotes nftables 0.9.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Despu\u00e9s de un a\u00f1o de desarrollo <noindex><a rel=\"nofollow\" href=\"https:\/\/marc.info\/?l=netfilter&#038;m=156139496810281\">presentado<\/a><\/noindex> lanzamiento del filtro de paquetes <noindex><a rel=\"nofollow\" href=\"https:\/\/netfilter.org\/projects\/nftables\/\">nftables 0.9.1<\/a><\/noindex>, que est\u00e1 desarroll\u00e1ndose como un sustituto de iptables, ip6tables, arptables y ebtables mediante la unificaci\u00f3n de interfaces de filtrado de paquetes para IPv4, IPv6, ARP y puentes de red. El paquete nftables incluye componentes del filtro de paquetes que operan en el espacio de usuario, mientras que a nivel del n\u00facleo la funcionalidad est\u00e1 asegurada por el subsistema nf_tables, incluido en el n\u00facleo de Linux desde la versi\u00f3n 3.13. <\/p>\n<p>A nivel del n\u00facleo, solo se proporciona una interfaz general, independiente del protocolo espec\u00edfico y que ofrece funciones b\u00e1sicas para extraer datos de paquetes, realizar operaciones de datos y gestionar el flujo.<br \/>\nLa l\u00f3gica de filtrado y los manejadores espec\u00edficos del protocolo se compilan en c\u00f3digo de bytes en el espacio de usuario, despu\u00e9s de lo cual este c\u00f3digo de bytes se carga en el n\u00facleo a trav\u00e9s de la interfaz Netlink y se ejecuta en una m\u00e1quina virtual especial, similar a BPF (Berkeley Packet Filters). Este enfoque permite reducir significativamente el tama\u00f1o del c\u00f3digo de filtrado que opera a nivel del n\u00facleo y trasladar todas las funciones de an\u00e1lisis de reglas y l\u00f3gica de trabajo con protocolos al espacio de usuario.<\/p>\n<p>Novedades principales:<\/p>\n<ul>\n<li class=\"l\"> Soporte para IPsec, lo que permite realizar la asociaci\u00f3n de direcciones de t\u00faneles en relaci\u00f3n con paquetes, el identificador de la solicitud de IPsec y la etiqueta SPI (Security Parameter Index). Por ejemplo,\n<p>      ... ipsec en ip saddr 192.168.1.0\/24<br \/>\n      ... ipsec en spi 1-65536<\/p>\n<p>Tambi\u00e9n es posible comprobar el paso de un paquete a trav\u00e9s del t\u00fanel IPsec. Por ejemplo, para bloquear tr\u00e1fico que no pasa por IPSec: <\/p>\n<p>      ... filtro de salida rt ipsec falta drop<\/p>\n<li class=\"l\"> Soporte para el protocolo IGMP (Internet Group Management Protocol). Por ejemplo, para descartar solicitaciones IGMP entrantes de pertenencia a grupo, se puede usar la regla\n<p>      nft add rule netdev foo bar igmp type membership-query counter drop<\/p>\n<li class=\"l\"> Capacidad para usar variables para la definici\u00f3n de cadenas de salto (jump \/ goto). Por ejemplo:\n<p>      define dest = ber<br \/>\n      add rule ip foo bar jump $dest<\/p>\n<li class=\"l\"> Soporte para m\u00e1scaras para la identificaci\u00f3n de sistemas operativos (OS Fingerprint) bas\u00e1ndose en valores TTL en el encabezado. Por ejemplo, para marcar paquetes dependiendo del sistema operativo del remitente, se puede usar el comando:\n<p>    ... meta marca set osf ttl skip nombre map { \u00abLinux\u00bb : 0x1,<br \/>\n                                              \u00abWindows\u00bb : 0x2,<br \/>\n                                              \u00abMacOS\u00bb : 0x3,<br \/>\n                                              \u00abdesconocido\u00bb : 0x0 }<br \/>\n    ... osf ttl skip versi\u00f3n \u00abLinux:4.20\u00bb<\/p>\n<li class=\"l\"> Capacidad para asociar la direcci\u00f3n ARP del remitente y la direcci\u00f3n IPv4 del sistema de destino. Por ejemplo, para incrementar el contador de paquetes ARP enviados desde la direcci\u00f3n 192.168.2.1, se puede usar la regla:\n<p>        table arp x {<br \/>\n                chain y {<br \/>\n                        tipo de gancho de filtro entrada prioridad filtro; pol\u00edtica aceptar;<br \/>\n                        arp saddr ip 192.168.2.1 contador paquetes 1 bytes 46<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Soporte para el reenv\u00edo transparente de solicitudes a trav\u00e9s de un proxy (tproxy). Por ejemplo, para redirigir las solicitudes al puerto 80 al puerto proxy 8080:\n<p>        tabla ip x {<br \/>\n                chain y {<br \/>\n                        tipo gancho de filtro prerouting prioridad -150; pol\u00edtica aceptar;<br \/>\n                        tcp dport 80 tproxy a :8080<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Soporte para la marca de sockets con la posibilidad de obtener la etiqueta establecida a trav\u00e9s de setsockopt() en modo SO_MARK. Por ejemplo:\n<p>        tabla inet x {<br \/>\n                chain y {<br \/>\n                        tipo gancho de filtro prerouting prioridad -150; pol\u00edtica aceptar;<br \/>\n                        tcp dport 8080 marca establecer socket marca<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Soporte para especificar nombres de texto para prioridades de cadenas. Por ejemplo:\n<p>        nft a\u00f1adir cadena ip x raw { tipo gancho de filtro prerouting prioridad raw; }<br \/>\n        nft a\u00f1adir cadena ip x filter { tipo gancho de filtro prerouting prioridad filter; }<br \/>\n        nft a\u00f1adir cadena ip x filter_later { tipo gancho de filtro prerouting prioridad filter + 10; }<\/p>\n<li class=\"l\"> Soporte para etiquetas SELinux (Secmark). Por ejemplo, para definir la etiqueta \u00absshtag\u00bb en relaci\u00f3n con el contexto de SELinux, se puede ejecutar:\n<p>         nft add secmark inet filter sshtag \u00absystem_u:object_r:ssh_server_packet_t:s0\u00bb<\/p>\n<p>Y luego usar esta etiqueta en las reglas:<\/p>\n<p>        nft add rule inet filter input tcp dport 22 meta secmark set \u00absshtag\u00bb<\/p>\n<p>        nft a\u00f1adir mapa inet filter secmapping { tipo inet_service : secmark; }<br \/>\n        nft add element inet filter secmapping { 22 : \u00absshtag\u00bb }<br \/>\n        nft a\u00f1adir regla inet filter input meta secmark establecer tcp dport mapa @secmapping<\/p>\n<li class=\"l\"> Posibilidad de especificar puertos asignados a protocolos en formato de texto, como se definen en el archivo \/etc\/services. Por ejemplo:\n<p>        nft add regla x y tcp dport \u00abssh\u00bb<br \/>\n        nft listar reglaset -l<br \/>\n        tabla x {<br \/>\n                chain y {<br \/>\n                        \u2026<br \/>\n                        tcp dport \u00abssh\u00bb<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Posibilidad de verificar el tipo de interfaz de red. Por ejemplo:\n<p>        add regla inet raw prerouting meta iifkind \u00abvrf\u00bb accept<\/p>\n<li class=\"l\"> Mejorado el soporte para la actualizaci\u00f3n din\u00e1mica del contenido de los conjuntos (sets) a trav\u00e9s de la especificaci\u00f3n expl\u00edcita de la bandera \u00abdynamic\u00bb. Por ejemplo, para actualizar el conjunto \u00abs\u00bb a\u00f1adiendo la direcci\u00f3n fuente y restableciendo la entrada en caso de falta de paquetes durante 30 segundos:\n<p>        a\u00f1adir tabla x<br \/>\n        a\u00f1adir set x s { tipo ipv4_addr; tama\u00f1o 128; tiempo de espera 30s; banderas din\u00e1micas; }<br \/>\n        a\u00f1adir cadena x y { tipo filtro gancho entrada prioridad 0; }<br \/>\n        a\u00f1adir regla x y actualizar @s { ip saddr }<\/p>\n<li class=\"l\"> Posibilidad de establecer una condici\u00f3n separada para el tiempo de espera. Por ejemplo, para redefinir el tiempo de espera predeterminado para los paquetes que llegan al puerto 8888 se puede especificar:\n<p>        tabla ip filter {<br \/>\n                ct timeout agresivo-tcp {<br \/>\n                        protocolo tcp;<br \/>\n                        l3proto ip;<br \/>\n                        pol\u00edtica = {establecido: 100, close_wait: 4, close: 4}<br \/>\n                }<br \/>\n                cadena salida {<br \/>\n                        \u2026<br \/>\n                        tcp dport 8888 ct timeout set \u00abagressive-tcp\u00bb<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Soporte para NAT para la familia inet:\n<p>        tabla inet nat {<br \/>\n                \u2026<br \/>\n                ip6 daddr dead::2::1 dnat a dead:2::99<br \/>\n        }<\/p>\n<li class=\"l\"> Mejoras en las herramientas de salida de informaci\u00f3n de errores debido a errores tipogr\u00e1ficos:\n<p>        nft a\u00f1adir cadena filtre test<\/p>\n<p>        Error: No such file or directory; did you mean table \u00abfilter\u00bb en la familia ip?<br \/>\n        a\u00f1adir cadena filtre test<br \/>\n                  ^^^^^^<\/p>\n<li class=\"l\"> Posibilidad de especificar nombres de interfaces en conjuntos (sets):\n<p>        set sc {<br \/>\n               tipo inet_service . ifname<br \/>\n               elements = { \u00abssh\u00bb . \u00abeth0\u00bb }<br \/>\n        }<\/p>\n<li class=\"l\"> Sintaxis actualizada de reglas de flowtable:\n<p>        nft a\u00f1adir tabla x<br \/>\n        nft a\u00f1adir flowtable x ft { gancho ingreso prioridad 0; dispositivos = { eth0, wlan0 }; }<br \/>\n        \u2026<br \/>\n        nft add rule x forward ip protocol { tcp, udp } flow add @ft<\/p>\n<li class=\"l\"> Mejorada la compatibilidad con JSON.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fuente: <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\/es\/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=\"es_ES\" \/>\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\/es\/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\udd47Lanzamiento del filtro de paquetes nftables 0.9.1 | ProHoster","description":"Despu\u00e9s de un a\u00f1o de desarrollo, se presenta el lanzamiento del filtro de paquetes.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/35676","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=35676"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/35676\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=35676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=35676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=35676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}