Ситуация такая: squid позволяет считать траффик по пользователся (которые

Ситуация такая:
squid позволяет считать траффик по пользователся (которые могут иметь свой логин/пароль и ходить с ними с любого компа) При этом учитыватся только траффик прікладного уровня OSI (т.е. напрімер HTTP). Провадеры считают траффік сетевого уровня OSI (т.е. ip). Разница между ними - это заголовки ip, tcp + повторная передача бітых пакетов і т.п. - соствляет ІМХО ~10-15%. На сетевом уровне можно идентифичировать траффик только по компьтерам (точнее, по их ip адресам). Для надежности стоит учитывать не просто ip а пару ip+mac address. Я бы рекомендовал делать свою цепочку правл, которая бы проверяла соответствіе пары ip+mac в ісходяўіх пакетах и для несовпадающих пар просто делать DROP. Далее правіла firewall можно будет пісать уже только на основе ip. Подсчет траффіка на сетевом уровне можно сделать несколькімі способами:
1) Через интерфейс самого firewall (например, при помощи ipac-ng в linux). ipac-ng настраівается очень просто, но при этом при внештатной перезагрузке хоста статистика может теряться


2) Через интерфейс стандартного сістемного журнала - сообщение о прохождении пакета подподающего под заданные администратором критерии и его характеристиках передается демону системного журнала с соответсвующей пометкой и при соответсвующей настройке кладется в отдельный файл. Длаее пишется или находится готовый скрипт, который обрабатывает этот файл и считает траффик. Этот вариант сложнее чем ipac, зато потенциально более гибкий. На линуксе это -j LOG в iptables
3) Передача информации о пакете или самого пакета в из ядра в user-space программу, которая и делает с ним все остальное. Статистика накапливается этой программой и хранится например (и довольно часто) в базе MySQL. Возможно также весьма гібкая обработка и анализ. На линуксе реализуется так через -j ULOG в iptables + демон ULOGD + соответсвуюўій бэкэнд для храненія информации (mysql например)
Тема вобщем баальшая. Спрашивай что-то конкретное.

Софт для сети...