Разработчики Netfilter представили замену iptables

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Tokra
Сообщения: 399

Разработчики Netfilter представили замену iptables

Сообщение Tokra »

Вниманию общественности представлен первый публичный выпуск проекта 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 был зафиксирован несколько месяцев назад.

Источник
Спасибо сказали:
Аватара пользователя
DarkPhoenix
Сообщения: 460
Статус: Hatred
ОС: Debian Squeeze

Re: Разработчики Netfilter представили замену iptables

Сообщение DarkPhoenix »

Интересно. Все-таки не зря меня в универе yacc'ом пичкали)
Jabber JID: DarkFenX@jabber.org
ICQ UIN: 302028069
Спасибо сказали:
Аватара пользователя
georgy_sh
Сообщения: 1172
Статус: thermonuclear...
ОС: GNU/Linux

Re: Разработчики Netfilter представили замену iptables

Сообщение georgy_sh »

Спасибо за новость! Только что на свежеустановленной системе прописывал правила iptables. И тут новость такая интересная :)

Судя по описанию, синтаксис правил действительно удобен.
Спасибо сказали:
Аватара пользователя
Daeloce
Сообщения: 62
ОС: OpenSUSE 11.0 Ubuntu 9.04

Re: Разработчики Netfilter представили замену iptables

Сообщение Daeloce »

Одно не понятно...Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе, и накропать приемлемый список правил для своего компа. У ip tables есть проблема с быстродействием, вот и решали бы её а не сочиняли новых пакетных фильтров!
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Разработчики Netfilter представили замену iptables

Сообщение Bluetooth »

Daeloce писал(а):
21.03.2009 12:57
Одно не понятно...Зачем городить велосипеды? Есть IpTables, и его синтаксис вполне прост для понимания.Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе, и накропать приемлемый список правил для своего компа. У ip tables есть проблема с быстродействием, вот и решали бы её а не сочиняли новых пакетных фильтров!

Это не велосипед, это новая версия пакетного фильтра.
В которой, в том числе, пофиксена и проблема быстродействия.
а высказывания "синтаксис прост" и "осваивал 2 дня" - это взаимоисключающие вещи, вам так не кажется? :)
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Разработчики Netfilter представили замену iptables

Сообщение serzh-z »

У nftables новая архитектура, в которой вся логика файрвола вынесена из ядра в пользователькое приложение. Ибо ядро всё же более ограничено, и в нём сложнее делать анализ правил и проверку соответствия ситуации этим правилам.

Думаю, что этот файрвол не скоро можно будет использовать в системах, реально требующих защиты.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Разработчики Netfilter представили замену iptables

Сообщение arkhnchul »

давно пора имхо синтаксис поменять... в 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

Сообщение mirlas »

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

Сообщение ncsl »

mirlas писал(а):
21.03.2009 15:11
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, что бы понять чужую писанину + чтение манов и включение своеих изменений. Я уж молчу про удобство отладки...


Согласен. Ну поэтому замена в виде 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

Сообщение serzh-z »

ncsl писал(а):
21.03.2009 20:01
Сам под Slackware не один час потратил, пока с iptables разобрался и написал что-то более менее подходящее))
Я вот до сих пор не понимаю, что заставляет людей грызть кактус, тратить недели на понимание правил iptables не имея хотя бы примерного представления о архитектуре netfilter и TCP/IP и плакаться по форумам о сложности iptables. Почему нельзя воспользоваться упрощёнными отлаженными оболочками для создания типичных групп правил? Firestarter, shorewall, SuSE Firewall или как он там.
Спасибо сказали:
Аватара пользователя
Nikky
Сообщения: 339
ОС: Debian GNU/Linux

Re: Разработчики Netfilter представили замену iptables

Сообщение Nikky »

Я вот до сих пор не понимаю, что заставляет людей грызть кактус, тратить недели на понимание правил iptables не имея хотя бы примерного представления о архитектуре netfilter и TCP/IP и плакаться по форумам о сложности iptables. Почему нельзя воспользоваться упрощёнными отлаженными оболочками для создания типичных групп правил? Firestarter, shorewall, SuSE Firewall или как он там.


ИМХО, [заставляет людей грызть кактус] те же причины, которые привели их в Линукс. С прошедшим!
Арфы нет - возьмите бубен...
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Разработчики Netfilter представили замену iptables

Сообщение danger08 »

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 :rolleyes:
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Разработчики Netfilter представили замену iptables

Сообщение serzh-z »

Nikky писал(а):
22.03.2009 13:43
ИМХО, [заставляет людей грызть кактус] те же причины, которые привели их в Линукс. С прошедшим!
Спасибо. :drinks: Так может тогда лучше потратить это время, хотя бы 2 дня, на изучение той же схемы работы netfilter, описаной, например, в википедии, чем втупую интуитивно пытаться выучить синтаксис командной строки iptables?
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Разработчики Netfilter представили замену iptables

Сообщение arkhnchul »

схема работы netfilter имхо к синтаксису правил отношения не имеет. Ибо /sbin/iptables - только морда для этих правил добавления, каковая свои аргументы - то, что набрал юзверь как правило файрвола - все равно преобразует в понятный netfilter-у вид, в каковом нет никаких --dport и -j. Таки почему бы не соорудить человеческий вид ввода, раз он все равно - по идее - не зависит от самого по себе фильтра?
Losing is fun!
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Разработчики Netfilter представили замену iptables

Сообщение Bluetooth »

serzh-z писал(а):
22.03.2009 14:16
Nikky писал(а):
22.03.2009 13:43
ИМХО, [заставляет людей грызть кактус] те же причины, которые привели их в Линукс. С прошедшим!
Спасибо. :drinks: Так может тогда лучше потратить это время, хотя бы 2 дня, на изучение той же схемы работы netfilter, описаной, например, в википедии, чем втупую интуитивно пытаться выучить синтаксис командной строки iptables?

что-то вы неправильно себе ситуацию представляете. если человек будет осваивать нэтфильтр по википедии, то у него явно хватит мозгов не пытаться изучить iptables методом тыка.
а те, кто тыкают iptables наугад, будут аналогично тыкать нэтфильтр, и результат что там чт отам будет плачевным.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Разработчики Netfilter представили замену iptables

Сообщение serzh-z »

Bluetooth
Я хотел сказать, что iptables - это достаточно низкий уровень, и он, по большей степени, не слшком предназначен для использования обычным пользователем, так же как и telnet не предназначен, для отсылки писем по SMTP. И потому уж какой там у него синтаксис командной строки - дело третье.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Разработчики Netfilter представили замену iptables

Сообщение Bluetooth »

Bluetooth
Я хотел сказать, что iptables - это достаточно низкий уровень, и он, по большей степени, не слшком предназначен для использования обычным пользователем, так же как и telnet не предназначен, для отсылки писем по SMTP. И потому уж какой там у него синтаксис командной строки - дело третье.

а я вот об этом не знал :crazy:
впрочем, айпитейблс для реальных нужд и не использовал никогда, юзал SuSEFirewall :)
Спасибо сказали:
Аватара пользователя
(asper
Бывший модератор
Сообщения: 1661
Статус: nano vi sed awk !
ОС: Работает как часы !

Re: Разработчики Netfilter представили замену iptables

Сообщение (asper »

Меня вполне устраивает синтаксис iptables, после прочтения руководства всё вроде логично и прозрачно.
Ну чтож будем посмотреть но новый синтаксис nftables ):
Сомнительно доброе привидение
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Разработчики Netfilter представили замену iptables

Сообщение Bluetooth »

(asper писал(а):
22.03.2009 17:25
Меня вполне устраивает синтаксис iptables, после прочтения руководства всё вроде логично и прозрачно.
Ну чтож будем посмотреть но новый синтаксис nftables ):

а по-моему "прозрачно" - это когда открываешь конфиг и исходя из синтаксиса догадываешься что для чего :)
а не после того, как осилишь мануал и напишешь свой конфиг :crazy:
Спасибо сказали:
Аватара пользователя
landgraf
Сообщения: 2142
Статус: *бунту ненавистник
ОС: linux

Re: Разработчики Netfilter представили замену iptables

Сообщение landgraf »

Bluetooth
если писать _грамотно_ то прочитать можно любой конфиг и достаточно быстро (например цепочки правил с комментариями никто не отменял), а если писать вкривь, то можно любой "интуитивно понятный синтаксис" испаганить.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Разработчики Netfilter представили замену iptables

Сообщение diesel »

Bluetooth писал(а):
23.03.2009 01:14
(asper писал(а):
22.03.2009 17:25
Меня вполне устраивает синтаксис iptables, после прочтения руководства всё вроде логично и прозрачно.
Ну чтож будем посмотреть но новый синтаксис nftables ):

а по-моему "прозрачно" - это когда открываешь конфиг и исходя из синтаксиса догадываешься что для чего :)
а не после того, как осилишь мануал и напишешь свой конфиг :crazy:

если у тебя в конфиге будет комент типа "вот тут я открываю http/ftp/smtp во внешний мир", то открыть https для внешнего мира проблемы не составит, просто yyp и вставляем нужные цифры завместо тех что были. :)
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Разработчики Netfilter представили замену iptables

Сообщение Bluetooth »

diesel писал(а):
23.03.2009 12:00
Bluetooth писал(а):
23.03.2009 01:14
(asper писал(а):
22.03.2009 17:25
Меня вполне устраивает синтаксис iptables, после прочтения руководства всё вроде логично и прозрачно.
Ну чтож будем посмотреть но новый синтаксис nftables ):

а по-моему "прозрачно" - это когда открываешь конфиг и исходя из синтаксиса догадываешься что для чего :)
а не после того, как осилишь мануал и напишешь свой конфиг :crazy:

если у тебя в конфиге будет комент типа "вот тут я открываю http/ftp/smtp во внешний мир", то открыть https для внешнего мира проблемы не составит, просто yyp и вставляем нужные цифры завместо тех что были. :)

ну да. разве что камменты помогут.
Но такой синтаксис, в котором без бутылкикамментов не разберешься - по моему нифига не прозрачный :)
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Разработчики Netfilter представили замену iptables

Сообщение Ленивая Бестолочь »

ну, вот iptables -L еще есть ... :-)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Nelar
Сообщения: 138

Re: Разработчики Netfilter представили замену iptables

Сообщение Nelar »

Честно говоря, подобное разнообразие решений приносит больше вреда, чем пользы. Неужели нельзя договорится об одном стандарте на ближайшие >5 лет и заниматься ее реализацией, а не переписыванием стандарта?

С нетерпением ждем поддержку в fwbuilder и других нормальных инструментах. Не вижу смысла в подобных фразах.
что заставляет людей грызть кактус, тратить недели на понимание правил iptable,

Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе,

Cкажите, незнание полного синтаксиса комманд FTP вам сильно мешает им пользоваться? нет
Незнание СSS,HTML мешает просмотру документов через браузер? нет
Неполное понимание стандарта JPEG,PNG вам мешает просмотру фотографий? нет
Человек - не машина, и не может знать всего. Более того - у профессионала задача проста - наиболее быстро, качественно и надежно решить задачу. По мне проще скинуться на доработку нормального интерфейса чем вечно переучиваться. Ваш героизм и глубокие знания синтаксиса iptables далеко не каждый оценит.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Разработчики Netfilter представили замену iptables

Сообщение Bluetooth »

Nelar писал(а):
01.04.2009 15:35
Честно говоря, подобное разнообразие решений приносит больше вреда, чем пользы. Неужели нельзя договорится об одном стандарте на ближайшие >5 лет и заниматься ее реализацией, а не переписыванием стандарта?

С нетерпением ждем поддержку в fwbuilder и других нормальных инструментах. Не вижу смысла в подобных фразах.
что заставляет людей грызть кактус, тратить недели на понимание правил iptable,

Мне например потребовалось 2 дня чтобы разобраться в его синтаксисе,

Cкажите, незнание полного синтаксиса комманд FTP вам сильно мешает им пользоваться? нет
Незнание СSS,HTML мешает просмотру документов через браузер? нет
Неполное понимание стандарта JPEG,PNG вам мешает просмотру фотографий? нет
Человек - не машина, и не может знать всего. Более того - у профессионала задача проста - наиболее быстро, качественно и надежно решить задачу. По мне проще скинуться на доработку нормального интерфейса чем вечно переучиваться. Ваш героизм и глубокие знания синтаксиса iptables далеко не каждый оценит.

Про "скинуться" не понял. вы собираетесь принять участие в проекте?
А вообще глубокие знания iptables найдется кому оценить :)
Но я отнюдь не призываю юзать только iptables :)
Спасибо сказали: