LINUX.ORG.RU
ФорумAdmin

Статистика в Linux


0

0

Хотелось бы настроить статистику по использованию интернета в локальной сети. Линух машина используется как роутер. Настроен маскарадинг, но проблема в том, что трафик желательно разделить на входящий и исходящий. Как это можно организовать???


Посмотри trafshow, ipac, http://www.opennet.ru/prog/sml/47.shtml А вобще смотря для чего тебе это всё нужно. У меня есть прога на основе trafshow (сами писали) которая собирает всю статистику по айпишникам внутренним кто куда ходил и сколько отдал-взял в файл, а потом просто скриптами это дело всё разбираешь (есть и скрипты разбирающие статистику по конкретным айпишникам и позволяющие просматривать всё это через веб интерфейс). Если действительно надо то советую сначала посмотреть проги которые я привел в начале если не подходит то обращайся поговорим о цене. di_2001@mail.ru

DiBrain
()

Если не по пользователям, а по ip то можно с помощью ipchains примерно
так:
ipchains -A input -i <internal_iface> -s <client_ip>/32 -d ! <internal_net>
#For outgoing traffic
ipchains -A output -i <internal_iface> -s ! <internal_net> -d <client_ip>/32
#For incoming traffic

Далее эта статистика читается при помощи ipchains -nvxL [<chain>]
и сбрасывается ipchains -Z [<chain>]
Читается, конечно же, в файл. Если развивать мысль, изложенную в
man ipchains в секции NOTES, то автор советует создать 2 цепочки для подсчета
и переходить к ним ДО правил, которые содержат -j ACCEPT. Тогда их просто
сохранять отдельно (без всего остального, что является в данном случае мусором).
Ну а далее - при желании скриптами обрабатывать.

Это может выглядеть, например, так
ipchains -N acctin #цепочка для подсчета входящего траффика
ipchains -N acctout #для исходящего (в интернет)
.....
ipchains -A input -i <internal_iface> -d ! <internal_net> -j acctout
# первое правило, содержащее accept
.....
ipchains -A output -i <internal_iface> -s ! <internal_net> -j acctin
# первое правило, содержащее accept
.....
ipchains -A acctin -d <client_ip>/32
.....
ipchains -A acctout -s <client_ip>/32

У пользовательской цепочки полиси всегда RETURN, т. е. по
достижении ее конца - переход к следующему правилу вызвавшей цепочки.
Ну и расписался я чего-то. Интересно, ошибок не налепил? :)

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