Учет сетевого трафика с помощью бесплатных инструментов
[бесплатные инструменты для учета сетевого трафика]материал подготовил: А. В. Кириллов 20.01.2005
В настоящее время существует большое количество систем учета трафика, распространяемых как на коммерческой основе, так и бесплатно. Для администратора сети (неважно – коммерческой или нет) всегда существовала проблема соразмерности стоимости системы и набора функций, которые она может выполнять. Конечно, оптимальными по ценовому параметру являются системы с открытым кодом. Сразу оговорюсь – на данный момент удобных бесплатных систем учета трафика, содержащих встроенные методы для ограничения доступа и тарифицирования трафика, крайне мало. Но и те, что существуют, позволяют решить задачи, встающие при администрировании доступа пользователей к ресурсам интернета.
Итак, рассмотрим две системы, одна из которых предназначена для тарифицирования доступа, а другая – для вывода информации о доступе к сетевым ресурсам в графическом виде. Далее рассматриваются достоинства и недостатки применения программ NeTAMS и MRTG при учете сетевого трафика. MRTG предназначена для показа информации про прошедший через сетевые устройства трафик в виде графиков, в то время когда NeTAMS не содержит в стандартной поставке таких средств, зато позволяет сохранять информацию о затратах трафика в сети, а также настраивать доступ пользователям.
NeTAMS – Network Traffic Accounting and Monitoring Software. Система учета трафика, позволяющая вести учет по произвольному количеству сетей и пользователей. Имеет очень большое количество возможностей по управлению трафиком и удобный подход к управлению на основе telnet-базированного интерфейса, позволяющего масштабировать саму систему и интегрировать ее в более сложные структуры. NeTAMS умеет вести базу как в MySQL, так и в текстовом файле в формате hashed. Распространяется по лицензии BSD. Доступны версии системы для платформ FreeBSD, Linux.
MRTG – Multi Router Traffic Grapher. Собирает информацию с сетевых устройств, поддерживающих обмен информацией по протоколу SNMP*. Генерирует html-страницы, представляющие расход сетевого трафика. Программа работоспособна не только на операционных системах *NIX, но и в среде MS Windows NT.
Краткая характеристика описываемых систем
Установка системы NeTAMS не имеет никаких сложностей. В операционных системах класса FreeBSD она устанавливается с помощью системы портов. Для этого достаточно иметь подключенную к интернету BSD-систему и новую систему портов. Порт NeTAMS находится в /usr/ports/net-mgmt/netams. Для установки программы достаточно зайти в указанную директорию и набрать команду make install. На AltLinux все проще – вам достаточно просто доставить пакет netams, к примеру, с помощью команды apt-get или менеджера пакетов synaptic. В других дистрибутивах Linux возможна инсталляция с помощью менеджера пакетов rpm*.
Особенности установки NeTAMS
Настройка NeTAMS производится, как минимум, с помощью редактирования текстового файла конфигурации netams.conf. Для того чтобы успешно сконфигурировать NeTAMS, следует представлять основные понятия, связанные с этим процессом. Главное – функциональность системы NeTAMS можно изменять с помощью подключения так называемых сервисов. Минимальную конфигурацию для NeTASM можно посмотреть здесь.
Как проводится настройка NeTAMS
NeTAMS – динамично развивающаяся система. Она позволяет применять различные способы размещения информации. Но для функционирования системы в больших сетях следует располагать оперативные и итоговые данные системы в базе данных SQL. Это значительно упростит администрирование и конфигурирование системы.
Особенности использования NeTAMS
К системе NeTAMS разработано несколько веб-интерфейсов, но особенность системы состоит в том, что биллинговый модуль разработчики NeTAMS предоставляют на платной основе. Но на практике можно сказать, что разработка простого интерфейса для этой системы не представляет особой сложности благодаря доступности управления всеми функциями с помощью telnet-интерфейса. Фактически разработка веб-интерфейса на основе PHP4 представляет собой разработку специализированного класса для работы с NeTAMS. Вся работа с telnet-интерфейсом NeTAMS может быть выполнена с помощью функций для работы с сокетами (например, fsockopen), которые входят в базовый набор функций, поставляемых с PHP4.
Представление информации NeTAMS в браузере
MRTG представляет собой удобный инструмент для построения графиков загрузки сети. Программа получает информацию по протоколу SNMP с различных устройств вашей сети. Результатом работы программы являются сгенерированные html-файлы и картинки в формате png с графиками загрузки сети. Программа позволяет полностью настраивать вид html-страниц со статистикой по вашему желанию. Возможно применение шаблонов, которые настраиваются в конфигурационном файле программы. Также возможно использование полученных изображений в составе ваших собственных веб-страниц со статистикой.
Краткое описание MRTG
Описание процедуры установки MRTG под UNIX вы можете найти здесь (на английском).
Процесс установки MRTG в простейшем случае (без наличия SNMP-устройств) можно условно разделить на следующие этапы.
Установка на сетевой интерфейс вашей *NIX-системы утилиты CBan (Current BANdwidth), позволяющей собирать информацию в пригодном для MRTG виде. Процесс установки не сложен и состоит из распаковки архива и копирования файла /bin/cban в /usr/sbin.
Установка необходимых для работы программы библиотек gd, libpng, zlib (очень велика вероятность, что в вашей системе они уже все установлены). В AltLinux 2.4 необходимо доставить пакет libgd2-devel-static (команда apt-get install libgd2-devel-static).
Предварительное конфигурирование исходных кодов программы с помощью команды /configure –prefix=/home/mrtg2 (никто не мешает вам задать произвольное место размещения программы, отличное от /home/mrtg2; данный путь приведен только для примера, главное, чтобы указанный каталог уже существовал).
Компиляция программы (команды make и make install).
Начальное конфигурирование программы (создание mrtg.cfg) – осуществляется с помощью утилиты cfgmake, которая идет в комплекте с программой. Но утилита CBan предоставляет уже готовый конфигурационный файл, который лежит в каталоге etc/mrtg/sample-mrtg.cfg, распакованного CBan. Вам фактически нужно только отредактировать название интерфейса, по которому вы хотите видеть статистику загруженности, в следующей строке конфигурационного файла: Target[eth0]: `/usr/sbin/cban -i eth0 -m`, вместо eth0 вы можете указать другой интерфейс. Кроме того, вам необходимо добавить строку, в которой бы указывалась рабочая директория MRTG – то есть директория, в которую будут складываться файлы статистики: WorkDir: /usr/mrtg2/http.
Добавление в /etc/crontab команды для периодического запуска процесса формирования статистики:
MRTG также можно запускать в режиме демона, указав в конфигурационном файле mrtg.conf опцию RunAsDaemon: Yes.
Добавление каталога, в котором генерируются страницы со статистикой, в конфигурацию веб-сервера. К примеру, в Apache это можно сделать, добавив следующие строчки в конфигурационный файл (в AltLinux – /etc/httpd/conf/httpd.conf):
Alias /mrtg/ /home/mrtg2/http/ <Directory “/home/mrtg2/http”> AllowOverride All Options ExecCGI Order allow,deny Allow from All </Directory>.
Обе рассмотренные системы, при условии применения в комплексе, способны предоставить необходимый сервис как для конечных пользователей сети, так и для ее администраторов.