The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск пакетного фильтра iptables 1.8.12

20.02.2026 17:50 (MSK)

После полутора лет разработки опубликован выпуск классического инструментария для управления пакетным фильтром iptables 1.8.12, развитие которого последнее время сосредоточено на компонентах для сохранения обратной совместимости - iptables-nft и ebtables-nft, предоставляющих утилиты с тем же синтаксисом командной строки, как в iptables и ebtables, но транслирующих полученные правила в байткод nftables. Оригинальный набор программ iptables, включая ip6tables, arptables и ebtables, в 2018 году переведён в разряд устаревших и уже заменён на nftables в большинстве дистрибутивов.

В новой версии:

  • В утилите iptables-nft реализована поддержка атомарного добавления и замены правил в одной транзакции.
    
       *filter
       -A FORWARD -m comment --comment "new rule being replaced"
       -R FORWARD 1 -m comment --comment "new replacing rule"
    COMMIT
    
  • В утилите xtables-monitor появилась поддержка распознания операций удаления базовых цепочек (INPUT, FORWARD, OUTPUT) и вывода в этом случае команды "iptables -X имя_цепочки".
  • Обеспечена трансляция в формат nftables правил c протоколом '-p sctp', но без явного указания модуля '-m sctp', как это делается для TCP и UDP (достаточно указать "-p tcp" или "-p udp", а "-m tcp" или "-m udp" применится автоматически).
  • Добавлена поддержка ICPM-пакетов info-request и info-reply.
  • Исправлены ошибки в утилитах iptables-translate и ip6tables-translate, используемых для преобразования правил в nftables.


  1. Главная ссылка к новости (https://www.mail-archive.com/n...)
  2. OpenNews: Выпуск пакетного фильтра iptables 1.8.11
  3. OpenNews: Разработчики Netfilter официально объявили инструментарий iptables устаревшим
  4. OpenNews: Для ядра Linux предложен новый пакетный фильтр bpfilter
  5. OpenNews: Бывший лидер Netfilter прекратил дело о нарушении GPL и выплатит судебные издержки
  6. OpenNews: Выпуск пакетного фильтра nftables 1.1.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64840-iptables
Ключевые слова: iptables
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 17:54, 20/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    тот кто видел json код правил nftables, тот в цирке не смеётся.
     
     
  • 2.3, анони (?), 17:57, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А его обязательно видеть? Так то json придумывался не для "парсинга" глазами человека.
     
     
  • 3.7, Аноним (7), 18:37, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • –5 +/
    ИИ нормально наваливает правила!
     
  • 3.11, WE (?), 19:12, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что синтаксис nft делал человек с юмором и теперь определить где там оператор, а где параметр можно только 5 раз прочитав строку.
     
  • 2.4, Аноним (4), 18:01, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А зачем вы читает JSON? Он для передачи между софтом предназначен. Вы ещё байт код попробуйте с фильтра выгрузить, а потом ныть ой не могу.
     
     
  • 3.6, Аноним (6), 18:17, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нормально дизассемблится и проверяется.
     
     
  • 4.14, Аноним (14), 19:34, 20/02/2026 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
  • 2.25, Аноним (-), 21:52, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > тот кто видел json код правил nftables, тот в цирке не смеётся.

    Вы еще хексдампы читаемые потребуйте. А так нативный синтаксис nftables вполне себе - тем более для рулесетов чуть сложнее чем hello world которе на iptables мигом становятся гигантским спагетти.

     
  • 2.26, Анонисссм (?), 22:21, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >кто видел json код правил nftables

    и что тебе не нравится или кажется нечитаемым?

    сконверти это в iptables

    ip saddr {1.2.3.4,5.6.7.8} tcp dport {42322,42343,47567,48080,48484,48751,49005} accept comment "apis"

     
     
  • 3.28, нах. (?), 23:04, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > и что тебе не нравится или кажется нечитаемым?

    действительно, ну вот - что?
    Что тут может "казаться" нечитабельным?
    Неужели же вот ... все целиком?

    > сконверти это в iptables

    я не то что это конвертить не буду никуда, я добьюсь увольнения идиота-девляпса который такое притащит. Надо бы кстати добавить в пыточную анкету для собеседований, чтоб сразу с пляжа.

    > ip saddr {1.2.3.4,5.6.7.8} tcp dport {42312,42343,47567,48080,48484,48751,49005} accept
    > comment "apis"

    найди тут ошибку.

    найди такую же среди хотя бы десятка подобных правил.

    Поэтому _нормальные_ люди вместо этой чуши напишут ДВЕ таблицы - одну с портами и назовут ее (а не коммент дурацкий вляпают на который сослаться нельзя) apis, и вторую - с адресами, и назовут ее чтонибудь вроде api-access. И в каждой будет по строчке на адрес и по строчке на порт, и вселенная от этого вовсе в черную дыру не схлопнется.

    И тогда отличие от iptables будет только в том что при отладке там сразу были бы видны счетчики и ясно где ошибка.  А тут ты не догадался про них вспомнить, и будешь в суматохе включать на ходу.

     
     
  • 4.30, q (ok), 23:26, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "Вадим Вадимыч, сколько будет два плюс два?"

    Показательно, что тебя попросили сконвертить одну строчку в iptables, а ты разродился стеной рационализаторского текста вместо столь же короткого ответа. Гы. Подозреваю, что вначале ты действительно пытался сконвертить в iptables, но потом осознал ущербность iptables и поэтому заменил ответ простыней оправданий.

     
     
  • 5.31, нах. (?), 23:57, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что тебе неясно в ответе - это чушь написана и никуда это конвертить незачем?

    И да, возможность такое надевляпать - это одна среди многих причин, почему nft - дерьмо.

    Никакой "ущербности" в том что такое дерьмо написать нельзя в iptables - нет.

    И да, я там одну цифру в цитате исправил. Ты, разумеется, не заметил. Точно так же ты и свою опечатку не увидишь. "ой, а почему у меня не работает?"

     
     
  • 6.33, q (ok), 00:32, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > такое дерьмо написать нельзя в iptables

    Все, что нельзя написать в iptables -- дерьмо. Спасибо! Теперь понял! Гы. Вот серьезно. Смотрю на тебя как на пещерного человека, который гордится тем, что живет в пещере и -- внимание! -- умеет добывать огонь без этих ваших спичек и зажигалок! "Текнолоджиа! Текнолоджиа!" (c)

    > я там одну цифру в цитате исправил. Ты, разумеется, не заметил

    Разумеется, у меня же мясной мозг, а не ЦПУ, который делает strcmp в фоне. Странная придира. Это как если бы ты заменил кириллическую "а" на латинскую, а потом говорил, как ты ловко обманул меня, подсунув мне не ту букву в рандомном слове! Только вот, что именно должно было это доказать? Этот момент остался загадкой. Ну да, я не гоняю strcmp по цитатам, и как бы - и чо? Гы.

     
     
  • 7.38, abu (?), 01:19, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так ведь вас и попросили найти ошибку. А вы ее не нашли.

    Дело всего этого спора в другом - вам, насколько я понимаю, пытаются объяснить то, как работает системный администратор с firewall'ом. Один из примеров - это разбивка на две таблицы, по которым будут понятны привязки адресов и портов. В nft наверняка тоже так можно, но - =зачем платить больше= изучением еще одного фаервола (это отдельная тема)?

    А вокруг этих объяснений - проды, сляпанные на скорую руку, в которых, действительно, удобно нафигачить по-быстрому и - в кусты, да гыгканья. В которых не понять, например, что может быть парк серверов с настроенным iptables. И все эти ваши проды таким серверам снятся в кошмарах - они просто работают годами безо всего этого зоопарка.

    Годным спором был бы тот, в котором вы бы выкатили, как аргумент, киллер-фичу nftables. Кстати, ведь  где-то пару лет назад про нее тут писали. И тогда, да, всерьез пришлось бы учить nftables, несмотря на его =закорючки=. А так - все отлично и без него, уж поверьте.

     
     
  • 8.39, q (ok), 01:31, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Понимаешь ли ты, насколько это убого Чел прислал nft-конструкцию и попросил пер... текст свёрнут, показать
     
     
  • 9.41, abu (?), 01:52, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ваш подход я понял, спасибо Но подходов тут все равно остается ровно два - ест... текст свёрнут, показать
     
  • 4.32, Аноним (-), 00:31, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальный человек напишет так:
    ip saddr @allowed_ips tcp dport @allowed_ports accept comment "apis"

    > я добьюсь увольнения идиота-девляпса который такое притащит

    Почему не "добить" мануал по nft?

    > И в каждой будет по строчке на адрес и по строчке на порт, и вселенная от этого вовсе в черную дыру не схлопнется.

    Классно читать, когда счет ip пойдет на 1000, не?


    Не говоря уже про то, что части функций таких как указание интерфейсов в POSTROUTING в ipotables тупо нет и приходилось по диапазонам указывать.

     
     
  • 5.35, abu (?), 01:00, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Первое, что гуглится по postrouting и интерфейсы:

    >

    iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4

    Важно: Использовать -i (input interface) в POSTROUTING нельзя, так как пакеты к этому моменту уже маршрутизированы и выходят через конкретное устройство.
    >

    а вы что имели в виду?

     
     
  • 6.37, Аноним (-), 01:18, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Верно. Это и имел ввиду.

    Так вот в nftables этой проблемы нет.

     
  • 5.40, abu (?), 01:34, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Добавлю тут, потому что на ваш следующий ответ почему-то нет возможности отвечать. Второе гугление тотчас дает такой ответ:

    >

    It is not possible to perform a standard Destination Network Address Translation (DNAT) in the POSTROUTING hook using nftables (or iptables for that matter). The fundamental reason lies in the structure of the Linux networking stack and the timing of the routing decisions.
    >

    Если можете - уточните все же, что имеете в виду - интересно для самообразования.

     
     
  • 6.42, Аноним (-), 01:54, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Добавлю тут, потому что на ваш следующий ответ почему-то нет возможности отвечать.

    Ну это к модеру вопрос, почему то сообщение в блок залетело.

    > It is not possible to perform a standard Destination Network Address Translation (DNAT) in the POSTROUTING hook using nftables (or iptables for that matter). The fundamental reason lies in the structure of the Linux networking stack and the timing of the routing decisions.

    Это уточняйте у тех, кто это бред писал, тут я помочь не могу.

    > Если можете - уточните все же, что имеете в виду - интересно для самообразования.

    Имелось ввиду это:

    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=

    С nftalbles, когда я тестил это (мб ядро 6.1 было) у меня работало. С iptables - нет. Мб сейчас iptables подправили, мб нет, iptables я давно не использовал.

    Вы можете проверить с nftables у себя, если ядро 6+, должно работать.

     
     
  • 7.44, abu (?), 05:21, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/

    >> It is not possible to perform a standard Destination Network Address Translation (DNAT) in the POSTROUTING hook using nftables (or iptables for that matter). The fundamental reason lies in the structure of the Linux networking stack and the timing of the routing decisions.
    > Это уточняйте у тех, кто это бред писал, тут я помочь не
    > могу.

    Не то чтобы я великий специалист по iptables, но всегда воспринимал то, что есть только исходящий интерфейс, как данность. Мельком полистал сейчас по Сети рассказы об этом, пишут, что метками можно обходить и пр., но, конечно, если из коробки сделано, то обходиться костылями не следует. Иной вопрос, насколько это все вообще нужно, но это отдельная тема.


    >> Если можете - уточните все же, что имеете в виду - интересно для самообразования.
    > Имелось ввиду это:
    > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=
    > С nftalbles, когда я тестил это (мб ядро 6.1 было) у меня
    > работало. С iptables - нет. Мб сейчас iptables подправили, мб нет,
    > iptables я давно не использовал.
    > Вы можете проверить с nftables у себя, если ядро 6+, должно работать.

    Спасибо большое за информацию.

     
  • 4.43, Вася (??), 03:04, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>я добьюсь увольнения идиота-девляпса который такое притащит

    откуда в компании по перепродаже китайских чайников девопс?

     
  • 4.45, ананим.orig (?), 06:28, 21/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > я не то что это конвертить не буду никуда, я добьюсь увольнения идиота-девляпса

    Так ты не только на опеннете атмосферу портишь?

    А когда то тут были инженеры.
    Теперь только фиктивные манагеры.

     

  • 1.2, Аноним (4), 17:57, 20/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Кому это нужно, когда есть nftables?

    Тем кто уже в деменцию скатился и не может пяток команд выучить?

     
     
  • 2.5, Frestein (ok), 18:03, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Новость не читаем, сразу в комменты прыгаем.
     
     
  • 3.12, Аноним (14), 19:32, 20/02/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.8, Аноним (8), 18:39, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да тем же, кто уже в деменцию впал и кроме systemd с юнит-портянками никакой другой init выучить не может.
     
     
  • 3.9, Аноним (9), 18:49, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в 2026 нормальный человек ничего кроме systemd в прод не выберет. Так что знание других нужно не от хорошей жизни, а если что-то по наследству пришло.
     
     
  • 4.13, Аноним (14), 19:33, 20/02/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 4.15, dannyD (?), 19:35, 20/02/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.18, Аноним (18), 19:39, 20/02/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.29, нах. (?), 23:10, 20/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Кому это нужно, когда есть nftables?

    это, которое ВЧЕРА научилось, оказывается, в атомарные изменения - не нужно вообще никому.

    Все кто пытался этим пользоваться когда оно еще было хоть немного актуальным - выбросили его по причине неумения сконвертировать даже совсем-совсем тривиальные конфиги.

    А нормальные iptables (еще и не завязанные на неотключаемый ebpf) были конечно нужны, но теперь уже проехали, жрите убогий синтаксис из закорючек.

     

  • 1.10, Аноним (10), 19:10, 20/02/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.20, q (ok), 19:45, 20/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    iptables -- это набор страшных непонятных комманд с ужасным синтаксисом.
    nftables -- это структурированная конфетка, которую легко и приятно читать/писать.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру