Перейти к содержимому
Калькуляторы

Port mirror + ipt_NETFLOW

Добрый день!

 

Имеется крайне неприятная проблема c Debian 6 + 2.6.32 + ipt_NETFLOW 1.7.1.

 

Итак, на порту (никаких vlan'ов, транков, это просто обычный гигабитный линк), который уходит на аплинка (свич: D-Link DGS-3120) включен мирроринг TX и RX на отдельный порт свича, к которому подключена машина, которая должна считать входящий и исходящий трафика по данному порту.

 

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

 

Коротко описание конфигурации: eth2 - интерфейс, который подключен к порту, на который миррорится трафик, eth1 - линк, по которому машина-коллектор получает свой интернет.

 

Вариант 1 - сборка бриджа:

auto  br0
iface br0 inet static
 bridge_ports eth2 dummy0
 # делаем из свича - хаб
 # brctl setageing  br0 0
 bridge_ageing 0
 pre-up /sbin/ifconfig eth2 promisc
 post-down /sbin/ifconfig eth2 -promisc
 address 192.168.1.0
 netmask 255.255.255.0

iptables:
iptables -I FORWARD -i br0 -j NETFLOW

 

Вариант 2 (патч ядра из комплекта ipt_NETFLOW):

iptables -A PREROUTING -t raw -i eth2 -j NETFLOW

 

В обоих случаях долетали до цепочки -J NETFLOW только RX пакеты (то есть те, что шли от аплинка к моему роутеру), но TX пакетов не видно в упор. Но при этом, в tcpdump/ettercap я их отлично вижу и на интерфейсе счетчик пакетов очень живенько крутится, то есть, до сетевой они долетают, а вот далее - где-то теряются. Пробелмы с сетевыми также исключаются, стоят неплохие 82574L, перегрузка которых на тестовом потоке в 10-20 мегабит исключается.

 

Вопрос - кто как борется с такой проблемой и как считает вот такой проходящий трафик на миррор порту? Рассматриваются любые варианты вплоть до установки FreeBSD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброе время суток !

 

Пропуск трафика не забыли включить ?

/etc/sysctl.conf:
net.ipv4.ip_forward = 1

 

А также нужно сделать:

iptables:
iptables -I FORWARD -i br0 -j NETFLOW
iptables -I FORWARD 2 -i br0 -j DROP

 

По крайней мере, в таком варианте у меня все работает. Считается и TX и RX трафик. Да еще и через bonding.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Stranix1979, все это имется, кроме этого дергали rp_filter, пытались отключать arp итд итп - нету TX трафика и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дошел до асбурда, сделал точь-в-точь тоже самое, но на CentOS 6 (собрал бридж, как указано выше) и снова вижу лишь RX пакеты, TX - мертво, светятся только в tcpdump.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема решена, чуть попозже опубликую отчет. А пока - лучи ненависти инженерам D-link.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема решена, чуть попозже опубликую отчет. А пока - лучи ненависти инженерам D-link.

Что? - Миррорит толькот входящий?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема решена, чуть попозже опубликую отчет. А пока - лучи ненависти инженерам D-link.

Что? - Миррорит толькот входящий?

 

Все намного хуже, свич DGS-3120 забывает снимать теги 802.1q с исходящего трафика при зеркалировании нетегированного порта. То есть, при зеркалировании на нетегированном порту, входящем во vlan100, трафик входящий идет без тегов, а вот исходящий с тегами, поэтому его и не видела система. Подозреваю, что это точно баг, иначе это бред какой-то, честное слово. Сейчас соберусь силами и напишу на forum.dlink.ru багрепорт.

Изменено пользователем pavel.odintsov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот описание проблемы на форуме D-Link: http://forum.dlink.ru/viewtopic.php?f=2&t=153547

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Было такое, именно с длинком, одно направление миррорится без тега, второе с тегом. Поднимаем на интерфейсе дебиана вилан с этим тегом и все в порядке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Было такое, именно с длинком, одно направление миррорится без тега, второе с тегом. Поднимаем на интерфейсе дебиана вилан с этим тегом и все в порядке.

 

Так и победили, ребята с D-Link подтвердили, что это фича-баг именно чипа, а не прошивки :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если бы только D-Link'и. На свичах Juniper (EX4200, EX2200, EX3300) все также, поэтому делать мирроринг с акцессных и транковых портов одновременно бывает проблематично.

 

Было такое, именно с длинком, одно направление миррорится без тега, второе с тегом. Поднимаем на интерфейсе дебиана вилан с этим тегом и все в порядке.

 

Так и победили, ребята с D-Link подтвердили, что это фича-баг именно чипа, а не прошивки :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, Extreme ведут себя ровно также. Я думаю это фишка ASIC'ов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.