Разработчики Netfilter представили замену iptables
Модератор: Модераторы разделов
-
Tokra
- Сообщения: 399
Разработчики Netfilter представили замену iptables
Вниманию общественности представлен первый публичный выпуск проекта nftables, новой реализации пакетного фильтра для Linux, идущего на смену iptables, как в свое время iptables пришел на смену ipchains, а ipchains заменил собой ipfwadm. Главным отличием nftables, является не только изменившийся синтаксис задания правил, но и совершенно новый подход в их трансляции: определенные пользователем правила теперь преобразуются в специальный упрощенный псевдокод, который используется для принятия решения по дальнейшим действиям с пакетом через специальный интерфейс внутри ядра.
Nftables состоит из трех частей: кода фильтрации, работающего внутри ядра, связующей интерфейсной библиотеки libnl, работающей с ядром через netlink, и фронтэнда, работающего на уровне пользователя. Для формирования правил фильтрации в nftables представлена утилита nft , которая проверяет корректность правил и транслирует их в псевдокод. Правила теперь могут добавляться не только инкрементально, но и загружаться целиком из файла на диске, как это сделано, например, в пакетном фильтре PF.
Код фильтра, работающий на уровне ядра избавлен от блокировок и значительно сокращен, все операции по определению условий и связанных с ними действий выполняются на уровне пользователя, в ядре производится только базовый набор операций, таких как чтение данных из пакета, сравнение данных и т.п. В пакетный фильтр интегрирована поддержка словарного маппинга и поиска по наборам правил (sets), работа которых реализована через хеши и rb-деревья. При этом элементы наборов могут быть заданы в виде диапазонов значений (можно определять подсети). Фильтр более не зависит от типа протокола, поддерживая IPv4, IPv6 и бриджинг. По умолчанию не производится учет пакетов и байт трафика, подпадающих под правила, их учет нужно включать отдельно.
Новый синтаксис правил в корне не похож на то, что было раньше и больше напоминает сценарий, в котором можно задавать условия, создавать переменные, выполнять математические операции. Язык классификации правил основан на реальной грамматике, при обработке которой используется сгенерированный в bison парсер. Например, типичный набор правил:
include "ipv4-filter"
chain filter output {
ct state established,related accept
tcp dport 22 accept
counter drop
}
По заявлению разработчиков, код nftables еще находится на стадии альфа тестирования и не подходит для использовании в промышленной эксплуатации, тем не менее в процессе регулярного тестирования последний крах ядра из-за сбоя nftables был зафиксирован несколько месяцев назад.
Источник
Nftables состоит из трех частей: кода фильтрации, работающего внутри ядра, связующей интерфейсной библиотеки libnl, работающей с ядром через netlink, и фронтэнда, работающего на уровне пользователя. Для формирования правил фильтрации в nftables представлена утилита nft , которая проверяет корректность правил и транслирует их в псевдокод. Правила теперь могут добавляться не только инкрементально, но и загружаться целиком из файла на диске, как это сделано, например, в пакетном фильтре PF.
Код фильтра, работающий на уровне ядра избавлен от блокировок и значительно сокращен, все операции по определению условий и связанных с ними действий выполняются на уровне пользователя, в ядре производится только базовый набор операций, таких как чтение данных из пакета, сравнение данных и т.п. В пакетный фильтр интегрирована поддержка словарного маппинга и поиска по наборам правил (sets), работа которых реализована через хеши и rb-деревья. При этом элементы наборов могут быть заданы в виде диапазонов значений (можно определять подсети). Фильтр более не зависит от типа протокола, поддерживая IPv4, IPv6 и бриджинг. По умолчанию не производится учет пакетов и байт трафика, подпадающих под правила, их учет нужно включать отдельно.
Новый синтаксис правил в корне не похож на то, что было раньше и больше напоминает сценарий, в котором можно задавать условия, создавать переменные, выполнять математические операции. Язык классификации правил основан на реальной грамматике, при обработке которой используется сгенерированный в bison парсер. Например, типичный набор правил:
include "ipv4-filter"
chain filter output {
ct state established,related accept
tcp dport 22 accept
counter drop
}
По заявлению разработчиков, код nftables еще находится на стадии альфа тестирования и не подходит для использовании в промышленной эксплуатации, тем не менее в процессе регулярного тестирования последний крах ядра из-за сбоя nftables был зафиксирован несколько месяцев назад.
Источник
Спасибо сказали:
-
DarkPhoenix
- Сообщения: 460
- Статус: Hatred
- ОС: Debian Squeeze
Re: Разработчики Netfilter представили замену iptables
Интересно. Все-таки не зря меня в универе yacc'ом пичкали)
Jabber JID: DarkFenX@jabber.org
ICQ UIN: 302028069
ICQ UIN: 302028069
-
georgy_sh
- Сообщения: 1172
- Статус: thermonuclear...
- ОС: GNU/Linux
Re: Разработчики Netfilter представили замену iptables
Спасибо за новость! Только что на свежеустановленной системе прописывал правила iptables. И тут новость такая интересная 
Судя по описанию, синтаксис правил действительно удобен.
Судя по описанию, синтаксис правил действительно удобен.
-
Daeloce
- Сообщения: 62
- ОС: OpenSUSE 11.0 Ubuntu 9.04
Re: Разработчики Netfilter представили замену iptables
Одно не понятно...Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе, и накропать приемлемый список правил для своего компа. У ip tables есть проблема с быстродействием, вот и решали бы её а не сочиняли новых пакетных фильтров!
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Разработчики Netfilter представили замену iptables
Daeloce писал(а): ↑21.03.2009 12:57Одно не понятно...Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе, и накропать приемлемый список правил для своего компа. У ip tables есть проблема с быстродействием, вот и решали бы её а не сочиняли новых пакетных фильтров!
Это не велосипед, это новая версия пакетного фильтра.
В которой, в том числе, пофиксена и проблема быстродействия.
а высказывания "синтаксис прост" и "осваивал 2 дня" - это взаимоисключающие вещи, вам так не кажется?
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Разработчики Netfilter представили замену iptables
У nftables новая архитектура, в которой вся логика файрвола вынесена из ядра в пользователькое приложение. Ибо ядро всё же более ограничено, и в нём сложнее делать анализ правил и проверку соответствия ситуации этим правилам.
Думаю, что этот файрвол не скоро можно будет использовать в системах, реально требующих защиты.
Думаю, что этот файрвол не скоро можно будет использовать в системах, реально требующих защиты.
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: Разработчики Netfilter представили замену iptables
давно пора имхо синтаксис поменять... в iptables какой-то он для роботов.
сравним (в правильности правила iptables не уверен):
?
всегла интересовало, что мешало разработчикам iptables сразу сделать человекочитабельный синтаксис правил...
..Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.
сравним (в правильности правила iptables не уверен):
Код: Выделить всё
iptables -A FORWARD -d 192.168.0.0/24 --dport 22 -p tcp -i eth1 -j ACCEPTКод: Выделить всё
ipfw add allow tcp 22 from any to 192.168.0.0/24 via fxp0?
всегла интересовало, что мешало разработчикам iptables сразу сделать человекочитабельный синтаксис правил...
Losing is fun!
-
mirlas
- Сообщения: 158
- ОС: Gentoo; Mandriva; FreeBSD
Re: Разработчики Netfilter представили замену iptables
arkhnchul писал(а): ↑21.03.2009 14:34давно пора имхо синтаксис поменять... в iptables какой-то он для роботов.
..Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.
сравним (в правильности правила iptables не уверен):
Код: Выделить всё
iptables -A FORWARD -d 192.168.0.0/24 --dport 22 -p tcp -i eth1 -j ACCEPT
Код: Выделить всё
ipfw add allow tcp 22 from any to 192.168.0.0/24 via fxp0
?
всегла интересовало, что мешало разработчикам iptables сразу сделать человекочитабельный синтаксис правил...
+1 Как раз хотел привести в пример фряшный фаервол
Надо сказать, когда у тебя не две три строчки в скрипте фаервола - то iptables - это ужас. Особенно если скрипты написаны третьим лицом. Это конечно понятно, что можно разобраться.... Но не тратить же мне 2 (!) дня, на изучение "простого синтаксиса" когда мне надо сделать еще порядка 5 задач не связанных с фаерволом ? В той же фре на это уходит.. ну часа 2, что бы понять чужую писанину + чтение манов и включение своеих изменений. Я уж молчу про удобство отладки...
-
ncsl
- Сообщения: 127
- Статус: Интересующийся линуксоид
- ОС: Arch/Slackware
Re: Разработчики Netfilter представили замену iptables
mirlas писал(а): ↑21.03.2009 15:11arkhnchul писал(а): ↑21.03.2009 14:34давно пора имхо синтаксис поменять... в iptables какой-то он для роботов.
..Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.
сравним (в правильности правила iptables не уверен):
Код: Выделить всё
iptables -A FORWARD -d 192.168.0.0/24 --dport 22 -p tcp -i eth1 -j ACCEPT
Код: Выделить всё
ipfw add allow tcp 22 from any to 192.168.0.0/24 via fxp0
?
всегла интересовало, что мешало разработчикам iptables сразу сделать человекочитабельный синтаксис правил...
+1 Как раз хотел привести в пример фряшный фаервол
Надо сказать, когда у тебя не две три строчки в скрипте фаервола - то iptables - это ужас. Особенно если скрипты написаны третьим лицом. Это конечно понятно, что можно разобраться.... Но не тратить же мне 2 (!) дня, на изучение "простого синтаксиса" когда мне надо сделать еще порядка 5 задач не связанных с фаерволом ? В той же фре на это уходит.. ну часа 2, что бы понять чужую писанину + чтение манов и включение своеих изменений. Я уж молчу про удобство отладки...
Согласен. Ну поэтому замена в виде Netfilter и нашлась. Сам под Slackware не один час потратил, пока с iptables разобрался и написал что-то более менее подходящее))
Motherboard Asus H97 Plus; Intel Core i5-4460 3.2GHz, Nvidia GeForce GTX 780
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Разработчики Netfilter представили замену iptables
Я вот до сих пор не понимаю, что заставляет людей грызть кактус, тратить недели на понимание правил iptables не имея хотя бы примерного представления о архитектуре netfilter и TCP/IP и плакаться по форумам о сложности iptables. Почему нельзя воспользоваться упрощёнными отлаженными оболочками для создания типичных групп правил? Firestarter, shorewall, SuSE Firewall или как он там.
-
Nikky
- Сообщения: 339
- ОС: Debian GNU/Linux
Re: Разработчики Netfilter представили замену iptables
Я вот до сих пор не понимаю, что заставляет людей грызть кактус, тратить недели на понимание правил iptables не имея хотя бы примерного представления о архитектуре netfilter и TCP/IP и плакаться по форумам о сложности iptables. Почему нельзя воспользоваться упрощёнными отлаженными оболочками для создания типичных групп правил? Firestarter, shorewall, SuSE Firewall или как он там.
ИМХО, [заставляет людей грызть кактус] те же причины, которые привели их в Линукс. С прошедшим!
Арфы нет - возьмите бубен...
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Разработчики Netfilter представили замену iptables
arkhnchul писал(а): ↑21.03.2009 14:34давно пора имхо синтаксис поменять... в iptables какой-то он для роботов.
..Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.
сравним (в правильности правила iptables не уверен):
Код: Выделить всё
iptables -A FORWARD -d 192.168.0.0/24 --dport 22 -p tcp -i eth1 -j ACCEPT
Код: Выделить всё
ipfw add allow tcp 22 from any to 192.168.0.0/24 via fxp0
?
всегла интересовало, что мешало разработчикам iptables сразу сделать человекочитабельный синтаксис правил...
это тоже относительно, я привык к синтаксису iptables
Блогосайт - http://www.fateyev.com
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Разработчики Netfilter представили замену iptables
Спасибо.
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: Разработчики Netfilter представили замену iptables
схема работы netfilter имхо к синтаксису правил отношения не имеет. Ибо /sbin/iptables - только морда для этих правил добавления, каковая свои аргументы - то, что набрал юзверь как правило файрвола - все равно преобразует в понятный netfilter-у вид, в каковом нет никаких --dport и -j. Таки почему бы не соорудить человеческий вид ввода, раз он все равно - по идее - не зависит от самого по себе фильтра?
Losing is fun!
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Разработчики Netfilter представили замену iptables
что-то вы неправильно себе ситуацию представляете. если человек будет осваивать нэтфильтр по википедии, то у него явно хватит мозгов не пытаться изучить iptables методом тыка.
а те, кто тыкают iptables наугад, будут аналогично тыкать нэтфильтр, и результат что там чт отам будет плачевным.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Разработчики Netfilter представили замену iptables
Bluetooth
Я хотел сказать, что iptables - это достаточно низкий уровень, и он, по большей степени, не слшком предназначен для использования обычным пользователем, так же как и telnet не предназначен, для отсылки писем по SMTP. И потому уж какой там у него синтаксис командной строки - дело третье.
Я хотел сказать, что iptables - это достаточно низкий уровень, и он, по большей степени, не слшком предназначен для использования обычным пользователем, так же как и telnet не предназначен, для отсылки писем по SMTP. И потому уж какой там у него синтаксис командной строки - дело третье.
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Разработчики Netfilter представили замену iptables
Bluetooth
Я хотел сказать, что iptables - это достаточно низкий уровень, и он, по большей степени, не слшком предназначен для использования обычным пользователем, так же как и telnet не предназначен, для отсылки писем по SMTP. И потому уж какой там у него синтаксис командной строки - дело третье.
а я вот об этом не знал :crazy:
впрочем, айпитейблс для реальных нужд и не использовал никогда, юзал SuSEFirewall :)
-
(asper
- Бывший модератор
- Сообщения: 1661
- Статус: nano vi sed awk !
- ОС: Работает как часы !
Re: Разработчики Netfilter представили замену iptables
Меня вполне устраивает синтаксис iptables, после прочтения руководства всё вроде логично и прозрачно.
Ну чтож будем посмотреть но новый синтаксис nftables ):
Ну чтож будем посмотреть но новый синтаксис nftables ):
Сомнительно доброе привидение
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Разработчики Netfilter представили замену iptables
а по-моему "прозрачно" - это когда открываешь конфиг и исходя из синтаксиса догадываешься что для чего
а не после того, как осилишь мануал и напишешь свой конфиг
-
landgraf
- Сообщения: 2142
- Статус: *бунту ненавистник
- ОС: linux
Re: Разработчики Netfilter представили замену iptables
Bluetooth
если писать _грамотно_ то прочитать можно любой конфиг и достаточно быстро (например цепочки правил с комментариями никто не отменял), а если писать вкривь, то можно любой "интуитивно понятный синтаксис" испаганить.
если писать _грамотно_ то прочитать можно любой конфиг и достаточно быстро (например цепочки правил с комментариями никто не отменял), а если писать вкривь, то можно любой "интуитивно понятный синтаксис" испаганить.
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Разработчики Netfilter представили замену iptables
если у тебя в конфиге будет комент типа "вот тут я открываю http/ftp/smtp во внешний мир", то открыть https для внешнего мира проблемы не составит, просто yyp и вставляем нужные цифры завместо тех что были.
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Разработчики Netfilter представили замену iptables
diesel писал(а): ↑23.03.2009 12:00
если у тебя в конфиге будет комент типа "вот тут я открываю http/ftp/smtp во внешний мир", то открыть https для внешнего мира проблемы не составит, просто yyp и вставляем нужные цифры завместо тех что были.
ну да. разве что камменты помогут.
Но такой синтаксис, в котором без бутылкикамментов не разберешься - по моему нифига не прозрачный
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: Разработчики Netfilter представили замену iptables
ну, вот iptables -L еще есть ... :-)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
-
Nelar
- Сообщения: 138
Re: Разработчики Netfilter представили замену iptables
Честно говоря, подобное разнообразие решений приносит больше вреда, чем пользы. Неужели нельзя договорится об одном стандарте на ближайшие >5 лет и заниматься ее реализацией, а не переписыванием стандарта?
С нетерпением ждем поддержку в fwbuilder и других нормальных инструментах. Не вижу смысла в подобных фразах.
Cкажите, незнание полного синтаксиса комманд FTP вам сильно мешает им пользоваться? нет
Незнание СSS,HTML мешает просмотру документов через браузер? нет
Неполное понимание стандарта JPEG,PNG вам мешает просмотру фотографий? нет
Человек - не машина, и не может знать всего. Более того - у профессионала задача проста - наиболее быстро, качественно и надежно решить задачу. По мне проще скинуться на доработку нормального интерфейса чем вечно переучиваться. Ваш героизм и глубокие знания синтаксиса iptables далеко не каждый оценит.
С нетерпением ждем поддержку в fwbuilder и других нормальных инструментах. Не вижу смысла в подобных фразах.
что заставляет людей грызть кактус, тратить недели на понимание правил iptable,
Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе,
Cкажите, незнание полного синтаксиса комманд FTP вам сильно мешает им пользоваться? нет
Незнание СSS,HTML мешает просмотру документов через браузер? нет
Неполное понимание стандарта JPEG,PNG вам мешает просмотру фотографий? нет
Человек - не машина, и не может знать всего. Более того - у профессионала задача проста - наиболее быстро, качественно и надежно решить задачу. По мне проще скинуться на доработку нормального интерфейса чем вечно переучиваться. Ваш героизм и глубокие знания синтаксиса iptables далеко не каждый оценит.
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Разработчики Netfilter представили замену iptables
Nelar писал(а): ↑01.04.2009 15:35Честно говоря, подобное разнообразие решений приносит больше вреда, чем пользы. Неужели нельзя договорится об одном стандарте на ближайшие >5 лет и заниматься ее реализацией, а не переписыванием стандарта?
С нетерпением ждем поддержку в fwbuilder и других нормальных инструментах. Не вижу смысла в подобных фразах.
что заставляет людей грызть кактус, тратить недели на понимание правил iptable,
Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе,
Cкажите, незнание полного синтаксиса комманд FTP вам сильно мешает им пользоваться? нет
Незнание СSS,HTML мешает просмотру документов через браузер? нет
Неполное понимание стандарта JPEG,PNG вам мешает просмотру фотографий? нет
Человек - не машина, и не может знать всего. Более того - у профессионала задача проста - наиболее быстро, качественно и надежно решить задачу. По мне проще скинуться на доработку нормального интерфейса чем вечно переучиваться. Ваш героизм и глубокие знания синтаксиса iptables далеко не каждый оценит.
Про "скинуться" не понял. вы собираетесь принять участие в проекте?
А вообще глубокие знания iptables найдется кому оценить
Но я отнюдь не призываю юзать только iptables