Однажды в нашем небольшом офисе понадобилось настроить систему учёта трафика под linux. Бегло просмотрев готовые решения, я решил использовать что-то попроще. Погуглив, мне понравился подход использовать самописный скрипт, который бы конвертировал статистику netflow в squid-совместимый лог, который затем можно анализировать чем угодно. Готовый скрипт, гуляющий по гуглу, я использовать не стал, т.к. он использует ipcad, которой отсутствует в debian и ubuntu. Написал свой вариант, использующий любой netflow сенсор и flow-tools в качестве коллектора. Скрипт постепенно усложнялся и, в итоге, вырос в небольшую систему учёта трафика. Архив этого удовольствия весит около 50кб, при этом:
- устанавливается с помощью deb для дистрибутивов, основанных на debian или с помощью собственного инсталлятора для остальных
- умеет считать интернет-трафик на маршрутизаторе во всем ip v4 протоколам и портам
- умеет ограничивать доступ не прописанным пользователям
- вместо голой статистики ip-адресов netflow умеет детализировать отчёты с помощью dig и squid
- умеет выборочно блокировать трафик
- имеет веб-интерфейс для управления пользователями и группами пользователей
- настраивается немногим сложнее lightsquid, который использует в работе
- не использует промежуточный лог access.log, собственный парсер конвертирует статистику netflow напрямую в отчёт lightsquid