Опубликован выпуск классического инструментария для управления пакетным фильтром iptables 1.8.10, развитие которого последнее время сосредоточено на компонентах для сохранения обратной совместимости - iptables-nft и ebtables-nft, предоставляющих утилиты с тем же синтаксисом командной строки, как в iptables и ebtables, но транслирующих полученные правила в байткод nftables. Оригинальный набор программ iptables, включая ip6tables, arptables и ebtables, в 2018 году переведён в разряд устаревших и уже заменён на nftables в большинстве дистрибутивов...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59905
> Оригинальный набор программ iptables, включая ip6tables, arptables и ebtables, в 2018 году переведён в разряд устаревших и уже заменён на nftables в большинстве дистрибутивов.Пользуясь моментом, хочу спросить - где-нибудь есть нормальная документация по синтаксису nftables? man nft весьма отрывочный, а официальная wiki - просто сборник примеров рабочего синтаксиса, никак не объясняющий принципы его построения (типа "мы запустили fuzzing, и вот эти строки nft схавало как корректные").
> man nft весьма отрывочный, а официальная wiki - просто сборник примеров рабочего синтаксиса, никак не объясняющий принципы его построения (типа "мы запустили fuzzing, и вот эти строки nft схавало как корректные").У меня такое же ощущение про многие нынешние проекты.
Спасибо за формулировку.
официальный wiki читай, там охрененные примеры и всё понятно
Для тех, кто путает "примеры" и "документацию" + хранит результаты своего "путанья" в вики - в аду отдельное озеро наморожено.
Я называю это - How-to вместо документации
Для старта может сумбурно, но как ref годится
В Windows брандмауэр настраивается, говорят.
> man nft весьма отрывочныйЭто 3500+ строк нудного перечисления всего подряд отрывочный? Ну-ну... А чего хотелось то?
> man nft весьма отрывочный, а официальная wiki - просто сборник примеров рабочего синтаксисаЗачем ты лжёшь на опеннете? Мануал полностью описывает возможности nftables, на вики разжёваны основные операции, даны примеры и ссылки на дополнительные материалы. Если этого мало, то тебе в детский сад надо, там воспитательница поможет треугольник от квадрата отличить.
С детства пугал ужасный синтаксис iptables. А nft ништяк, декларативно, симпатично, продуманно. Одно из гениальнейших изобретений человечества.
Где найти нормальное руководство?
>нормальноеКорче ну ты понял.
Лично я в интернете искал.
Т.е. автор программки не выпустил?
Выпустил, я сумел найти при помощи Google (сайт такой в интернете).
А что там искать?Все, что нужно знать про структуру: https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_...
Правила описываються тут: https://wiki.nftables.org/wiki-nftables/index.php/Main_Page#...
Также, всегда можно использовать транслятор с iptables, чтобы глянуть.
Да и вообще он более консистентный.
с той лишь разницей что правила iptables можно поправить в текстовом файлеа ты будешь гондурасить в консоли
поэтому они до сих пор используются в шапке и скорее всего еще долго будут
Шапка две версии назад (начиная с 8-ой) перешла на nftables:https://www.redhat.com/en/blog/using-nftables-red-hat-enterp...
> Шапка две версии назад (начиная с 8-ой) перешла на nftables:
> https://www.redhat.com/en/blog/using-nftables-red-hat-enterp...специально для тупых эта статья
> как в iptables и ebtables, но транслирующих полученные правила в байткод nftables.
так вот именно в шапке эти пакеты доступны и используются включая демоны iptables и ip6tables
>> Шапка две версии назад (начиная с 8-ой) перешла на nftables:
>> https://www.redhat.com/en/blog/using-nftables-red-hat-enterp...
> специально для тупых эта статья
>> как в iptables и ebtables, но транслирующих полученные правила в байткод nftables.
> так вот именно в шапке эти пакеты доступны и используются включая демоны
> iptables и ip6tablesДля тупых лучше я объясню:
1. Шапка перешла на nftables. Он сотоит из двух частей: ядерная (она делает 100% работы) и юзерспейсная (она только настраивает ядерную, а работает через API который может реализовать кто угодно и как угодно)
2. Новый iptables - просто одна из нескольких морд/шкурок для nftables (убогая альтернатива nft, с усеченным функционалом, но совместимая со "шкриптами старпёров")
3. iptables никогда не был демоном, раньше он был мордой ядерного iptables (который сейчас к счастью на помойке), теперь он - морда для nftables
>[оверквотинг удален]
>> iptables и ip6tables
> Для тупых лучше я объясню:
> 1. Шапка перешла на nftables. Он сотоит из двух частей: ядерная (она
> делает 100% работы) и юзерспейсная (она только настраивает ядерную, а работает
> через API который может реализовать кто угодно и как угодно)
> 2. Новый iptables - просто одна из нескольких морд/шкурок для nftables (убогая
> альтернатива nft, с усеченным функционалом, но совместимая со "шкриптами старпёров")
> 3. iptables никогда не был демоном, раньше он был мордой ядерного iptables
> (который сейчас к счастью на помойке), теперь он - морда для
> nftablesкакой же ты глупый кэп, даже прочитать не можешь, что люди пишут
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2023-10-06 05:34:57 UTC; 1 weeks 0 days agoэто кстати RHEL8 ^
я твое кудахтанье уже наверное слышал, в прошлый раз ты обтекал доказывая что его вообще нет в системе, теперь уже пишешь, что это шкурка (но я и не доказывал обратного, а наоборот), так что обтекай и в этот раз - эта "шкурка" является бэкграунд процессом которая парсит свой конфиг и отвечает за файервол, как альтернатива firewalld
О так, это вы! Другой то аргумент есть, я надеюсь? Что там в "iptables.service"? Там просто запуск утилиты (не демона, в linux firewall находится в ядре, ему демон не нужен) из новости. Ссылка прямо в ней, качайте. Что там внутри исходника iptables? Там внутри nft. Почему? Объясняю для чемпионов тупости в 10-ый раз:1. Есть два iptables: старый и новый.
2. Фаерволом является только старый iptables
3. Новый - это "переводчик" старых правил в формат nftables (примерно как wine на лету транслирует сисколы винды в сисколы линуха).
4. 100% работы фаервола, я подчёркиваю 100% выполняет nftables
5. нынешний iptables (и это ясно даже из этой кривой новости, всем кроме вас) просто переводит правила вида iptables в формат nftables, а потом загружает их в ядерную часть nftables> какой же ты глупый кэп, даже прочитать не можешь, что люди пишут
Я могу прочесть код, а ещё я знаю штук 7 фаерволов, зачем мне читать бред чемпиона, который не способен понять даже того, что скрипт для автостарта чего-то с помощью systemd и фаервол в ядре, который фильтрует трафик - это две разные вещи?
> ты обтекал доказывая что его вообще нет в системе
Так кто обтекал, если его нет? Вот смотрите, есть ДВЕ разные программы с ОДНИМ названием. Первая - старый iptables, к счастью на помойке. В системах её уже нет. Вторая написана с нуля и занимается совсем другим делом.
Debian+wine это НЕ Windows. Конвертер правил iptables->nftables это НЕ фаервол. Это блажь для идиотов.
вот мое оригинальное сообщение, а теперь скажи причем здесь вся эта хрень, что ты понаписывал?> с той лишь разницей что правила iptables можно поправить в текстовом файле
> а ты будешь гондурасить в консоли
> поэтому они до сих пор используются в шапке и скорее всего еще долго будутдошло? нет?
еще раз для не очень смарт пипл:
> поэтому ОНИ до сих пор используются... правила iptables...
все остальное что ты тут написал (файрвол не файервол) - это твое офигенное желание поспорить с самим собой, может тебе жизненно важно покапитанить где-то, где-то херь сморозить, где-то еще как-то самовыразиться, но я уже тебе тогда говорил, что ты ведешь себя как даун и сейчас повторяю это, нет ни малейшего желания разговаривать с тобой "о погоде" - зачем за меня додумывать, а потом "разговаривать с самим собой", ну и в принципе добавить мне больше нечего, чао )))
Дауны путают firewalld и nft уже несколько месяцев) А правила nft всегда можно было редактировать текстовым редактором, они сохраняются ТОЛЬКО в виде текста. Об этом есть инфа в вики, в мануале, об этом есть в ностях по теме, об этом писали комментарии, итого десятки раз только на одном opennet.
> Дауны путают firewalld и nft уже несколько месяцев) А правила nft всегда
> можно было редактировать текстовым редактором, они сохраняются ТОЛЬКО в виде текста.
> Об этом есть инфа в вики, в мануале, об этом есть
> в ностях по теме, об этом писали комментарии, итого десятки раз
> только на одном opennet.не путай больше, не надо
> какой же ты глупый кэп, даже прочитать не можешь, что люди пишутЯ наверное зря пишу как будто вам 5, это слишком оптимистично. Попробую ещё проще.
1. Фаервол он в ядре. Обычно, он работает в виде модуля ядра.
2. Юзерспейсные утилиты (iptables в виде iptables.service) фаерволом не являются. Они НЕ фильтруют трафик. Они ничего не сделают, если нужные модули ядра не загружены. Я повторю: они ничего не сделают если этого не сделает ядро, ведь фаервол он в ядре.
3. Раньше фаерволом был ipchains, потом iptables, сейчас nftables. К ним шли соответсвующие юзерспейсные утилиты, "шкурки" для простой и удобной загрузки правил. "Шкурок" может быть сколько угодно (хоть 5 сразу), имена они могут иметь хоть какие, хоть ipchains, они НЕ НА ЧТО НЕ ВЛИЯЮТ. Что влияет на трафик, так это правила, которые уже загружены в ядро.
4. Когда iptables отправился на помойку, его заменил nftables.
5. Шляпа написала шкурку для nftables которая мимикрирует (посмотрите в словаре) под iptables. Зачем? Ну чтобы мерзотные простыни правил для iptables просто заработали и с nftables, в новых ядрах где никакого iptables вообще нет (обратная совместимость).Вы кем работаете, если не секрет? Мне сейчас немного жаль, что я не психиатр 😄
> является бэкграунд процессом
> Active: active (exited)Ну да, точно. Ага.
О чем ты говоришь? Nftables можно поправить в текстовом файле тоже...
> О чем ты говоришь? Nftables можно поправить в текстовом файле тоже...ну может пример подкинешь? какой файл надо править и как например открыть порт 1234 только для tcp для всех интерфейсов?
вот поржем
Вот файл:/etc/sysconfig/nftables.conf
Вот пример:
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
...
udp dport 1234 accept
...
}
}достаточно чтобы поржать?
> быстрофикс:tcp dport 1234 accept
>[оверквотинг удален]
> drop;
>
> ...
>
> udp dport 1234 accept
>
> ...
> }
> }
> достаточно чтобы поржать?в RHEL8/9 и Fedora файл есть, но пустой, т.е. тебе нужен редактор который позволит это все с подстветкой синтексиса и форматированием, либо копипаста с мануалов, за форматирование отвечаешь сам
в openSUSE файла нет вообще, не уверен, что он вообще подтянется, но допустим, вперед арлы )))
iptables конфиге ты просто заходишь копируешь mc какую-нибудь строчку вроде
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
и правишь 22 на 1234, и всё, iptables demon сконвертит все в байткод на уровне ядрану как бы да, есть над чем поржать
PS я не сомневался что кто-то это редактирует, я реально хотел сравнить варианты использования
так с nftables ты тоже можешь записать правила по одному, без группировки:add rule filter input ip protocol tcp dport 1234 accept и все, так же в mc пишется, потом скармливается nft
> так с nftables ты тоже можешь записать правила по одному, без группировки:
> add rule filter input ip protocol tcp dport 1234 accept и
> все, так же в mc пишется, потом скармливается nftнесколько странно выглядит
table inet filter { ... }
add rule filter ...
ко всему можно привыкнуть, но мягко говоря не впечатляет
У меня для вас плохие новости. nft уже́ года 4 как больше не молодёжно.
Новый-клёвый bpfilter — наше светлое будущее.
Развивают, как я понял, те же чуваки что и nft. Поэтому, документация… Ну, вы поняли.
Вот такого http://www.opennet.dev/docs/RUS/iptables/ больше не ожидается. Читайте исходники, они рулез ©(почти).
К слову, а iptables можно использовать для добавления правил на уровни ingress/egress? И имеет ли он сеты ip с возможность, например, разрешить доступ к определенному ip на 30 минут?
На wikibooks есть супер статья по iptables. Но я бы посоветовал переходить на nftables.
> На wikibooks есть супер статья по iptables. Но я бы посоветовал переходить
> на nftables.Его и использую. Просто интересно было.
А в nft возможно?:
1) в одну строку записать правило для исходящего трафика tcp 443 для конкретного browser?
2) делать привязку правил к конкретному ядру CPU?
3) приведите например полный конфиг для входящего и исходящего трафиков стандартного сервера, ну что бы сравнить читабельность конфига для сервера на котором запущены веб-сайты
4) какую нагрузку на CPU делает nft по сравнению с iptables
Текст новости: я что, какая-то шутка?
Уже давно iptables работает по схеме:<новые правила iptables> --> iptables -(трансляция в новые правила nftables)-> nft --> nftables
Поэтому iptables не может иметь большего функционала, чем nft.
Нагрузка на процессор конечно ниже у nftables, он использует другие структуры данных, более подходящие под задачу. Но в целом это неважно: у вас никогда не будет столько трафика чтобы сеть на уровне ядра тормозила, таких линков не найти.