Документация NetAMS (Автор) - страница 47

• Как мне создать базу и таблицы SQL?

• Специально создавать базу данных не нужно (MySQL). NeTAMS сам создаст ее при первом старте; таблицы с данными (raw и summary) будут создаваться, когда пойдет реальный трафик и начнется учет. Для Postgres вы можете создать таблицы вручную (они лежат в каталоге addon/), для Oracle вы ДОЛЖНЫ создать схему вручную (addon/oracle/).

• При компиляции не нашелся SQL. Как быть?

• Обычно, при сборке, скрипт configure.sh сканирует набор системных каталогов в поиске клиентских библиотек и заголовочных файлов. При этом на консоль выводится что–то вроде:

freebsd–vm:~/netams#make

/bin/sh configure.sh

##########################################################

## Configuring NeTAMS for build targets… ##

FreeBSD operating system…

With FreeBSD 5.XX, will have netgraph module…

Will have MYSQL support

[ /usr/local/lib/mysql /usr/local/include/mysql ]

Will have POSTGRESQL support

[ /usr/local/lib /usr/local/include ]

Will have BILLING service

Will have DEBUG flag set

Will have RADIUS support

Will have private portion of Makefile

## Configuration file was built. ##

##########################################################

К сожалению, стандартного места для таких библиотек нет, ваш конкретный дистрибутив может ставить программы куда угодно (особенно славится этим Linux), в связи с чем configure.sh может не найти библиотеки и при старте программа само–выключится с сообщением:

parse: registering storage: 1

parse: using storage:2 as source for READ and STAT requests

parse: creating service storage:1

parse: storage type is unknown

В таком случае вам необходимо вручную добавить соответствующие пути в верхние строки (начало) файла configure.sh, и пересобрать программу через:

make distclean && make

• Как мне блокировать трафик, если я использую libpcap?

• В общем случае — никак. Библиотека libpcap позволяет только слушать проходящий мимо интерфейса трафик. Все возможность блокировки через fw–policy или sys–policy работают ТОЛЬКО при наличии «перехватывающего» сервиса data–source, например IPFW или iptables/IPQ. Вы также можете написать свой скрипт (де)блокировки, который будет вызываться сервисом processor каждый раз, когда изменяется состояние системной политики юнита (см. документацию и пример).

• Почему бы не хранить конфигурацию в SQL?

• По историческим причинам NeTAMS держит ВСЮ свою конфигурацию в текстовом файле. Один и тот же код отвечает за разбор конфигурационного файла при старте, и настройку работающей программы через интерфейс командной строки. Хранение (части) конфига в SQL–базе, вообще–то очень полезная фича, потребует дублирования кода разбора конфига, дублирование кода записи конфига, и нетривиальных механизмов синхронизации SQL и внутренних структур данных работающей программы. К тому же, для управления SQL–конфигом придется писать отдельный веб–интерфейс. Эта задача (пробовали, не получилось) слишком трудоемка, чтобы браться ее реализовать в рамках бесплатного проекта и за разумное время.