demon.pmi.basnet.by - авторская страница разработчика сайтов.

Настройка системы учета трафика на основе netams-3.4.2c

Для этого нам необходимо скачать netams-3.4.2c можно на официальном сайте netams-3.4.2c.tar.gz

Кроме того, понадобится


1. MySQL или (postgreSQL) - сервер БД для хранения статистики


2. Apache - Web-сервер, чтобы клиенты могли смотреть статистику


Положим, что две первых позиции мы успешно настроили выше.

3. Доставляем все недостающие пакеты:


server:/# apt-get install apt-get install libc6-dev libmysqlclient15-dev libapache2-mod-perl2 php5 php5-mysql binutils cpp gcc g++ make libssl-dev libnet-telnet-perl libdbd-mysql-perl libdbi-perl libdate-calc-perl libgd-graph-perl

4. Устанавливаем библиотеку libpcap


server:/# apt-get install libpcap0.8-dev

5. По умолчанию библиотека libipq.a не устанавливается. Поэтому придется ее доставлять


server:/# apt-get install iptables-dev

6. Доставляем пакет который включает в себя файл lhash.h


server:/# apt-get install libcurl3-openssl-dev

Замечание:Учтите, что если какого-то пакета в стандартной 3-DVD поставке дебиана не найдется, то придется воспользоваться репозиторием из Интернета www.debian.org/distrib/packages#search_packages. Только примите к сведению что текущая стабильная версия уже Lenny, а если ваша платформа Etch, то берите пакеты OldStable.

Для сборки пакета со всеми его возможностями необходимо поставить ВСЕ вышеуказанные пакеты!

Распаковать архив, например, в каталог /usr/src/netams-3.4.3c


server:/# tar -zxvf netams-3.4.2c.tar.gz /usr/src
server:/# cd /usr/src/netams-3.4.2c
server:/# ./configure.sh

##########################################################
## Configuring NeTAMS for build targets...
Linux operating system...
Will have LIBIPQ support
Optional features: Use_cli_enable BW_limit Fast_FW_checks Layer7_filter Hash_database
Will have MYSQL support
[ /usr/lib /usr/include/mysql ]
Will have BILLING service
Will have DEBUG flag set
Will have RADIUS support
## Configuration file was built.
##########################################################

Обратите внимание на строчку Will have MYSQL support [ /usr/lib /usr/include/mysql]. Всё бы ничего, да вот при таком раскладе конфигурации скомпилированный модуль netams не увидел нашу базу MySQL. )

Я долго не мог понять в чем же дело и в конце концов просто сменил в файле Rules.Make:
LIB+ = -lmysqlclient –L/usr/lib на LIB+ = -lmysqlclient –L/usr/lib/mysql

И так скомпилил...

Замечание:Ежели вы сменили конфигурацию уже после того, как однажды скомпилировали модуль командой make, то после внесенных исправлений в файле Rules.Make (исправление выше, или просто отключили какие-то модули, или даже просто дописали необходимые пути до заголовочных файлов и библиотек) необходимо собирать модуль командами

server:/# make distclean && make

Иначе, после исправления файла Rules.Make командуем:


server:/# make
server:/# make install
server:/# cp /etc/netams.conf.sample /etc/netams.conf
Замечание:на многих сайтах, где описывают установку Netams файл конфигурации обзывают netams.cfg.example и netams.cfg. Так вот в версии 3.4.2с эти файлы называются netams.conf.sample и netams.conf соответственно (см. файл Rules.Make, опция CONFIG_FILE_NAME). Там же можно (и нужно) подправить название исполняемого скрипта на netams.sh!

В FAQ официального сайта написано "Специально создавать базу данных не нужно (MySQL)." Но! Только в том случае если у пользователя root нет пароля. Тогда Netams все сделает сам. В нашем же случаем, устанавливая mysql, мы закрыли пользователя root паролем, поэтому необходимо создать базу самостоятельно. Это можно сделать из консоли:


server:/# mysql -u root -p

mysql>connect netams;
mysql>grant select,insert,delete,update,create on netams.* to netams;
mysql>grant select,insert,delete,update,create on netams.* to netams@localhost;
mysql>set password for 'netams'@'localhost'=password('****');
mysql>set password for 'netams'@'%'=password('****');
mysql>flush privileges;
mysql>\q

От себя добавлю, что абсолютно неважно чем и как добавлять новую базу MySQL, нового пользователя и дать ему права... Можно использовать любимый phpmyadmin

Дальше правим netams.conf под свои нужды:

#NeTAMS version 3.4.1 (template config)

debug none
language ru user name admin real-name Admin password XXXXXX email admin@XXXXXX.by permit all

#services configuration
service server 0
login local
listen 20001
max-conn 6

service processor 0
lookup-delay 60
flow-lifetime 300
policy oid 06521A name allip target proto ip
policy oid 06521B name www target proto tcp port 80 81 21 22 443
policy oid 06521C name mail target proto tcp port 25 110
policy oid 06521D name isq target proto tcp port 5190
policy oid 06521E name local-traffic target file /etc/local.txt
policy oid 06521F name perring target file /etc/perring.txt
restrict all pass local pass
unit group oid 09521A name HomeNet acct-policy %local-traffic %perring www mail isq allip

unit user oid 05E69A name user1 password 102 ip 192.168.1.2 description "Dmitry app.206" parent HomeNet acct-policy %local-traffic %perring www mail isq allip
unit user oid 05E69B name user2 password 103 ip 192.168.1.3 description "Ruslan app.411a" parent HomeNet acct-policy %local-traffic %perring www mail isq allip
unit user oid 05E69C name user3 password 104 ip 192.168.1.4 description "Dmitry app.212" parent HomeNet acct-policy %local-traffic %perring www mail isq allip

unit net oid 0E4B33 name LAN ip 192.168.1.0/24 acct-policy %local-traffic %perring
www mail isq allip
storage 1 all

service storage 1
type mysql
user netams
password ********
host localhost
dbname netams

service data-source 1
type libpcap
source eth0
rule 11 "ip"

service quota 0
policy ip
notify soft {owner}
notify hard {owner} admin
notify return {owner}
storage 1

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost
service html 0
path /var/www/netams/stat
run 10min
htaccess yes
client-pages all
url http://192.168.1.1/netams/
language ru

service scheduler
oid 08FFFF time 10min action "html"

#end

В конфигурации я отметил важные места. Все остальное можно почерпнуть с официального сайта - netams.com/doc/doc_services.html

Для быстрой проверки работоспособности можно запустить netams


server:/# netams –l
Замечание:Ключ –l создавать и дописывать сообщения о работе в лог-файл (по умолчанию это /var/log/netams.log)

Если все прошло успешно, то в списке процессов


server:/# ps aux | grep netams

вы должны увидеть netams.

Замечание:стартовый скрипт, который собирается и устанавливается в init.d с названием netams.init.d (если вы не исправили выше в файле Rules.Make его название на netams.sh) у меня напрочь отказался управлять Netams-ом. Поэтому я взял за основу файл стартового скрипта для Linux из /usr/src/netams/addon/netams-linux-stratup.sh
# cp /usr/src/netams/addon/netams-linux-stratup.sh /etc/init.d/netams.sh

И дописал его до удобоваримого вида:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          netams.sh
# Required-Start:
# Required-Stop:
# Default-Start:     3
# Default-Stop:
# Short-Description: Run /etc/init.d/netams.sh if it exist
### END INIT INFO

PATH=/sbin:/usr/sbin:/bin:/usr/bin
daemondir=/usr/local/sbin
path_to_etc=/etc

case "$1" in
        start)
        sleep 3;
        /bin/mkdir -p /var/run/netams
        if [ -x $daemondir/netams ]; then
                if [ -f $path_to_etc/netams.conf ]; then
                        $daemondir/netams -lf $path_to_etc/netams.conf >/dev/null
                        echo ""
                        echo "NeTAMS 3.4.2 started..."
                fi
        fi
        ;;

        restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;

        stop)
        killall netams
        rmdir /var/run/netams
        echo ""
        echo "NeTAMS 3.4.2 stoped..."
        ;;

        *)
        echo "Usage: $0 start | stop"
        ;;
esac

Выставим правильные права на стартовый скрипт:


server:/# chown root:root /etc/init.d/netams.sh
server:/# chmod +x /etc/init.d/netams.sh

И добавим любым способом скрипт в автозагрузку (например, добавим в /etc/rc.local):


/etc/init.d/netams.sh

Я не настраивал пока админке и NaWt. Но если кому то интересно – читайте форум netams.com/doc/doc_services.html


Ваши предложения

Представьтесь, пожалуйста
Электронная почта
Оставьте Ваше сообщение: