LINUX.ORG.RU
ФорумAdmin

Выбор считалки траффика


0

0

Господа, такой вот вопрос. Я недавно свалил с freebsd и хочу плотно заняться изучением linux (debian). Так вот, всё пока идет нормально, за исключением того, что я уткнулся в следующую проблему:

Чем мерять траффик на линукс-роутере по всем протоколам?

Просто с bsd есть такая удобная (имхо) вещь netgraph, позволяющая на уровне ядра ОС считать траффик при очень больших нагрузках, при этом он очень гибок в использовании и настройке.

Например тот же ipcad позорно тормозит при > 300 юзеров. Я начал искать что нибудь под линукс, но подобного не нашел, зато нашел netams, который вроде позволяет снимать данные с iptables. Насколько это "хорошо" работает? Просто я помню что в bsd не было никогда смысла при больших объемах траффика снимать данные с счетчиков ipfw - потому что половину пакетов ipfw "проглатывал". Как с этим обстоит дело в iptables? насколько данные снимаемые с них будут точны? Или есть какие-нибудь более удобные способы подсчитывать траффик?

anonymous

Re: Выбор считалки траффика

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

tugrik ★★ ()

Re: Выбор считалки траффика

да нет. обычно под линуксом netams считывает траффик через libpcap.
данные о пакетах не теряются... только тормозить может.

nial ()
Ответ на: Re: Выбор считалки траффика от nial

Re: Выбор считалки траффика

Уже придумали называется ulog2 использует новую подсистему netfilter. Проблема ulog первого в том, что когда вы писали правило -j ULOG -nlgroup 1 и тд то все пакеты в юзер-спейс шли через ksyslog что при большой нагрузке на сервер не давало ему возможности скидывать хедеры пакетов с кернела, вот отсюда и потери. Например если взять ulog-acctd то на первом пне с 2 картами реалтек при прокачке 60 мбит/с начинаются потери, netgraph в freebsd при этом уверено плюет всои пакеты netflow хотя при такой нагрузке тоже уходит в кому и вся интерактивность пропадает. В 2.6.16 решили изменить эту ситуацию и теперь новые модули netfilter_log и netfilter_ulog работают по новой схеме без syslog'a. Вот только ulog2 еще в разработке, хотя по cvs скачать карент версион скачать можно. Поэтому не дожидаясь появления на свет ulog2 я изучив netfilter api приступил к написанию kernel module ala netgraph. Считает он пока ipv4 и поддержует netflow v.5 Принцип работы очень прост: ставятся хуки в цепочке PREROUTONG и POSTROUTING. Как только пакет пробежал через наш рутер ядро вызывает нашу функцию которая через skb смотрит хедер пакета и отправляет его дальше по цепочке. Когда статистика накапливается выплевывается пакет netflow и все это в кернел спейсе. пакет общитывается еще до обработки фаерволом iptables.

anonymous ()

Re: Выбор считалки траффика

>Просто я помню что в bsd не было никогда смысла при больших объемах >траффика снимать данные с счетчиков ipfw - потому что половину пакетов >ipfw "проглатывал".

Вот уже 4 года пользуюсь netams на freebsd4 (ipfw)и никакого "глотания" пакетов не замечал. Прекрасная программа, которая должна без проблем работать и на линуксе.

arnold_shade ()
Ответ на: Re: Выбор считалки траффика от theserg

Re: Выбор считалки траффика

вот именно, к тому же это очень сильно сужает возможности использования. На том же линуксе мы можем поставить кучу анализаторов или аутентификаций в чем хотим.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.