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

преобразовать поток TZSP => Mirror (СОРМ) Декапсулировать Mirror traffic из TZSP-потока (обрезать UDP заголовки)

Джедаи,

 

Есть маленький узел Internet, ставим минимальный СОРМ. Очень хочется снимать данные с центрального Mikrotik CCR1036-12G-4S. Других вменяемых точек съема не существует, надо городить. Чип коммутации в CCR отсутствует, mirroring трафик получить невозможно. Но можно получить TZSP (UDP-incapsulated) трафик из нужных точек.

 

Направьте, чем можно на лету конвертировать поток TZSP => Mirror? Предполагаю направлять на IP конвертора и выпихивать на отдельный сетевой интерфейс.

Пакетные фильтры на linux? Свой демон писать наподобие natd?

Вчера ковырялся во FreeBSD ipf decapsulate, но пока безрезультатно.

Share this post


Link to post
Share on other sites

В микротике, емнип, есть traffic flow.

Traffic flow - обобщенная информация о трафике. Мне же нужен сам трафик.

Edited by jagamaster

Share this post


Link to post
Share on other sites

Джедаи,

 

Есть маленький узел Internet, ставим минимальный СОРМ. Очень хочется снимать данные с центрального Mikrotik CCR1036-12G-4S. Других вменяемых точек съема не существует, надо городить. Чип коммутации в CCR отсутствует, mirroring трафик получить невозможно. Но можно получить TZSP (UDP-incapsulated) трафик из нужных точек.

 

Направьте, чем можно на лету конвертировать поток TZSP => Mirror? Предполагаю направлять на IP конвертора и выпихивать на отдельный сетевой интерфейс.

Пакетные фильтры на linux? Свой демон писать наподобие natd?

Вчера ковырялся во FreeBSD ipf decapsulate, но пока безрезультатно.

http://wiki.mikrotik.com/wiki/Manual%3ASwitch_Chip_Features

Делали миррор на трафе порядка 500мбит/с. Это жопа для микротика, как и сам микротик впрочем.

В общем херней не занимайтесь. Поставьте обычный l2 коммутатор и снимите с него. А по хорошему снимайте через оптические делители.

Share this post


Link to post
Share on other sites

 

http://wiki.mikrotik...h_Chip_Features

Делали миррор на трафе порядка 500мбит/с. Это жопа для микротика, как и сам микротик впрочем.

В общем херней не занимайтесь. Поставьте обычный l2 коммутатор и снимите с него. А по хорошему снимайте через оптические делители.

Все верно. Мне нужен миррор на 200 мбит. Миррор микротиком можно сделать, когда есть Switch Chip. В моей модели его (так уже сложилось) - нет.

Все понимаю, но прежде чем городить L2-L3 агрегацию (маленький узел) хочу окончательно понять что другого пути нет. Имею дополнительные причины, усиливающие мой интерес.

Edited by jagamaster

Share this post


Link to post
Share on other sites

Я когда-то писал себе утилитку на коленке

https://github.com/nuclearcat/sysadmin-tools/tree/master/tzsp_tap

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

Share this post


Link to post
Share on other sites

Низкий поклон Nuclearcat.

 

Конвертор поднят под ubuntu в виртуальной среде (vSphere). Виртуалке выдано 2 ядра от Xeon E5645 2.4 GHz. Загрузка с трафиком ±200 мбит примерно 50%.

сниффер на CCR1036-12G-4S справляется красиво, нагрузка на CPU возросла примерно на 5-7%

 

Будем смотреть. Начинаем опытную эксплуатацию.

Наше дело правое, враг будет разбит, победа будет за нами.

Share this post


Link to post
Share on other sites

Обязательно проверьте чтобы не терялись полноразмерные пакеты (т.к. TZSP их будет фрагментировать, с таким траффиком возникает масса нюансов).

Например c линукса: ping -c 1000 -i 0.001 -s1472 x.x.x.x

И посмотрите все ли пришло на зеркало

Share this post


Link to post
Share on other sites

На фре подобное делается на уровне ядра с помощью нетграфа, нужно только две ноды: ng_ether и ng_ksocket соединить и настроить.

Можно в инете найти почти готовое решение если гуглить: эзернет тунель на нетграфе.

 

Обязательно проверьте чтобы не терялись полноразмерные пакеты (т.к. TZSP их будет фрагментировать, с таким траффиком возникает масса нюансов).

А с чего бы им терятся?

Если на тик пришёл пакет 1500 он его завернёт в юдп и порежет на два куска при передаче. На приёмной стороне юдп пакет соберётся из двух кусков на уровне ОС и уйдёт в сокет и получится опять 1500, которые и выплюнет через тап.

Share this post


Link to post
Share on other sites

Если на тик пришёл пакет 1500 он его завернёт в юдп и порежет на два куска при передаче. На приёмной стороне юдп пакет соберётся из двух кусков на уровне ОС и уйдёт в сокет и получится опять 1500, которые и выплюнет через тап.

При большом pps лимиты на недособранные фрагментированные пакеты имеют свойство заканчиватся

Share this post


Link to post
Share on other sites

Если MTU на тике и MRU на приёмнике и всё что посредине позволяет то можно юзать пакеты по более чем 1500, куда всё прекрасно влезет без фрагментации.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.