Опубликован выпуск пакетного фильтра nftables 0.9.9, унифицирующего интерфейсы фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов (нацелен на замену iptables, ip6table, arptables и ebtables). Одновременно опубликован выпуск сопутствующей библиотеки libnftnl 1.2.0, предоставляющей низкоуровневый API для взаимодействия с подсистемой nf_tables. Необходимые для работы выпуска nftables 0.9.9 изменения включены в состав ядра Linux 5.13-rc1...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=55214
Пункт 2 - это, фактически, индивидуальные фильтры для приложений? Как говорится, двадцать лет ждали.
если по UID, то уже давно было. совсем бесполезно, вот ты и не знал. привязка к конкретной группе процессов имела бы смысл.
> привязка к конкретной группе процессов имела бы смысл.Еще со времен iptables было.
да? где?
man iptables-extensions
/cgroup
> совсем бесполезно, вот ты и не зналДа знать-то знал, но это всё-таки немного не то и, согласен с утверждением, что в общем случае это бесполезно чуть менее чем совсем.
> что в общем случае это бесполезно чуть менее чем совсем."старый, но не бесполезный!" (С) Терминатор Генезис
а если ты знал
> Как говорится, двадцать лет ждали.то чего ж ты тогда ждал?
уж молчал бы лучше, ждун., а то чем дальше - тем все глубже получается...
> в общем случае это бесполезно чуть менее чем совсем.а дай-ка я угадаю чего ты ждал и что для тебя "полезно". ты ждал чего-то, а-ля виндовенький аутпост-фаерволл, так ведь?
боюсь что в этом случае для тебя тоже плохие (или хорошие- это смотря как посмотреть, но в любом случае весьма неожиданные) новости - подобный функционал легко скриптовался в самом начале бородатых нулевых с помощью AppArmor, нескольких консольных команд и такой-то матери в лице unix-way.
> а-ля виндовенький аутпост-фаерволлю так ведьНе только.
> подобный функционал легко скриптовался в самом начале бородатых нулевых с помощью AppArmor, нескольких консольных команд и такой-то матери в лице unix-way.
А давай я тебе скажу, юный саркастичный друг, что многим нужны не только правила в стиле "Пущать"/"Не пущать" (deny network, deny capabilty *), а гораздо более гибкие.
>не только правила в стиле "Пущать"/"Не пущать"но и постирать, приготовить, убрать, спать уложить :)
Фильтрация по пользователям необходима для DAC это необходимо и очень удобно. Например разрешить пользователю tor ходить в инет, а остальным нет.Есть таблица security и возможность привязки к MAC...
Мне лично необходима фича добавления и удаления правил при добавлении/удалении интерфейса и она уже есть давно.
Нет, это совсем бесполезно. Вот правила для конкретного файла на диске это очень полезно.
Да, нефиг файлу ~/.xsession-errors в интернет лазить.
Именно, в венде давно файлы в интернет по белому списку выпускают (ещё и логируют все соединения файла и их можно в реальном времени наблюдать).
Хотя конечно в венде запущенный файл не удалить. Но и в линуксе можно залочить удаление пока запущен.
> правила для конкретного файлаА как же inodes/хардлинки и симлинки?
> А как же inodes/хардлинки и симлинки?Пока они ссылаются на тот же файл всё в порядке (в теории). Но можно и отдельно, а заодно и хэш файла записать, чтобы не подменили.
> Пока они ссылаются на тот же файл всё в порядке (в теории).На самом деле симлинки/хардлинки - это только первая и очевидная проблема, понятная любому линукс-нубу. Потом всплывает проблема, что процесс (исполняемый код) вообще-то с файлом на диске не сильно связан (например, динамические библиотеки вообще отношения к ядру не имеют - ld.so живёт в userspace и ядру о себе не рассказывает).
Вроде и не линукс-нуб, а всё ещё не вижу в чём тут проблема даже после указания на первую и очевидную проблему. Может быть потому что она только линукс-нубу и видна? Кого там обманывать, ядро? По остальному, если бинарник, с которого процесс запущен, уже имеет все права, то он может делать что угодно дальше. Интересует только "хозяин" и не зависимости, и противодействовать паразитированию на процессе с правами надо отдельно.
Уже 5.13 используете? Камикадзе? :)
Некоторые и -next юзают и ничего.
Лучшая смерть воина - в бою, пожарного - в огне, альпиниста - в горах,...
... линуксоида - в kernel panic.
Хороший альпинист — старый альпинист.
Хороший пожарник — старый пожарник.
Хороший воин — старый воин.
...
Хороший X — старый X.
Хороший Хрыч - Старый Хрыч.
Хороший нуб или юзер умирает в постели в собственном г.
... или умудряется подорваться на Debian stable.
... подорваться на Ubuntu простительно даже джедаю при условии хотя бы элементарных скиллов регенерации конечностей.
При этом воин в посмертии отправляется в Вальгаллу (правда, ненадолго), пожарный в ад, альпинист танцевать на гребне с горными чертями, а линуксоид в то самое место где "здесь же, но системным администратором"./поправляет молот тора на шее.
> /поправляет молот тора на шее.че с Тором сделал?
>> /поправляет молот тора на шее.
> че с Тором сделал?принес ему в жертву пару лап4@-х, а ты думал? Такие штуки без кровавой жертвы не выдают.
Почему не пару бзунов с ведной? Специально до полюса плавал? Скорее всего, ты ошибся, и взял тех же бзунов.
> Почему не пару бзунов с ведной?The Gods DON'T CARE about your sacrifice!
патамушта.Да не, зачем так далеко - в ближайшем опенспейсе полно этого барахла.
Ну ок, не в ближайшем а в следующем, в ближайшем рабы Диасофт, там, понятно, винда, бесполезные юниты.
> Почему не пару бзунов с ведной? Специально до полюса плавал? Скорее всего,
> ты ошибся, и взял тех же бзунов.Потому что "бзуны с ведной" только в опеннетном фольклоре остались, а вот лап4@-х c ней же (или макосью) - хоть этим самым местом жуй?
> Потому что "бзуны с ведной" только в опеннетном фольклоре осталисьДа, BSD уже того. На дворе 2021 год, кстати.
>> Потому что "бзуны с ведной" только в опеннетном фольклоре остались
> Да, BSD уже того. На дворе 2021 год, кстати.Да, 2021 год на дворе, т.е. опеннетные лап4@-ые ее уже 21 год хоронят.
Еще 15 лет назад захоронили и бетоном залили от греха подальше.
> Еще 15 лет назад захоронили и бетоном залили от греха подальше.Только ритуальные пляски опеннетчиков не особо сказались на реальности (машинок с той же фрёй - не одна сотня миллионов). Увы.
А сколько сотен миллионов, 2? Я слышал только про плойки, и что-то вроде медиа-дрм приставок для тв. Ну, ещё сетевое железо где вся ценная логика в асиках. При этом, все пользователи в один голос уверяют, что это было большой ошибкой не смотря на все преимущества закрытого кода (а они есть?). Увы.
Именно. Какой смысл приносить в жертву то, чего как этого самого за баней? Это неуважение прямо какое-то.
Завидую воину, у которого СТОЛЬКО врагов!
> Уже 5.13 используете? Камикадзе? :)Ну в LTS-то оно доползёт ближайшие пару лет.
Не факт, что перед этим его стабилизируют или хотя бы протестируют.
Одна из причин, почему мы с убунты съехали - под вывеской LTS по факту роллинг ключевых компонентов. Если бы нам был нужен роллинг, мы бы сразу взяли арч.
Вам LTS или ехать?
им - ехать, а не катиться (под откос)
Нет, это пункт 4 (впрочем, в systemd уже несколько лет как реализовано на основе eBPF).Пункт 2 скорее для всяких firewalld и fail2ban, которым нужно фаерволом рулить.
Понял. Спасибо за разъяснения.
Ненужнод не применяется в реальности в OpenWRT, а именно OpenWRT является наиболее распространенным дистрибутивом в среде маршрутизаторов. В том числе фхорки, включая всяких сяоми с самыми популярными роутерами по причине крайней доступности всякие 3g, 3gv2, R3 Pro и пачки новых.
Среди маршрутизаторов SOHO-сегмента, заметим, где всякие продвинутые фичи не так уж и важны. Они могут до сих пор прекрасно на ядре 2.6.x с iptables 1.4 работать.
Не нужно, есть iptables-Block
Точно сказали, лишние телодвижения всё это.
Да, достаточно сетевой шнур вытащить, и оконное стекло выдавить.
> Linux 5.13Там еще новый Sandbox (Landlock) обещают... С нетерпением ждём!
это который на расте чтоли?
> полное прохождение всех цепочек обработки правил применяется только для первого пакета, а все остальные пакеты в потоке пробрасывать напрямую.Потенциальная дырень.
Очень нужная фича в ситуации, когда поток входит в интерфейс и выходит через него же.Ситуация:
- компьютер выполняет роль роутера (Router-on-Stick);
- в компьютере только одна сетевая карта с одним портом или с несколькими портами, управляемыми одним чипом коммутации;Типичный пример - бордеры (серверы провайдеров, через которые трафик клиентов ходит в интернет).
Обычно пакет проходит через несколько стадий:
1) Копирование пакета из сетевухи в систему.
Чтобы пакет попал в пакетный фильтр системы, этот пакет должен быть вначале скопирован с из чипа сетевухи в оперативную память компьютера.
2) Анализ пакета пакетным фильтром.
Первый входящий пакет проходит через сотни-тысячи правил, а иногда и через сотни тысяч правил.
На прохождение пакета через пакетный фильтр из большого набора правил необходимо существенное время.
3) Манипуляции над пакетом (изменение содержимого заголовков пакета).
В пакетном фильтре система определяет, что пакет необходимо отправить через тот же интерфейс, по которому пакет пришел в систему.
Система производит манипуляции над заголовком пакета (меняет адреса получателя, если там NAT - то ещё адрес отправителя и порты отправителя/получателя, и ещё кое-какие манипуляции по мелочи).
4) Копирование пакета из системы в сетевуху.
Чтобы пакет попал на выход сетевухи, этот пакет необходимо скопировать из оперативки компьютера в сетевуху.Системе ни разу не интересно гонять пакеты вхолостую из сетевухи в систему и обратно, если уже по первому пакету понятно, что эти пакеты и дальше будут гоняться по тому же пути, да ещё и тратить на это драгоценные миллисекунды (на высоконагруженной системе важны даже микросекунды).
Чтобы устранить задержки на безтолковый анализ, система просто пнёт сетевуху командой "пропускай дальнейшие входящие пакеты вот этого потока в том же направлении, в котором ушёл первый исходящий пакет", а для сетевухи это будет значить примерно "входящий пакет принять, ни разу не отправлять пакет в хост-систему, с заголовком пакета провернуть некоторые манипуляции прямо в чипе сетевухи и выплюнуть пакет как исходящий в обратную сторону".
Для бытового компа фича не актуальна, а для высоконагруженных систем - очень даже нужна, важна, желаема и обожаема потому, что на том же железе можно будет гонять трафика в несколько раз больше (а может даже и в несколько десятков раз больше).
Под "позволит гонять больше трафика" - это о ситуации, когда производительность такого роутера ограничена производительностью пакетного фильтра (например - несколько сотен тысяч правил и несколько миллионов записей в таблицах - что вполне реально у типичного провайдера).
> Под "позволит гонять больше трафика" - это о ситуации, когда производительность такого
> роутера ограничена производительностью пакетного фильтра (например - несколько сотен
> тысяч правил и несколько миллионов записей в таблицах - что вполне
> реально у типичного провайдера).у типичного провайдера типично пакетный фильтр на бордере - из пяти строк - deny 192.168/16 и так далее. От ошибок в маршрутизации у партнеров, в основном. Он - провайдер, ему не полагается ковыряться в чужом траффике.
А миллионы записей - это у васянов.
> Ситуация:
> - компьютер выполняет роль роутера (Router-on-Stick);
> - в компьютере только одна сетевая карта с одним портом или сне хотелось бы вас огорчать, но г-но на палочке уже не очень модно у _провайдеров_ и владельцев высоконагруженных систем.
В васян-подвалах еще встречается, конечно.
А операторское железо так не работает, оно вообще не процессором пакеты разбирает.
Ну, впрочем, есть еще пейсбук,чтоб денег никому не платить и не такое может. Но я все же полагаю, что не делает.
>А операторское железо так не работает, оно вообще не процессором пакеты разбирает.Вон недавно статься была на хабре, как гонять 100 гигабит трафика и делать нат на древних зеонах
Ну и чего, мало на хабре подвальных, что-ли.Ростелек всех не может переварить, как ни старается.
> Очень нужная фича в ситуацииЯ не спорю, что фича нужная. Фича нужная и важная.
Дайте угадаю, дальше будет как в WoWarships? 0.10.0?
Как во всем гейгейминге, а не в одном его продукте.
Жопненький синтаксис
> Жопненький синтаксисэто ж не для людей, это для роботов и рабов пейсбука придумано. Тебе дальше firewalld не понадобится, да и не дадут - доскер сломаешь.
Сишечкоподобный же, со скобочками {}
А кто сказал, что у сишечки хороший синтаксис?
я
Недостаточно авторитетный источник.
Можно ссылку на что-нибудь из Q1 или Q2 Scopus или WoS?
Синтаксис странноватый.
дегенераты вроде тебя ничего кроме синтаксиса не видят
А где вопли про комбайн? Синтаксис то аналогичен сравнению ifconfigа с ip. Все равно в OpenWRT еще несколько лет ждать ядра 5.13. А аппаратное ускорение перекладывания пакетов в драйверах уже имеется.
> А где вопли про комбайн?Зачем, если можно докопаться к синтаксису?
Вот с systemD не катит, потому что очень сложно доказать, что синтаксис ini-файлов сложен. Поэтому пришлось подводить гуманитарно-философский базис.
А нативного nfttables-apply по анологии с iptables-apply так и не осилили ?
iptables-apply - это shell-скрипт, и к iptables не приколочен. Там буквально несколько строчек поменять.
> iptables-apply - это shell-скрипт, и к iptables не приколочен. Там буквально несколько
> строчек поменять.Угу и сделать это на тысячах машин как два пальца... и так с каждым новым апдайтом.