Документация NetAMS
ВНИМАНИЕ!
Данный набор документов представляет собой руководство по установке, настройке и использованию системы учета и управления трафиком NeTAMS. При его составлении мы постарались сделать все возможное, чтобы ваша работа с NeTAMS была по возможности более простой и понятной. Вместе с тем, в программном обеспечении, и в этом тексте, возможны различные ошибки и неточности. Никто не застрахован от этого.
Представленная здесь документация относится к наиболее последней, «CURRENT» версии программы NeTAMS и может не подходить к вашей системе, если вы используете более старую версию NeTAMS.
Авторы этого документа, равно как и авторы программы NeTAMS, не несут ответственности за любой вред, ущерб, потерю денег, клиентов, порчу оборудование и прочие проблемы, вызванные вашим самостоятельным использованием NeTAMS или применением информации, изложенной здесь.
© 1998–2005, Антон Л. Винокуров
© 2002–2005, Группа разработчиков NeTAMS
Обработка и исправление документации проведены Владимиром Владимировым
Введение
Программный комплекс NeTAMS предназначен для учета и управления трафиком в вашей IP–сети передачи данных. Он работает на сервере под управлением операционных систем Linux, FreeBSD или Solaris и занимается непрерывным сбором, анализом, фильтрацией и отображением статиски о передаваемой в вашей локальной сети информации. NeTAMS выполнен в виде монолитного процесса–демона и написан на языке C/C++ в виде многопоточного приложения. Он состоит из следующих компонентов (которые здесь будет принято называть сервисами):
processor хранит в себе полные сведения обо всех объектах, подлежащих учету (IP–адреса, подсети), политиках учета, организует передачу сообщений между другими сервисами
data–source поставляет сервису processor данные о прошедшем трафике
storage хранит статистическую информацию, частично конфигурационную информацию
server обеспечивает интерактивное взаимодействие работающей программы с администратором и внешними скриптами через telnet–подобный API
scheduler, html, quota, billing и т.д. обеспечивают вторичные функции обработки статистики, такие как поддержка квот, профилей пользователей биллинга, статических HTML–страниц и прочее.
Поскольку первичным источником информации о трафике является IP–пакет, то основным объектом, статистика по которому учитывается, является IP–адрес. Совместно с адресом хранятся правила (политики) учета и фильтрации, ключ БД и другая информация, совместно образуя единую учетную единицу, или юнит (NetUnit). В настоящий момент поддерживаются следующие типы юнитов:
host — характеризуется единственным IP–адресом
cluster — характеризуется набором (до 12) IP–адресов
net — характеризуется адресом подсети и сетевой маской
user — то же, что и тип host, однако может нести дополнительные параметры, например адрес электронной почты для уведомления или пароль
group — представляет собой логическую группу (объединение) любого количества юнитов любого типа, в том числе и других групп (могут быть вложенными)
Информация о прошедшем трафике может поставляться сервису data–source от операционной системы или от внешнего устройства/приложения. Операционная система может предоставлять механизм перехвата (divert, ipq) и/или копирования (tee, ulog) проходящих через ядро пакетов userland–приложению, каковым является NeTAMS, или отслеживать пакеты, проходящие «мимо» или «через» сетевой интерфейс при помощи библиотеки libpcap. С другой стороны, исходная информация о прошедшем трафике может быть сгенерирована в виде потока сообщений протокола Cisco NetFlow установленным в сети маршрутизатором Cisco или одной из множества свободно доступных программ, снимающих статистику и генерирующих потоки NetFlow. Среди них fprobe (http://www.fprobe.org), ng_netflow (только FreeBSD, /usr/ports/net/ng_netflow), ipfw2netflow и flowprobe (входят в комплект поставки NeTAMS).
Ниже приведен список доступных типов data–source в зависимости от используемой операционной системы
Метода захвата пакетов | Linux | FreeBSD | Solaris |
Перехват пакетов у ядра ОС | IPQ | IPFW divert | |
Копирование пакетов из ядра ОС | IPFW tee | ||
Копирование пакетов, проходящих через сетевой интерфейс | libpcap | libpcap | libpcap |
Внешний источник NetFlow | + | + | + |
Источник NetFlow на этом же компьютере | flowprobe | flowprobe | flowprobe |