LINUX.ORG.RU
ФорумAdmin

Учет траффика, заковырки...


0

0

Имеется локалка и шлюз, выпускающий внутренних юзеров в инет

На сервере имеются eth0, смотряший в локалку и eth1 смотрящий наружу.

Хочется считать траффик отдельно по каждому юзверю, причем у них есть 2 способа выхода наружу - напрямую (для мыла-icq-ftp-игрушек и т.п.) и через проксю (на порту 3128) + прозрачное проксирование для безруких юзеров, не умеющих её настроить...

Счетчик траффика с помощью iptables сделать не так сложно, но есть закавыки при учете траффика squid'а, обойти которые я пока не представляю как:

1. Принадлежность траффика определенному внутреннему компу между инетом и squid определить невозможно (или нет?)

2. Траффик между сквидом и внутренними компами не всегда является действительным из-за кэша (20 кбайт взятых из кэша не загружают внешний канал на 20 кбайт, поэтому их считать не стоит). Вычитать скэшированное из общего траффика (на основании анализа access.log) не очень замечательно.

3. Траффик при прозрачном проксировании невозможно отличить от локального траффика веб-сервера (и apache и squid отправляют данные с порта 80), стоящего на шлюзе (iptables разруливает прозрачное проксирование так: iptables -t nat -A PREROUTING -i $ETH_IN -p tcp --dport 80 -j REDIRECT --to-port $SQUID --destination ! 192.168.0.1)

Чего б такого придумать?

Идеальный вариант - решить проблему №1.

★★★★★

Squid на 3128, дальше с iptables или Sarg для Squid(можно подправить, есть патчи ибо гдето он...)+ iptables.

anonymous
()
Ответ на: комментарий от anonymous

Хотелось бы без анализа логов сквида. Данные там пополняются с запозданием.

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