The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Для ядра Linux предложен новый пакетный фильтр bpfilter, opennews (?), 21-Фев-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


21. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +1 +/
Сообщение от pavlinux (ok), 22-Фев-18, 02:54 
Покажи как в pf.conf будет выглядить правило: делать MIRROR на все UDP пакеты из Китая ниже 1024 порта с TTL меньше 50, с 23:00 до 08:00
Ответить | Правка | Наверх | Cообщить модератору

24. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от . (?), 22-Фев-18, 03:12 
А как в iptables? Или ты так, для почесать ниже хвоста?
Ответить | Правка | Наверх | Cообщить модератору

25. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +9 +/
Сообщение от angra (ok), 22-Фев-18, 03:44 
Ну, если опустить установку и загрузку необходимых для этого модулей, то как то так:
-A INPUT -p udp --sport 1:1023 -m ttl --ttl-lt 50 -m geoip --src-cc CN -m time --timestart 23:00 --timestop 08:00 -j MIRROR
-A FORWARD -p udp --sport 1:1023 -m ttl --ttl-lt 50 -m geoip --src-cc CN -m time --timestart 23:00 --timestop 08:00 -j MIRROR
Ответить | Правка | Наверх | Cообщить модератору

28. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  –2 +/
Сообщение от Аноним (-), 22-Фев-18, 05:33 
То есть iptables выполняет ф-цию крона? А как же unix-way и все такое?
Ответить | Правка | Наверх | Cообщить модератору

29. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +4 +/
Сообщение от angra (ok), 22-Фев-18, 05:53 
В каком месте? cron это выполнение действия в определенное время, а здесь одно из условий фильтрации. Можно конечно по крону добавлять и удалять правило, но зачем, если фильтр по времени уже есть. Ну и запустить что-либо по времени iptables не сможет.
С тем же успехом можно заявить, что find не unix-way, ведь его -print тоже может вывести список файлов подобно ls.
Ответить | Правка | Наверх | Cообщить модератору

125. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от Агроном (?), 23-Фев-18, 07:36 

> С тем же успехом можно заявить, что find не unix-way, ведь его
> -print тоже может вывести список файлов подобно ls.

Кеонечно не unixway, поскольку вывод списка файлов это частный случай поиска.

Ответить | Правка | Наверх | Cообщить модератору

62. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от PnDx (ok), 22-Фев-18, 12:36 
Зачем напрямую дёргать "ассемблер" iptables, если для декларативного описания цепочек есть ferm?
(Синтаксис nftables вероятно оттуда вдохновлялся, хотя могли и переизобрести)
Пример синтаксиса (chain "icmp"):
chain icmp {
  proto icmp {
   mod length length 129:9000 DROP;
   icmp-type (redirect source-quench router-advertisement router-solicitation timestamp-request address-mask-request) DROP;
   mod hashlimit hashlimit-name "ICMP" hashlimit 2/second hashlimit-mode srcip hashlimit-srcmask 32 ACCEPT;
   DROP;
  }
}

Правила iptables на выходе:
-A icmp -p icmp -m length --length 129:9000 -j DROP
-A icmp -p icmp -m icmp --icmp-type 5 -j DROP
-A icmp -p icmp -m icmp --icmp-type 4 -j DROP
-A icmp -p icmp -m icmp --icmp-type 9 -j DROP
-A icmp -p icmp -m icmp --icmp-type 10 -j DROP
-A icmp -p icmp -m icmp --icmp-type 13 -j DROP
-A icmp -p icmp -m icmp --icmp-type 17 -j DROP
-A icmp -p icmp -m hashlimit --hashlimit-upto 2/sec --hashlimit-mode srcip --hashlimit-name ICMP -j ACCEPT
-A icmp -p icmp -j DROP

Вот так, и ни какого "прокрустова ложа" как у всякой табличной лабуды. Писано правда на перле, но очень внятно.
* geoip туда не прикручивали (и правильно, делать такое на уровне ядра → прилечь на 100% cpu.sys), но при желании добивается за пол-часа по готовым клише.

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

65. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +1 +/
Сообщение от пох (?), 22-Фев-18, 12:45 
> Зачем напрямую дёргать "ассемблер" iptables, если для декларативного описания цепочек
> есть ferm?

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

отдельно покажите мне как выглядит svn (или что у вас там, обезьянки любят git?) diff после добавления еще одного icmp-type в вашем "неассемблере" и как - в iptables. Удобно, да?
(и да, оно ресолвит типы, гадать на числовых значениях необязательно)

И ведь задачка -то была примитивная... Что ж будет, когда понадобится что-то серьезное, типа QUERY...

Ответить | Правка | Наверх | Cообщить модератору

70. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от PnDx (ok), 22-Фев-18, 12:57 
Вот как раз diff прекрасно выгладит. Потому что:
1. Декларация модульная. Нужное — инклудится. Очень приятно при необходимости нарисовать NAT + вспомогательные правила для грядки /24 b2b клиентов бизнес-центра (делал такое лет 10 назад).
2. Декларируются переменные-массивы:
def $VOIP_TRUNKS=(
x.x.x.x/27
y.y.y.y        # Megafon vlan NNNN
}

Реально что-то меняется в 1-2 переменных. diff — просто красота. (Я понимаю, что Вы просто привыкли к текущим листингам, и это ок. Но при работе большой командой ferm *реально* ускоряет. Просто потому что не нужно *всем* учить iptables).

Ответить | Правка | Наверх | Cообщить модератору

112. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от angra (ok), 22-Фев-18, 21:58 
Конечно всем учить iptables не нужно. И уж тем более ferm не нужно. Для этих невсех делается вебинтерфейс и они радостно в нем кликают, не вникая в детали.
А вот админам учить iptables необходимо, так как конечный вариант будет на нем, а кроме как написать своё, админ должен уметь прочитать имеющееся. И даже только для написания он должен понимать логику работы iptables. А после её понимания обычно никаких проблем с синтаксисом нет вообще. Ну и наконец хороший админ не привязан на всю жизнь к определенному месту работы, он может его сменить. И на новом месте ferm с высокой вероятностью не окажется, там может быть совсем другой генератор  или вообще никакого, а iptables всегда останутся.
Ответить | Правка | Наверх | Cообщить модератору

146. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от Аноним (-), 24-Фев-18, 04:32 
> Реально что-то меняется в 1-2 переменных. diff — просто красота.

А чего в примере скобки разные? Это баг или фича? Впрочем у блинлайна, мегавони, трактористов и прочих телевиков вся сеть состоит из багофич чуть более чем полностью. Чему немало народа несказанно радо.

Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

161. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от PnDx (ok), 26-Фев-18, 12:23 
> А чего в примере скобки разные? Это баг или фича? Впрочем у

  Это кривая копипаста. А вы таки хотели, чтобы я слил для иллюстрации чуть меньше 100500 строк с боевого конфига?
* Было дело, в начале 200х (стырившие/сбрутившие приватный ключ) авторы кейгена для одного супер-дорогого софта проиллюстрировали его работоспособность скриншотом с лицензией на 100 хостов с привязкой к незатёртому mac-адресу.

  Косяки на сетях "толстых" операторов множатся в т.ч. по причине "соптимизированного" среднего тех. звена. Отдельным паразитам это может и кормовая база, а вот "встречные" операторы росту претензий на пропуск трафика рады не вполне.

Ответить | Правка | Наверх | Cообщить модератору

121. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от pavlinux (ok), 23-Фев-18, 03:15 
> в которой даже просто понять, есть ли там нужное слово - невозможо без геморроя.

Жжуть,опять маны читать надо.

Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

164. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от DPDKguy (?), 27-Фев-18, 13:55 

>[оверквотинг удален]
> -A icmp -p icmp -m length --length 129:9000 -j DROP
> -A icmp -p icmp -m icmp --icmp-type 5 -j DROP
> -A icmp -p icmp -m icmp --icmp-type 4 -j DROP
> -A icmp -p icmp -m icmp --icmp-type 9 -j DROP
> -A icmp -p icmp -m icmp --icmp-type 10 -j DROP
> -A icmp -p icmp -m icmp --icmp-type 13 -j DROP
> -A icmp -p icmp -m icmp --icmp-type 17 -j DROP
> -A icmp -p icmp -m hashlimit --hashlimit-upto 2/sec --hashlimit-mode srcip --hashlimit-name
> ICMP -j ACCEPT
> -A icmp -p icmp -j DROP

этот велосипед примерно так же ужасен, как и неэффективен.

Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

149. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от ЫЫЫыыЫЫЫ (?), 24-Фев-18, 17:15 
что за модули?
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

171. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от наноним (?), 12-Окт-23, 14:51 
поищи extra iptables modules
Ответить | Правка | Наверх | Cообщить модератору

120. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от pavlinux (ok), 23-Фев-18, 03:05 
> А как в iptables? Или ты так, для почесать ниже хвоста?

слив засчитан.

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

138. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +1 +/
Сообщение от _ (??), 23-Фев-18, 20:27 
Слив в чём?
В том что чел не знал что в иптаблах есть работа с таймстампом?
В БСД-шных FW её нет ... и чо?
А в винде вон - на экзешник правило навесить можно, всё - линукс слил?!! ;-))))
И кстати - для твоего изврата тебе всё же предложили изврат с кроном и прочий трэш ... Трэш - но работать будет! :)

Если бы ты и в самом деле знал про pf, ты бы совсем не к этому месту рулетку прикладывал ... :)
(Бить, так наповал: Cтрашная тайнO! Власти скрывают! - оно всё еще однопоточное, хотя народ сильно ковырял на предмет)

Ответить | Правка | Наверх | Cообщить модератору

145. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от Аноним (-), 24-Фев-18, 04:23 
> А в винде вон - на экзешник правило навесить можно, всё -
> линукс слил?!! ;-))))

С фига ли? Пакеты можно по PID фильтровать. Разумеется только для локальных процессов :)

Ответить | Правка | Наверх | Cообщить модератору

151. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  –1 +/
Сообщение от EHLO (?), 24-Фев-18, 17:59 
> Слив в чём?
> В том что чел не знал что в иптаблах есть работа с
> таймстампом?
> В БСД-шных FW её нет ... и чо?
> А в винде вон - на экзешник правило навесить можно, всё -
> линукс слил?!! ;-))))

Нет, в Линуксе для этого системы мандатного управления доступом, а не пакетный фильтр.

Ответить | Правка | К родителю #138 | Наверх | Cообщить модератору

153. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от Аноним (-), 24-Фев-18, 19:16 
> Нет, в Линуксе для этого системы мандатного управления доступом, а не пакетный фильтр.

Или просто namespaces. То же самое но в 20 раз проше.

Ответить | Правка | Наверх | Cообщить модератору

58. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от Аноним (-), 22-Фев-18, 11:33 
что-то наподобие:

pass quick in proto udp from <geoip-cn> to any port {0:1023} min-ttl 51
pass in proto udp from <geoip-cn> to any port {0:1023} dup-to ($MIRRORIP $OPTIONALPORT)

Вторую строчку можно для удобства поселить например в anchor и вкл/выкл по крону. Таблицу как наполнить китайцами - думаю сами догадаетесь.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

165. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от DPDKguy (?), 27-Фев-18, 13:58 
> что-то наподобие:
> pass quick in proto udp from <geoip-cn> to any port {0:1023} min-ttl
> 51
> pass in proto udp from <geoip-cn> to any port {0:1023} dup-to ($MIRRORIP
> $OPTIONALPORT)

а можно ли показать то же самое, но для трафика внутри gre-туннеля(который бегает транзитом через машину с pf)?

Ответить | Правка | Наверх | Cообщить модератору

101. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от A. Stahl Is Gay (?), 22-Фев-18, 16:49 
Гм... Как-то так:

/etc/pf.conf:
  table <geoip-china> persist file "/etc/geoip/china"
  anchor china

/etc/pf-china.conf:
  pass on $egress proto udp from <geoip-china> port < 1024 dup-to $somewhere_else

crontab:
  0 08 * * * pfctl -a china -F all
  0 23 * * * pfctl -a china -f /etc/pf-china.conf

К сожалению, pf в openbsd не умеет фильтровать по min/max TTL, но это не сложно добавить, если кому-то нужно.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

113. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от angra (ok), 22-Фев-18, 22:05 
> К сожалению, pf в openbsd не умеет фильтровать по min/max TTL, но  это не сложно добавить, если кому-то нужно.

А вот аноним выше уверен, что может. При таких разногласиях выходит, что не такой уж pf понятный, как многим кажется.


Ну и я конечно могу ошибаться, но сдается мне, что dup-to это совсем не MIRROR.


Ответить | Правка | Наверх | Cообщить модератору

114. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от Anonymous Coward (?), 22-Фев-18, 22:30 
> А вот аноним выше уверен, что может.

Мб он плохо man прочитал. Эта опция там для scrub.

> Ну и я конечно могу ошибаться, но сдается мне, что dup-to это совсем не MIRROR.

Почему же?

Ответить | Правка | Наверх | Cообщить модератору

117. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от angra (ok), 23-Фев-18, 00:00 
>Мб он плохо man прочитал. Эта опция там для scrub.

Всё может быть. Я pf не знаю и мне не особо интересно, кто из них прав. Меня в первую очередь забавляет факт, что по правилу для сложного и непонятного iptables разногласий не возникло, в отличии от простого и понятного pf.

> Почему же?

Так как я pf не знаю, то приходится ориентироваться по названию. И оно заставляет интуитивно предположить, что данное правило пропустит пакет, но создаст его копию, в которой заменит dst_ip на указанный в правиле и выпустит с подходящего интерфейса. Что оно сделает с последующими пакетами с теми же src_ip:src:dst_ip:dst_port для меня совсем загадка, мало ли как pf определяет state и что делает с пакетами, которые под него подходят.
Еще раз подчеркну, что это лишь предположение. Буду рад, если здешние специалисты по pf смогут дать развернутую картину происходящего при приведенных правилах.

Ответить | Правка | Наверх | Cообщить модератору

136. "Для ядра Linux предложен новый пакетный фильтр bpfilter"  +/
Сообщение от ПавелС (ok), 23-Фев-18, 18:18 
Ты злодей :)
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру