Jump to content
Калькуляторы

Port mirroring Linux

Добрый день.

 

Есть необходимость миррорить трафик на линуксовой машине. Миррорить надо именно выборочно ( предполагается iptables ), поэтому весь порт смиррорить на порту коммутатора - не вариант. Читал, что есть неофициальный таргет ROUTE с параметром --tee. Но iptables 1.3.5 у которых он есть в extensions не собирает таргет, потому что у ядра нет к нему модуля. Ядро 2.4.37. Более свежие iptables не имеют этого модуля у себя в extensions. Patch-o-matic-ng который добавляет этот модуль больше не поддерживается netfilter.org а его замена только для ядер 2.6.х

 

Существует ли выход из данной ситуации, кроме замены системы на 2.6.х и сборки этого модуля?

 

Заранее спасибо.

Edited by Dark_Angel

Share this post


Link to post
Share on other sites

Мирорить на свиче, потом на свиче или на софтовом бридже пропускать через acl.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Промиск на интерфейсе убъет машину. Неужели нет ничего ядерного чтобы смиррорить?

Share this post


Link to post
Share on other sites

в новых 2.6 есть -j TEE в iptables, может с imq/ifb еще можно что сотворить... другой вопрос что археологией не все увлекаются :)

 

может tcpdump + tcpreplay ?

Share this post


Link to post
Share on other sites

tcpdump = promisc mode.

 

Я согласен, что ядро древнее, но так уж исторически сложилось и менять его - это дополнительный геморой. Тем более что операция-то простая: взять пакет в той же области mangle и скопировать его куда попросят. В том же архиологическом ядре 2.4.20 хедеры этого модуля есть, а в последнем 2.4 его убрали зачем-то.

 

То есть правильно ли я понимаю, что без промиска и костылей на 2.4 нельзя смиррорить трафик?

Share this post


Link to post
Share on other sites

Промиск на интерфейсе убъет машину. Неужели нет ничего ядерного чтобы смиррорить?

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

Share this post


Link to post
Share on other sites
tcpdump = promisc mode
Совсем не обязательно -

-p Don't put the interface into promiscuous mode.

Share this post


Link to post
Share on other sites

Кстати, о каких потоках трафика идёт речь? Неужто, 10Г ?

Share this post


Link to post
Share on other sites

Портируйте значит модуль из 2.4.20 (или в каком там этот модуль еще обитает) в 2.4.37. Возможно, портируется и без особых плясок с бубном.

Share this post


Link to post
Share on other sites

2Ivan_83: Не вижу проблемы. Зачем пакет в процессоре? Мы его анализировать не собираемся.

 

2vitalyb: Да, вариант. Отрицательный момент, что будет мирорриться всё. Посмотрю, можно ли без промиска по IP пакеты выцеплять.

 

2marikoda: порядка гигабита.

 

2NiTr0: Да я тоже смотрел на этот вариант. Я просто хотел для начала спросить, можно ли без костылей. Думал, может упускаю какой-то нормальный вариант. А оно вон что.

 

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

Share this post


Link to post
Share on other sites

Удалось портировать модуль. Повезло.

 

Да, ну и конечно же, мейнтейнеры ядра идиоты, раз исключили такой замечательный модуль оттуда. Насколько я вижу, он и в 2.6 добавляется с патчами. Точно такие же идиоты мейнтейнеры iptables. Но у них хоть ссылка на patch-o-matic-ng есть и на том спасибо.

Edited by Dark_Angel

Share this post


Link to post
Share on other sites

Dark_Angel и как по производительности?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Как и ожидалось - невооруженным взглядом нагрузка не видна.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this