LINUX.ORG.RU
ФорумAdmin

Подсчет трафика при маскарадинге?


0

0

Ситуация проста - выделенка, на сервере один реальный IP, все юзеры сидят с 192.168.*.*
Нужно учитывать трафик который каждый внутрений IP накачал из инета.
При реальных адресах все просто - снимается показание счетчиков с входящей и исходящей цепочек ipchains примерно так:

ipchains -L inet-out -v -n -x >traff-out
ipchains -L inet-in -v -n -x  >traff-in 

А как снимаются данные о входящем (демаскируемом) трафике?
ipchains -L forward -v -n -x
Имхо содержит только данные о том сколько байт ушло во внешний мир, а где взять данные о том что вернулось?
 
anonymous

я в курсе только одного метода -- подсчитывать outgoing трафик на внутреннем интерфейсе -- он не работает если сервер является не просто сервером интернет, но и, например, сервером samba, то есть участвует во внутреннем трафике. Возможно, что как-то по-хитрому маркируя пакеты можно придумать вариант получше...

anonymous
()

если не трудно покажи плз как у тебя устроены правила inet-in? меня интересует сам листинг... т.к я сам пробовал писать у меня считает криво!!! всегда меньше чем накачал юзер... 
какой у тебя интерфейс ? какой -s или -d ты используешь и т.д
Заранее спасибо.
 

anonymous
()

что-то типа такого: ipchains -N c1 ipchains -I c1 -j ACCEPT ipchains -I output -j c1 -i eth0 -s 0.0.0.0/0 -d <c1_ip_addr> показание счетчика: WHO=c1 BYTES_RCVD=`ipchains -L $WHO -v -x | grep ACCEPT | awk '{print $2}'` внутренний интерфейс -- eth0 криво-некриво -- не знаю, имхо все довольно правдободобно, не вижу причин, почему это способ может быть неправильным

anonymous
()

сори, забыл тип форматирования выставить

что-то типа такого: 

ipchains -N c1 
ipchains -I c1 -j ACCEPT 
ipchains -I output -j c1 -i eth0 -s 0.0.0.0/0 -d <c1_ip_addr> 

показание счетчика: 
WHO=c1
BYTES_RCVD=`ipchains -L $WHO -v -x | grep ACCEPT | awk '{print $2}'` 

внутренний интерфейс -- eth0 
криво-некриво -- не знаю, имхо все довольно
правдободобно, не вижу причин, почему это способ может быть неправильным 

anonymous
()

я тоже не пойму почему не правильно считает... меня интересует почему у тебя считает входящий на данного юзера траффик через цепочку ? почему не инпут? я пробовал с input и output всё равно одна фигня...

anonymous
()

При маскарадинге через input-входящий-интерфейс считать неправильно -- на входящем интерфейсе пакеты еще не преобразованные, в них -d не из внутренней сети.
То же самое можно сказать про forward.
Может ты на клиенте через прокси качаешь свой?
Я предпочитаю больше доверять показанию счетчика ipchains, а не тому, что показывает ПО на клиенте.

anonymous
()

может ты прав.. давай обсудим это не в форуме а через мыло или аську...так удобнее. У меня стоит сквид...хочу считать траффик ввв, фтп и т.д входящие на сквида и без сквида по каждому юзеру.... считает но не так.. с данными провайдера сравниваешь есть различие.. провайдер сниает статистику с циски. Мой уин 56900665

anonymous
()

Э пакет такой есть - ipac, может считать что угодно, т.е. фильтры по исходному IP или интерфейсу, destination, порт, UDP/TCP, incoming/outgoing ну и т.п. работает как раз через ipchains + ещё графики загрузки канала рисует, руль вобщем неимоверная http://www.comlink.apc.org/~moritz/ipac.html

anonymous
()
17 февраля 2002 г.

netgatesystem.narod.ru вам поможет....

anonymous
()

Очень интересный результат получается если вставить строку: ipchains -I output -j c1 -i eth0 -s <c1_ip_addr_local_network> -d <c1_ip_addr> , а только потом - ipchains -I output -j c1 -i eth0 -s 0.0.0.0/0 -d <c1_ip_addr>

тогда весь локальный траффик будет оставаться на первой цепочке а на второй будет только внешний (INTERNET) траффик !!!

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