место в рейтинге
  • 1089930
  • 686
  • 86
Нравится блог?
Подписывайтесь!

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

Эта записка содержит краткую информацию по установке 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

 

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

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

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

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

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

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

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

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

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

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

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

/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 -> Сформировать

 

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

Almas AkeHayc
Пишу для себя, блог как записная книжка. Со временем все забывается, а у меня оно все в бложике. Будьте упертым глухим и веселым бегемотиком :)
9 августа 2011, 17:54
10520

Загрузка...
Loading...

Комментарии

Так все таки Centos 5 или 6 использовался? :)
А там, без разницы =)
netmin
0
0
Здравствуйте, подскажите пожалуйста, как в iptables завернуть трафик, чтобы доступ к интернету у пользователей был после авторизации в netams4.
Для этого требуется:
1. Указать источник данных RemoteAgentDataSource
2. Настроить и запустить агент

На деле я это не проверял пока...
netmin
0
0
Спасибо за актуальные материалы, буду пробовать дальше. Вы описываете несколько биллинговых систем, может подскажите как реализовать авторизацию доступа в интернет. Сеть 50 ПК, необходимо чтобы пользователи выходили в интернет после ввода логина и пароля, вариант авторизации через squid, не подходит, желательно реализовать средствами iptables.

Не как не могу использовать Сервис аутентификации в netams 4, он подходит по нескольким параметрам, например период неактивности, после которого разрывается соединение. В сети есть описание настройки iptables для netams 3, но они не работают в 4 ветки.

Если дойдет до дела и найдете решение, будет полезный материал.
Вообще, тема по поводу отключения и авторизации юзера в документации не освещена полностью.
Это сделано для того чтобы брать плату за установку биллинга. Понять их можно, столько труда....
А вы не про бывали Stargazer, или старую версию NetAMS. В противном случае, можно же VPN биллинг поставить.
Там есть авторизатор для Windows, Linux. Еще существует авторизация по IP.
Не знаю как по логину паролю, но по IP точно есть.

netmin
0
0
Решил поступить немного проще, так как решение нужно вчера, установил готовый шлюз от zentyal, там есть технология captive portal (захват пакетов в плен), да и в дальнейшем любой админ сможет разобраться что к чему. Stargazer пробовал, не подходит, нужна авторизация в браузере. Спасибо за уделенное время, и еще раз за понятные статьи. Удачных update`oв.
Если честно сказать, у меня на серверах стоят Win решения. На Линукс я поднял только один сервак, все мои записки носят экспериментальный характер.
Вроде бы всё по инструкции, но при авторизации выдает:
Error: Connection refused to jserver

jserver.log

2013-03-07 10:29:22,746 ERROR [main] com.netams.netams4.structures.XMLMAPConfigEngineImpl - Error loading XML configuration file, nested exception is: null
2013-03-07 10:29:23,136 DEBUG [main] com.netams.netams4.AlarmEventManager - submitEvent: key=exception, owner={system}, msg='XML configuration load failed'
2013-03-07 10:29:23,144 ERROR [main] com.netams.netams4.structures.Utils - XML configuration load failed
2013-03-07 10:29:23,225 INFO [main] com.netams.netams4.netams4 - Starting NETAMS4 1504 ...
2013-03-07 10:29:23,225 INFO [main] com.netams.netams4.AlarmEventManager - Init AlarmEventManager ...
2013-03-07 10:29:23,494 INFO [alarms_events] com.netams.netams4.structures.EngineThread - NETAMS4 alarms_events starting
2013-03-07 10:29:23,683 INFO [main] com.netams.netams4.RPCBridgeEngine - Init RPCBridgeEngine ...
2013-03-07 10:29:23,701 INFO [rpcbridge] com.netams.netams4.structures.EngineThread - NETAMS4 rpcbridge starting
2013-03-07 10:29:24,121 INFO [main] com.netams.netams4.BillingEngine - Init BillingEngine ...
2013-03-07 10:29:24,379 DEBUG [rpcbridge] com.netams.netams4.RPCBridgeEngine - Listen failed on port: 1198; nested exception is:
java.net.UnknownHostException: centos: centos
2013-03-07 10:29:24,379 FATAL [rpcbridge] com.netams.netams4.RPCBridgeEngine -

Cannot bind to a given RPC port. Usually this means another NETAMS4 instance is running, so I immediately quit.

2013-03-07 10:29:24,386 DEBUG [Thread-2] com.netams.netams4.AlarmEventManager - submitEvent: key=jserver-shutdown, owner={system}, msg='NETAMS 4.0.1504 is shutting down.'
2013-03-07 10:29:24,388 INFO [Thread-2] com.netams.netams4.structures.EngineThread - rpcbridge sent stop signal
Посмотрите строчку в файле netams.properties:
rpc.listen.host=localhost

Покажите внутренность файла:
/etc/hosts

Что у вас показывает команда:
nslookup centos
rpc.listen.host=localhost
rpc.listen.port=1198

hosts:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@centos ~]# nslookup centos
Server: 192.168.0.2
Address: 192.168.0.2#53

** server can't find centos: SERVFAIL
В файле "/etc/sysconfig/network" пропиши свое имя хоста "centos":
HOSTNAME=centos
И еще можно добавить строчку в файл /etc/hosts:
192.168.0.2 centos centos
После этих изменений попробуй запустить Netams.

Не забудь перезапустить службу network и убить все процессы netams.
Лучше сделай перезагрузку сервера.
"/etc/sysconfig/network" - и было прописано "centos"

добавил в host: 192.168.0.2 centos centos

Перестала открываться страница авторизации (127.0.0.1:8080)
Короче это проблема я так понял связанная с разрешением имени хоста.
Попробуй так:
/etc/hosts -> 127.0.0.1 centos centos
Во! Теперь пишет:
Неверные имя пользователя или пароль, попробуйте ещё раз.

Запрошено с IP-адреса: 127.0.0.1

Ввожу соответственно netams \ netams
Оказывается сейчас надо открывать страницу: 127.0.0.1:8080/webadmin/webadmin.html
Примного благодарен за оказанную помощь!
Буду разбираться дальше.
Спасибо за оперативные ответы!
Думаю ещё обращусь)

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
вчера / 17:21
  • 37970
  • 62
Алматы предложили сделать центром секс-туризма

Алматы предложили сделать центром секс-туризма

Известный политолог России Андрей Карпов предложил сделать Алматы центром секс-туризма. Но для этого сперва нужно легализовать проституцию в стране.
tala03
13 авг. 2017 / 14:48
Балконы Алматы. Интересные экземпляры встречаются только на старых домах

Балконы Алматы. Интересные экземпляры встречаются только на старых домах

Ещё один отчёт, который очень хотел сделать. Посмотрим на старые алматинские балконы. Хоть у нас и нет шедевров, но кое-что можно снять и выставить.
Ispanec
10 авг. 2017 / 0:04
  • 2837
  • 9
Американцы хотят напасть на КНДР, но не знают, где находится эта страна

Американцы хотят напасть на КНДР, но не знают, где находится эта страна

В США 75% жителей считают, что КНДР является "критической угрозой" для их страны. Авторы популярного американского шоу Джимми Кимела решили проверить жителей США, знают ли те, где находится КНДР.
tala03
10 авг. 2017 / 16:48
  • 2614
  • 58
Ограбление года: 3 млн долларов и 50 тысяч евро украли у казахстанского экс-министра

Ограбление года: 3 млн долларов и 50 тысяч евро украли у казахстанского экс-министра

КТК: "У жителя Алматы украли… 3 миллиона долларов! В деле, которое расследует сейчас местная полиция, удивляет всё – и внушительная сумма, и фамилия пострадавшего..."
SamJamKZ
10 авг. 2017 / 11:43
  • 2373
  • 42
Учителям, владеющим английским языком, повысят зарплату на 200%

Учителям, владеющим английским языком, повысят зарплату на 200%

В Казахстане началось поэтапное внедрение трехъязычного образования. По данным МОН РК, с 2017 учебного года начнется внедрение трехъязычия в 5-х классах.
tala03
10 авг. 2017 / 15:20
  • 1954
  • 31
Приложение казахстанских школьниц признали лучшим на конкурсе в Сан-Франциско

Приложение казахстанских школьниц признали лучшим на конкурсе в Сан-Франциско

Команда алматинских школьниц выиграла главный приз международного конкурса Technovation Challenge 2017 по разработке мобильных приложений.
yviNews
11 авг. 2017 / 16:38
  • 2222
  • 5
Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Многие способные выпускники без Алтын Белги готовились к тестированию, чтобы в честной борьбе попытать счастья на гранты без ущемления со стороны якобы "золотых" выпускников.
DanaJarlygapova
14 авг. 2017 / 14:35
Кандидат в президенты Польши просит место жительства в Казахстане

Кандидат в президенты Польши просит место жительства в Казахстане

Балли Мажец, ранее Балжан Наурызбаева, уроженка Южно-Казахстанской области уже 30 лет проживает в Польше. Является гражданской активисткой и председателем ассоциации Wspolnota Kazachska.
tala03
10 авг. 2017 / 0:25
  • 1400
  • 11