Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
05:54, 09 августа 2011

Установка NetAMS 4 на CentOS 6

Blog post image

Эта записка содержит краткую информацию по установке NetAMS v4 на CentOS 6 Linux.

Старую версию биллинга v3.4, знают практически все Линуксоиды, а особенно FreeBSD-ники. Так как она устанавливается из портов.

Помимо установки будет рассмотрен процесс настройки подсчета трафика на двух интерфейсах.

В настоящее время продукт активно дорабатываться, исправляются ошибки, добавляются новые фичи . Разработчик старательно "вылизывает" свой продукт, делая его стабильным и функциональным, что конечно радует конечных пользователей.

Не советую ставить биллинг начинающим, так как система из разряда "сделай все сам". Чтобы ее настроить до конца потребуются глубокие знания в ОС Linux, скриптинге и т.д.

Советую взглянуть на другие решения.

Содержание:

1. Закачка и установка NetAMS 4 в /usr/local

2. Установка Java Machine

3. Установка MySQL и создание базы

4. Правка файлов конф. файлов NetAMS

5. Создание симлинков Java

6. Установка Libpcap 1.1

7. Создание скрипта запуска NetAMS

8. Вход в веб интерфейс

9. Настройка Netams на учет трафика

10. Настройка NAT

11. Настройка локального DNS для кэширования запросов

12. Проверка, а тикает ли трафик

 

Итак приступим, для начала установим виновника.

 

1. Закачка и установка NetAMS 4 в /usr/local

Скачайте NetAMS 4 с официального сайта (файл netams4.0.1634-linux-i386.tar.gz). Для этого пройдите по ссылке:

http://www.netams.com/netams4_download.html

Полученный архивный файл требуется распаковать в папку /usr/local/

# mkdir /usr/local/netams4

# mv netams4.0.1634-linux-i386.tar.gz /usr/local/netams4

# cd /usr/local/netams4

# tar -zxvf netams4.0.1634-linux-i386.tar.gz

На сайте разработчика, часто появляются новые версии биллинга, проверьте сайт на наличие свежей версии.

2. Установка Java Machine

Установите JAVA JRE, скачайте Java здесь:

# wget http://sourceforge.net/projects/javaruntime/files/jre-6u27-linux-i586-rpm.bin/download -O jre-6u27-linux-i586-rpm.bin

# chmod 750 jre-6u27-linux-i586-rpm.bin

# ./jre-6u27-linux-i586-rpm.bin

 

3. Установка MySQL и создание базы

Установите MySQL

# yum install mysql-server mysql-devel -y

Создайте базу netams4, для этого запустите демон СУБД MySQL

# service mysqld start

Поставьте в автозагрузку MySQL

# chkconfig mysqld on

Настройке опции работы MySQL

# mysql_secure_installation

А теперь создайте базу netams4,  разрешите пользователю "netams" с паролем "password" работать с созданной базой

# mysql -u root -p

mysql>  Enter password: *****

mysql>  CREATE DATABASE netams4;

mysql>  GRANT ALL PRIVILEGES ON netams4.* TO 'netams'@'localhost' IDENTIFIED BY 'password';

mysql>  quit

 

4. Правка файлов конф. файлов NetAMS

Настройте NetAMS

Открываем файл /usr/local/netams4/netams4.properties и меняем следующие параметры:

db.sql.mysql.user=netams

db.sql.mysql.password=password

 

Также необходимо поменять значение в файлах:

/usr/local/netams4/webadmin/webadmin-startup.sh

->    LOGFILE="/var/log/netams4/run-web.log"

/usr/local/netams4/jserver/jserver-startup.sh

->     LOGFILE="/var/log/netams4/run.log"

# mkdir /var/log/netams4

Это все делается для хранения логов в месте, где они должны хранится, а не в папке самого NetAMS4

 

5. Создание симлинков Java

Создадим симлинки JAVA

# java -version

Java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

# which java

/usr/bin/java

#  find /usr -name "java" |grep jre

/usr/java/jre1.6.0_27/bin/java
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.19/jre/bin/java
/usr/java/jre1.6.0_27/bin/java
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.19/jre/bin/java

Здесь нас интересует первая строчки.

# cd /usr/local/netams4

# ln -s /usr/java/jre1.6.0_27 java

# cd jserver

# ln -s /usr/java/jre1.6.0_27 java

 

6. Установка Libpcap 1.1

Установим Libpcap зависимости:

# yum install flex bison gcc gcc-c++ -y

Скачаем сам Libpcap:

# wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz

Распакуем его:

# tar -zxvf libpcap-1.1.1.tar.gz
# cd libpcap-1.1.1
# ./configure
# make
# make install
# cd /usr/local/netams4/lib/so-dll/linux-i386/
# ln -s /usr/local/lib/libpcap.so.1.1.1 libpcap.so.1
# ln -s /usr/local/lib/libpcap.so.1.1.1 libpcap.so.0.8
 

7. Создание скрипта запуска NetAMS

Создадим скрипт автозапуска NetAMS

# vi /etc/init.d/netams4

#!/bin/sh

# Startup script for netams4

#

# chkconfig: 2345 41 59

# description: Run netams4

# Source function library.

. /etc/init.d/functions

 

#Проверяем, есть ли файл /usr/local/netams4/netams4.properties

[ -f /usr/local/netams4/netams4.properties ] || exit

LOCKFILE=/var/lock/subsys/netams4

RETVAL=0

# Функция старта netams4

start() {

echo -n "Starting netams4: "

daemon 'cd /usr/local/netams4/jserver/ && sh jserver-startup.sh && cd /usr/local/netams4/webadmin && sh webadmin-startup.sh && cd /usr/local/netams4/repserver && sh repserver-startup.sh'

RETVAL=$?

[ $RETVAL -eq 0 ] && touch "$LOCKFILE"

echo

}

#Функция стопа netams4

stop() {

echo -n "Shutting down netams4: "

rm -f /var/run/netams4.pid

local PID=$(ps ax|grep netams4.properties|grep preferIPv4Stack|awk '{print $1;}')

if [ -n "$PID" ]; then

for i in $PID

do kill $i

done

local array=( $PID )

echo "Netams4 processes stopped: ${array[@]}"

else

echo "Netams4 not running"

fi

RETVAL=$?

[ $RETVAL -eq 0 ] && rm -f "$LOCKFILE"

echo

}

# Функция рестарта netams4

restart()

{

stop

start

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

reload|restart)

restart

;;

condstop)

if [ -e "$LOCKFILE" ]; then

stop

fi

;;

condrestart)

if [ -e "$LOCKFILE" ]; then

restart

fi

;;

status)

status netams4

RETVAL=$?

;;

*)

echo "Usage: ${0##*/} {start|stop|reload|restart|condstop|condrestart|status}"

RETVAL=1

esac

exit $RETVAL


Добавим скрипт в автозапуск:

# chmod 750 /etc/init.d/netams4

# chkconfig --level 35 netams4 on

 

8. Вход в веб интерфейс

Запустим демон netams4:

# service netams4 start

Теперь осталось зайти в Веб Интерфейс:

127.0.0.1:8080/webadmin/webadmin.html

Логин/пароль: netams/netams

Blog post image

Blog post image

Blog post image

 

9. Настройка Netams на учет трафика

После установки NetAMS, требуется произвести его настройку.

Для этого надо завести контракт, выбрать источник данных и т.д.

Blog post image

Продолжим с настройки источника данных.

1. Источник данных

Добавим источник данных для интерфейса eth0, так как именно он смотрит в интернет. Зайдем в веб интерфейс Netams по адресу http://127.0.0.1:8080/webadmin

Разработчики Netams4 категорически не советуют  использовать источник данных "JPcapLocalDataSource". Поэтому мы добавим источник данных "RemoteAgentDatasource".

Далее проследуем по меню:

Система  (System) -> Источники данных  (Data sources) -> Добавить новый источник (Add new datasource)-> RemoteAgentDatasource.class 2.2 -> OK

Blog post image

Blog post image

По окончанию нажимаем кнопку "ПУСК"

Чтобы трафик учитывался, вам понадобится запустить специального агента командой:

/usr/local/netams4/jserver/agent/n4agent_pcap -e /usr/local/netams4/jserver/agent/access-ipset.sh -c 127.0.0.1:20002 -p /var/run/n4agent.pid -d -q >/dev/null 2>&1

Желательно добавить эту команду в автозагрузку:

# vi /etc/rc.d/rc.local

Добавляем в конец файла выше упомянутую строчку:

/usr/local/netams4/jserver/agent/n4agent_pcap -e /usr/local/netams4/jserver/agent/access-ipset.sh -c 127.0.0.1:20002 -p /var/run/n4agent.pid -d -q >/dev/null 2>&1

2. Контракты

Заходим в Элементы -> Контракты -> Добавить ->

Наименование: Vanka Vstanka

Тип контракта: Personal

Группа контактов: MasterGroup

Имя пользователя: Vanka

Пароль: Vstanka

Нажимаем кнопку "Применить"

Нажимаем кнопку "Другие настройки"

Вкладка Лицевые счета -> Добавить -> Валюта -> RUR -> Применить

Вкладка Учетные объекты -> Добавить -> Вбиваем IP адрес и префикс локальной сети, например 192.168.1.0/24

Имя профиля: enable monitor (any)

Вкладка Услуги -> Тариф -> Only Traffic

-----------------> Лицевой счет -> RUR

-----------------> Учетный объект -> 192.168.1.0/24

10. Настройка NAT

Настроем NAT:

# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 10.20.30.40

Здесь:

192.168.1.0/24 - адрес локальной сети

10.20.30.40 - адрес сетевого адаптера смотрящего в интернет.

 

Включим пересылку пакетов через наш шлюз:

# nano /etc/sysctl.conf    ->  net.ipv4.ip_forward = 1

Применим настройки без перезагрузки:

# sysctl -p

11. Настройка локального DNS для кэширования запросов

Установим и настроим BIND для организации кэширующего DNS сервера

Вводим следующие команды:

# yum install bind -y

# vi /etc/named.conf

listen-on { 127.0.0.1; 192.168.1.2; }; # IP адрес сетевой карты подключенной в локальную сеть

allow-query { 127.0.0.1; 192.168.1.0/24; }; # Адрес локальной сети

Теперь проверим работу DNS сервера,  запустим службу DNS:

# service named start

Выйдет сообщение наподобие этого:

Starting named:                                            [  OK  ]

Добавим службу named (он же Bind) в автозагрузку:

# chkconfig named on

12. Проверка, а тикает ли трафик

Теперь осталось проверить, ведется ли учет трафика. Для этого нам нужен компьютер в локальной сети, который будет выходит в Интернет через наш шлюз с установленным NetAMS4. Присвоем ему IP адрес локальной сети, маску, IP адрес шлюза и ДНС.

Закачаем какой нибудь файл из сети Интернет. Через не которое время зайдем на наш сервер http://127.0.0.1:8080

Далее зайдем в Отчеты -> Простой отчет - > Vanka Vstanka -> Сформировать

 

Blog post image

Видим, что трафик тикает =)

0