После года разработки опубликован выпуск классического инструментария для управления пакетным фильтром iptables 1.8.11, развитие которого последнее время сосредоточено на компонентах для сохранения обратной совместимости - iptables-nft и ebtables-nft, предоставляющих утилиты с тем же синтаксисом командной строки, как в iptables и ebtables, но транслирующих полученные правила в байткод nftables. Оригинальный набор программ iptables, включая ip6tables, arptables и ebtables, в 2018 году переведён в разряд устаревших и уже заменён на nftables в большинстве дистрибутивов...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62213
> утилиты с тем же синтаксисом командной строки, как в iptables и ebtables, но транслирующих полученные правила в байткод nftables.И тут байткод, и eBPF проталкивают. Похоже, что-то изменилось в "stable is nonsense" королевстве, как до серьёзной работы дошло.
> И тут байткод, и eBPF проталкивают. Похоже, что-то изменилось в
> "stable is nonsense" королевстве, как до серьёзной работы дошло.Внезапно, nft не подвязан на eBPF сам по себе. А так BPF изначально - вообще беркелейщики с своими BSD придумали. Что самое издевательское - это не помогло им сделать нормальный фаервол.
И какие у Вас претензии к PF?
> И какие у Вас претензии к PF?Он по сравнению с тем что умеет все это линуховое добро... как бы вам сказать то? :)
Ну скажи уже честно - темой не владеешь, ни одного примера рабочей (не высосанной из пальца) конфигурации привести не можешь.Чего там умеет линуксное - тоже толком не знаешь, потому что "видел" через чужое плечо.
Кстати, напомни, в каком году л@п4@тые сп-ли из pf os fingerprint match? И в каком оно появилось в самом pf (том, разумеется, настоящем).
У меня масса претензий к pf, но я-то в отличие от тебя им умею пользоваться.
> Ну скажи уже честно - темой не владеешь, ни одного примера рабочей
> (не высосанной из пальца) конфигурации привести не можешь.Таки вон то умеет жарить, парить и крестиком вышивать, довольно мощная и крутая штука. И на мой вкус синтаксис довольно читаемый.
А у вон тех есть полтора уродца, разные и с вечными проблемами, то одно не умеет, то другое, то многоядерности нет, то клинит на большом рулесете, не понос - так золотуха! Iptables без ipset'а - примерно туда же, btw.
> Чего там умеет линуксное - тоже толком не знаешь, потому что "видел"
> через чужое плечо.Кроме плеч я и поразвлекаться с этим малость умею. Может и не на уровне суперпро, но большая часть местных и так не умело.
> Кстати, напомни, в каком году л@п4@тые сп-ли из pf os fingerprint match?
> И в каком оно появилось в самом pf (том, разумеется, настоящем).Без понятия - я вообще не интересовался подобными извращениями.
> У меня масса претензий к pf, но я-то в отличие от тебя
> им умею пользоваться.А я вот nftables освоил малость.. ну или может уже и не совсем и малость.
>> Ну скажи уже честно - темой не владеешь, ни одного примера рабочей
>> (не высосанной из пальца) конфигурации привести не можешь.
> Таки вон то умеет жарить, парить и крестиком вышивать, довольно мощная иты об этом в интернетах прочитал. Примеров нет. Что и требовалось доказать.
> Кроме плеч я и поразвлекаться с этим малость умею. Может и не
ты кроме п-дедь - вообще ничего, похоже, не умеешь.
> Без понятия - я вообще не интересовался подобными извращениями.
Как обычно на любой вопрос требующий минимальных знаний темы.
> А я вот nftables освоил малость.. ну или может уже и не
слово выучил? Еще поди - кунфу и джиуджитсу освоил? Или второе пока с трудом выговариваешь?
Правила iptables всегда транслировались и обрабатывались модулем XT в виде байт-кода. Вы из спячки вышли и при чём здесь eBPF? Все смешалось в воспалённом сознании - люди, кони.
Это новая реальность ... Привыкай.
В утилиту ebtables-nft добавлена поддержка команд "--change-counters", "--replace" и "--list-rules". Добавлена возможность указания счётчиков для правил, используя синтаксис "-c N,M".
на десятом году "адекватной замены с тем же синтаксисом командной строки" мы научились даже в list-rules.Еще лет десять - научится реальные наборы правил транслировать. Иногда.
> Еще лет десять - научится реальные наборы правил транслировать. Иногда.А оно надо? Правила NFT писать не больно сложно и оно на мой вкус - даже читаемее получается. Особенно для _больших_ рулесетов.
В смысле "даже"?По сравнению с iptables, правила nft - это просто небесный нектар.
Iptables абсолютно не читаемое говнище. Даже ipfw, of и прочие в сто раз лучше
iptables просто нужно читать не в iptables -L, а в iptables-save, тогда становится достаточно читаемо. Но логики в этом нет и никогда не было, что вывод самой команды неадекватный, а читаемо только в команде для сохранения правил, с nft list ruleset сильно проще, согласен
iptables -S -> вывод аналогичен iptables-save.
> В смысле "даже"?
> По сравнению с iptables, правила nft - это просто небесный нектар.Смотря где. Если с командлайна и oneliner - ну вот не, с nft это будет несподручно. И команды у него несколько странные вообще. Если ты не знаешь что хочешь - даже список активных рулесов хрен посмотришь так сразу.
Но если рулесей несколько - нфтаблес резко вырывается вперед и там все куда логичнее и эстетичнее чем тот замес в iptablese. Ну там какойнить stateful фаер, NAT, а то и модный у некоторых редирект в nf queue. Что-то сравнимое в iptables - выглядит как тот еще брейнфак.
> Iptables абсолютно не читаемое говнище. Даже ipfw, of и прочие в сто раз лучше
Он окей для oneliner'ов но для чего-то сложнее этого... эээ...
В Android не перенесен модуль NFT. Так что по прежнему где-то да надо.
Хорошее дело делают, заботятся о братьях наших меньших, которые когда-то давно один раз зазубрили пару заклинаний для iptables, а теперь уже слишком стары, чтобы учиться новым. Вот это я понимаю, линукс с человеческим лицом.
Как тебе сказать, вот когда у тебя не пару строчек, в пару-тройку сотен тысяч..
Начнём с того, что ты никогда в своей жизни не видел «пару-тройку сотен тысяч» строк конфигурации фаерволла. Уже на десятках тысяч загрузка правил через iptables превращается в несоклько минут ожидания, в течение которых фаерволл находится в полусконфигурированном состоянии. В отличие от nftables, которые применяют новый конфиг атомарно и целиком. А продолжим тем, что на десятках тысяч правил фаерволла начинает заметно расти латенси (что ещё пол-беды) и джиттер (что куда серьёзнее), поэтому в проде для таких случаев используют железные решения, а не детсадовские решения из пластилина и желудей. На сотнях тысяч задержки и джиттер видны невооружённым глазом. Так что не говори мне лучше никак.
Некоторые сервера память перед запуском ОС тестируют по полчаса, потом ещё раиды проверяют. А тут аж целых несколько минут.
> Некоторые сервера память перед запуском ОС тестируют по полчаса,
> потом ещё раиды проверяют. А тут аж целых несколько минут.1) Это чаще всего настраивается.
2) ПОЛУсконфигурированый файрвол означает что сервис уже может быть доступен - но не только тем кому задумано правилами фаера. Или не всем легитимным пользователям. Что так фигня, что сяк.
А параметр -P Вы, судя по комментариям, так и не смогли освоить.
> начинает заметно расти латенсиА можно в цифрах?
Криво расставлены приоритеты в правилах.
какие еще приоритеты у такого дятла, ему в голову не приходит ничего кроме плоской простыни правил перебираемых по одному.Что для того и _chains_ чтобы их все не перебирать, и правил может быть хоть полмиллиона, никак не влияющих на latency потому что конкретный пакет проверяют из этого полумиллиона пять штук - он в вопросе серверфолта не дочитал.
Он вам и nftшные так же напишет, я уверен.
Chains — это ты правильно сказал. Цепочки предполагают собой наличие первого и последнего. Подумай на досуге, сколько времени займёт фильтрование пакета, который обрабатывается правилами в конце цепи, почему важно грамотное упорядочивание правил и как тут помогают счётчики. Ну и заодно посмотри, что делает COMMIT, почему их в выхлопе iptables-save несколько, и подумай так же что происходит МЕЖДУ двумя коммитами. Как разберёшься — пиши, я тебе ещё интересных задачек подкину мозги размять.
> Начнём с того, что ты никогда в своей жизни не видел …какой "убедительный" троль
iptables меняет (атомарно) сишный указатель со старой таблицы на новую, целиком и сразу.
исходники в ядре по этому вопросу легко читаемы даже начинающими.
в отличии от сабжа.
поэтому -
> находится в полусконфигурированном состоянииесли кто и может, так именно именно bpf. и сказать по какой фазе луны он это будет динамически делать не может никто.
включая админа целевой системы.
вернее даже так - особенно админа целевой системы.отсюда только один вопрос - таким тролям доплачивают для продвижения таких полезных инноваций?
или ещё точнее - много ли таким тролям доплачивают для продвижения таких полезных инноваций?
или они ииз разряда полезных иди… энтузиастов?
и да, слово COMMIT в выхлопе iptables-save дятлу ничего не говорит. Вероятнее всего потому что он никогда его и не видел.> отсюда только один вопрос - таким тролям доплачивают для продвижения таких полезных инноваций?
еще не хватало. они сами рады заплатить.
В догонку, вот обратная совместимость винды преподносится как достоинство, а с линуксом - так технологии дидов )
Не надо путать тёплое с мягким, и обратную совместимость с паллиативной заботой.
6 пунктов и 1.5 года работыНу я не знаю. Не знаю
во первых не 1,5, а 1. (так прям в заголоке сказано)
во вторых, сабж - всего-лишь юзер-спейсная часть того, что наворотили за этот 1 в ядре.
> Ну я не знаю. Не знаюименно
но это пол-беды.
теперь никто не знает что именно будет выполняться в этой ядрёной виртуальной машине на целевой системе в конкретный момент времени - так, догадки в определенном порядке следования каких то своих правил ещё будут, но и только
Зачем? Есть же nftables.