Читаем Документация 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 |
| ulog2netflow | ipfw2netflow | ||
| ng_netflow | |||
| Модуль NETGRAPH | + |
Для обеспечения сохранности информации, выполнения поиска, отображения суммарная статистика попадает сервису storage, который сохраняет ее в базе данных. На текущий момент поддерживаются четыре типа хранилищ:
unix hash (Berkley DB)
MySQL (версии 4.0.х и выше)
PostgresSQL
Oracle
Обычно unix hash уже присутствует в операционной системе (его, например, использует sendmail), что упрощает инсталляцию, однако скорость работы, надежность и функциональность оставляет желать лучшего. Рекомендуется использовать SQL–базу данных.
Один экземпляр NeTAMS может иметь несколько настроенных и одновременно работающих сервисов data–source и storage.
В дистрибутиве есть файл INSTALL, в котором кратко описана процедура инсталляции. Детальное описание следует ниже.
Для ОС Линукс доступна также «сторонняя» инструкция по установке и настройке.
Для успешной работы вашей системы NeTAMS необходимо:
Спланировать архитектуру сети
Установить и настроить операционную систему сервера
Установить и настроить дополнительные приложения
Скачать и установить NeTAMS
Подготовить правильный конфигурационный файл NeTAMS
Для начала, необходимо ответить себе на два вопроса:
а) вы будете использовать UNIX–маршрутизатор для передачи трафика, и NeTAMS будет установлен на этом же компьютере, или для передачи (роутинга) трафика у вас будет работать отдельный маршрутизатор (PC или Cisco).
б) вы хотите проводить только учет трафика, или необходимо ограничивать доступ для части клиентов (например, по превышении заданной квоты или исчерпанию баланса)
В случае UNIX–маршрутизатора с возможностями ограничения трафика подойдут операционные системы Linux или FreeBSD. Для Linux потребуется модуль IPQ, который есть в большинстве поставок как компонента ядер 2.4.x и 2.6.x и системы iptables. Вы можете проверить его наличие в системе, посмотрев на наличие файла netfilter/ip_queue.o в системе.
Для FreeBSD придется работать через механизм IPFW/divert socket, для чего ядро должно быть скомпилировано с поддержкой «options IPFIREWALL» и «options IPDIVERT». Убедиться в наличии модулей можно, посмотрев в файл /var/log/dmesg.today и поискав там строки «ipfw initialized, divert enabled, …». NeTAMS работает под управлением FreeBSD с версий 4.х вплоть до CURRENT.
Если коллектором трафика будет другое устройство (Cisco или PC–роутер), необходимо отдельно настроить этот коллектор (flowprobe, fprobe, ipfw2netflow под управлением Linux/FreeBSD/Solaris, возможно заработает под OpenBSD/NetBSD) и установить NeTAMS на выделенный сервер. В этом случае требования к производительности аппаратного обеспечения меньше.
На сервер с NeTAMS желательно установить сервер базы данных (MySQL или PostgresSQL) и веб–сервер Apache. Практика показывает, что для нормальной работы сети в 100 узлов потребуется около гигабайта дисковой памяти под базу данных, и порядка 200 мегабайт под статические HTML–страницы с отчетами.
Ниже приведен список пакетов, которые могут потребоваться для установки для ОС Linux (пример взят для системы ALTLinux Master 2.2):
• MySQL–client–4.0.16–alt1.i586.rpm
• MySQL–server–4.0.16–alt1.i586.rpm
• apache–1.3.27rusPL30.16–alt13.i586.rpm
• apache–common–1.3.27rusPL30.16–alt13.i586.rpm
• binutils–2.13.90.0.4–alt2.i586.rpm
• cpp3.2–3.2.1–alt2.i586.rpm
• gcc3.2–3.2.1–alt2.i586.rpm
• gcc3.2–c++-3.2.1–alt2.i586.rpm
• glibc–devel–2.2.6–alt0.6.i586.rpm
• libMySQL–3.23.55–alt1.i586.rpm
• libMySQL–devel–3.23.55–alt1.i586.rpm
• libbfd–2.13.90.0.4–alt2.i586.rpm
• libmm–1.2.2–alt1.i586.rpm
• libpcap–0.7.1–alt3.i586.rpm
• libpcap–devel–0.7.1–alt3.i586.rpm
• libstdc++3.2–devel–3.2.1–alt2.i586.rpm
• make–3.79.1–ipl6mdk.i586.rpm
Если вы хотите использовать сервис html, придется еще ставить
• apache–1.3.27rusPL30.16–alt13.i586.rpm
• apache–common–1.3.27rusPL30.16–alt13.i586.rpm
Если вам надо не только считать трафик, но и фильтровать его (наверняка, в большинстве случаев), надо ставить девелоперский комплект для iptables:
• iptables–devel–1.2.7a–3.1asp.i386.rpm
• kernel–headers–common–1.0–alt2.noarch.rpm
• kernel24–headers–2.4.20–alt13.i586.rpm
В вашем конкретном случае версии пакетов и даже названия могут быть другими.
Для FreeBSD все что нужно (кроме Apache и MySQL) идет в стандартном дистрибутиве.
Вам не надо самостоятельно создавать базы данных и таблицы для NeTAMS — программа сделает это самостоятельно при первом старте.
Теперь необходимо скачать дистрибутив NeTAMS, распаковать, скомпилировать и установить его.
На текущий момент вы можете использовать версию NeTAMS–STABLE, доступную для скачивания тут: http://www.netams.com/download.html, а также NeTAMS–CURRENT (содержащую новые функции и возможно, неустойчиво работающую), которая доступна через anonymous CVS:
cvs–d :pserver:netams@netams.netams.com:/netams/cvs checkout netams
В большинстве случаев вам будет достаточно использовать NeTAMS–STABLE.
Дистрибутивный архив имеет имя вида:
netams–3.2.10.tar.gz
где 3 — номер версии, 2 — номер подверсии и 10 — номер билда.
Распаковываем:
tar zxvf netams–3.2.XXXX.tar.gz
cd netams–3.2.XXXX
Запускаем сборку.
make
Сначала работает конфигурационный скрипт configure.sh. Он создает для вас специальный Makefile, в котором указаны найденные для вашей операционной системы SQL–сервера, пути до конфигурационного и лог–файла по умолчанию, системные библиотеки и прочее. Вы также можете отредактировать этот получившийся файл и изменить некоторые настройки.
Зачастую ошибки компиляции возникают от того, что для каждой версии Линукса пути до заголовочных файлов и библиотек разные. Предлагается дописать необходимые пути в начало скрипта configure.sh и повторить сборку через make distclean && make.
В конечном итоге в каталоге src/ вы должны получить исполняемые файлы netams, netamsctl, flowprobe, ulog2netflow и ipfw2netflow. Запускаем их установку на место: make install
Вот ключи командной строки для запуска netams:
— l создавать и дописывать сообщения о работе в лог–файл (по умолчанию это /var/log/netams.log)
— d не отцепляться от терминала и не уходить в background; лог пишется в терминал
— q не выводить вообще ничего при старте (по умолчанию пишется слово NeTAMS)
— f filename путь до конфигурационного файла, по умолчанию это /etc/netams.cfg для Linux и Solaris и /usr/local/etc/netams.cfg для FreeBSD.
Скопируйте примерный конфигурационный файл из addon/netams.conf в место, указанное в переменной PATH_TO_CONFIG вашего Makefile, использовавшегося при компиляции. Если вы ставили прогрумму через make install, то файл начальной конфигурации уже на месте. Отредактируйте его.
Для минимального запуска конфигурационный файл должен содержать что–то вроде :
debug none
user name admin real–name Admin password aaa email root permit all
service server 0
login local
listen 20001
max–conn 6
service processor 0
lookup–delay 60
flow–lifetime 300
policy oid 14643C name ip target proto ip
restrict all pass local pass
unit group name ALL
unit user name server ip 192.168.0.1 acct–policy ip
service storage 1
type mysql
service data–source 1
type libpcap
source eth0 # поставьте тут имя вашего сетевого интерфейса!
rule 11 «ip»
service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp–server localhost
service html 0
path /var/html
run hourly
Для FreeBSD добавьте netams_enable=«YES» в /etc/rc.conf
Для Linux убедитесь, что в /etc/rc2.d/ есть правильная ссылка на /etc/ini.d/netams.init.d (хотя во всех линуксах все по–разному)
Запускаем программу:
/usr/local/etc/rc.d/netams–startup.sh start
При удачном запуске вы увидите процесс netams в списке выполняющихся процессов в системе. Можно попробовать присоединиться к программе:
telnet localhost 20001
(укажите логин, «admin»)
(укажите пароль, «aaa»)
в случае успеха вы увидите приглашение к набору команд:
#
Попробуйте выполнить команды «html», «save», «show version», «show config».
Первая команда, html, создаст в каталоге /var/html (указанный в команде path сервиса html) файлы с текущей статистикой и параметрами системы.
Вы должны будете настроить свой веб–сервер, чтобы он отображал эти страницы.
Вторая команда, save, вызывает сохранение текущего выполняемого конфигурационного файла обратно в файл. Это необходимо для сохранения значений ключей БД, присваиваемых объектам автоматически.
Если все четыре команды отработали успешно и вы увидели изменения в конфигурационном файле, вам доступны HTML–страницы и информация о версии показывает пару десятков строк — поздравляем, вы успешно установили NeTAMS.





