Опубликован выпуск пакетного фильтра nftables 1.0.6, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=58378
долгих лет
Благодарствую ...
> В оптимизаторе правил, вызываемом при указании опции "-o/--optimize"Судя по примеру это опция -o/--obfuscate, превращающая правила в нечитаемое для человека месиво.
Оптимизация всегда превращает код в нечитаемое для человека месиво. И чем больше оптимизаций, тем сложнее разобраться. Исключением может быть -Os у gcc, и то не всегда. Но хуже всего, когда оптимизация проводится вручную -- тогда не только результат компиляции, но и сорец становится нечитаемым месивом, и вот тогда разобраться в этом вообще никаких шансов.
А разве это нельзя делать при запуске, а хранить сами правила в обфусцированном виде.
Что делать? При запуске чего? Правила nftables компилируются при загрузке в ядро. Если хотите получить результат оптимизаций обратно в виде текста, вызовите `nft list ruleset`.
Какой профит от этого нфтаблес? Насколько он быстрее чем фильтр от iptables?
Использую,но так как правила просто переводил из iptables в то,что понимает nftables,то ни хрена ни чем не лучше. Для меня все едино. Лишний геморрой только с настройкой ядра,а старенькому iptables надо правила скормить и все.
Какой там гемор с настройкой ядра?
Надо включать дополнительные примочки в core netfilter configuration, ip netfilter configuration иначе правила вообще не загрузятся как и сам nftables по сути.
Для вас не будет открытием, что для iptables надо тоже включать дополнительные примочки, без которых iptables'у из userspace просто некуда будет загружать правила?
ХЗ. Iptables я только устанавливаю и в автозагрузку добавляю по сути, а Nftables надо в паре мест ткнуть при настройке ядра. Иначе при тех же в принципе правилах что и в Iptables только приведенные к пониманию Nftables, он не распознает что-то там. Имею ввиду ванильное ядро и его настройки по умолчанию. Вот этого мне недостаточно.
Правила Nfables у меня в /var/lib/nftables, а где они лежат у Iptables я не знаю. Просто эти 20 строчек копирую в xterm.
iptables в автозагрузке у вас срабатывает только потому, что добрый дядя, собравший вам ядро, уже эти настройки ткнул. Сегодня он их ткнул для iptables, завтра будет тыкать для nftables, а вам для оживления iptables тыкать эти настройки самостоятельно. Кстати, что за такой NIH-дистрибутив, у которого nftables в ядре выключен?
Nftables не выключен,ему там просто надо донастроить. Gentoo-sources и дополнительно с патчами RT
А я вот жду что щас еще вылазит какая-то бабушка и давай спрашивать чем это поделие лучше ipchains.
Зачем спрашивать про такое новье? Надо про ipfw
Чем он лучше zbfw? Это - firewall здорового человека. А все ваши *tables - firewall курильщика... И при этом курильщика чего-то крайне нездорового и незаконного...
Фильтр из пакета скоростью хоть и не блещет, зато дешев. Да и пакеты всегда под рукой, можно много фильтров понаделать ...
Профит в декларативном конфиге и атомарных апдейтах. Быстрее намного, но до ~10k правил ты это вряд ли заметишь.
не, разница на линейных портянках проявится уже на первой сотне правил. Танцы с ipset'тами как-то ситуацию выправляют, но тоже как раз в районе ~1k элементов в сете тоже начнет проигрывать nftables'ам.
А документации к нему так и не завезли? (нет, дюжина вики-страниц с кучей дохлых ссылок - это не она).
Вообще-то вот: https://netfilter.org/documentation/index.html
Ну, это не совсем оно.
Это документация по нетфильтру. К ней претензий нет.
А в том месте где упоминается nftables мы имеет те же самые 5 вики-страниц, состоящих из примеров без пояснений.PS: не даром шляпники для него фронтенд (firewalld) накалякали. Понимают, что в проде, когда нужно быстренько включить доступ сетевому сервису на куче узлов, этот обфусцированный набор правил полезен, как лысому расческа.
Все же firewalld появился чуть ли не за десять лет до начала работ над nftables. И придумали его чтобы на уровне объектных абстракций рулить плоскими правилами iptables. Как итог на выходе получалась укурочная дичь, которая более-менее работала как примерно ожидалось. Про производительность получившихся макарон никто особо не задумывался, для производительности правила вручную обтачивались надфилем с тотальным упрощением всего и вся.
Знания по крохам собираются. А кто то в коде даже может разобрсться. В общем, будем эксперементировать!
В openwrt сие чудо есть?
С 22.03.0 версии на него перешли.
Фильтрацию по строкам нормальную так и не завезли(аналог модуля string от xtables). Грустно это, столько лет развивается, а паритета по функционалу с xtables до сих пор нет.
Вас не поймёшь: то unix-философию выдумываете себе, то строки фаерволлом фильтруете. Фаерволл — это l3, строки четырьмя этажами выше.