Часть 1
Владимир Чижиков
Рано или поздно перед каждым системным администратором встает вопрос
подсчета интернет-трафика. И тут уже не важны причины – проверить ли провайдера
или проконтролировать, какой объем трафика израсходовал подключенный
пользователь, и выставить счет. Конечно, систем биллинга сейчас много. И найти
их в Интернете не проблема, если задаться целью это сделать. Но многие хорошие
и гибкие системы учета трафика, как правило, дороги или имеют достаточно
сложный интерфейс, а некоторые затрудняют использование тех же squid или oops.
В общем, из этой ситуации мне виделось два выхода
– либо писать что-то свое, либо переделывать существующее. Исходя из
соображений, что в компании уже создан корпоративный сервер статистики с единой
системой авторизации и прочего, у меня не возникало особого желания
прикручивать, например, тот же NetAms к нему, хотя последний и не лишен ряда
достоинств и преимуществ.
Да и многим организациям, которым предоставлен
доступ в Интернет нашей компанией, не нужно то море статистики, которое выдает
система биллинга.
В итоге решение создать свою систему учета
перевесило все остальное. Необходимо было просто посчитать, сколько трафика
прошло через интерфейс.
Так все начиналось. Развилось это в большой набор
скриптов, которые не только считали объем трафика, но и определяли, локальный
он или нет, какова доля локального трафика от общего объема, а также позволяли
просмотреть все задействованные порты и протоколы, и сколько именно трафика
пришлось на каждый из них.
Что ж, скрипты это хорошо, но без самого
главного, сердца всей этой системы, программы ng_ipacct, автором которой
является Роман Палагин, ничего бы и не было. Эта программа, если так можно
выразиться, является вариацией на тему ipacctd.