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

Установка 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
10235

Загрузка...

Комментарии

Так все таки 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

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

Мысли вслух. Почему казахи перестали общаться с родственниками и ходить в гости?

Мысли вслух. Почему казахи перестали общаться с родственниками и ходить в гости?

Дастархан в те времена был скромен. Не было понятия «сынау» - осуждения кто как живет, какой в доме ремонт и т.д. Пока взрослые обсуждали задержку заработной платы, мы играли в армию, жмурки, строили городки...
socium_kzo
5 дек. 2016 / 15:19
  • 22068
  • 27
Верховный Суд презентовал комментарий к Гражданскому процессуальному кодексу

Верховный Суд презентовал комментарий к Гражданскому процессуальному кодексу

ГПК содержит 505 статей, многие из которых написаны несколько сложным юридическим языком. Однако теперь понять их можно проще и без обращения к юристу.
RuSnake
6 дек. 2016 / 10:31
  • 10842
  • 0
Японец о Казахстане: «Ваши девушки уж сильно себе набивают цену...»

Японец о Казахстане: «Ваши девушки уж сильно себе набивают цену...»

"Мужчины должны у вас тут права качать, ибо их процент в вашей численности населения уступает проценту женщин". Я машинально начала уверять, что у нас в стране таковых не имеется...
Sapientia
5 дек. 2016 / 10:52
  • 10177
  • 71
Распил 1 млрд долларов или спасение для Алматы? В 2017-м начнётся строительство БАКАД

Распил 1 млрд долларов или спасение для Алматы? В 2017-м начнётся строительство БАКАД

Конечно, Алматы заслужил эту дорогу. Невзирая на все издержки, которые могут возникнуть. Заслужил и как крупнейший город Казахстана, и как субъект, формирующий своими налогами около четверти всех...
merurg
7 дек. 2016 / 12:35
  • 6962
  • 19
Известный европейский фотограф показал истинную красоту казашек

Известный европейский фотограф показал истинную красоту казашек

С 26 по 30 ноября в Алматы гостил известный европейский фотограф Ян Маклайн в рамках реализации совместного проекта с Казахстаном. Подробности не уточняются, однако ходят слухи о том, что этот...
Muchacho55
7 дек. 2016 / 18:29
  • 7033
  • 8
10 причин, по которым я не смогла работать учителем. Не только в зарплате дело, ребята

10 причин, по которым я не смогла работать учителем. Не только в зарплате дело, ребята

Я почти год проработала в школе, и когда уходила оттуда, была самым счастливым человеком в мире. Тот год, честно говоря, я и сейчас вспоминаю с ужасом.
demonica
6 дек. 2016 / 17:21
  • 5583
  • 78
На самом деле дела плохи: казахстанские школьники на 49-м, а не на 12-м месте по математике

На самом деле дела плохи: казахстанские школьники на 49-м, а не на 12-м месте по математике

О том, как масс-медиа раздула миф о казахстанских вундеркидов в розовый воздушный шар, пока его не проколола правда-иголка. Получается, что казахстанские дети не могут применить теорию в практике...
ardakzhurynov
7 дек. 2016 / 0:17
  • 4900
  • 35
Молчание врачей. Дети ЮКО, заражённые ВИЧ 10-11 лет назад, узнают о диагнозе-приговоре

Молчание врачей. Дети ЮКО, заражённые ВИЧ 10-11 лет назад, узнают о диагнозе-приговоре

Как сообщают новостные издания, в ближайшее время в Южном Казахстане 102 детям в возрасте 11-12 лет сообщат об их страшном диагнозе. Все эти дети были заражены ВИЧ, причём большинство было инфицировано по вине врачей.
openqazaqstan
2 дек. 2016 / 13:57
  • 4542
  • 4
Почему Дональд Трамп назвал Казахстан чудом. Президент подтягивается по географии

Почему Дональд Трамп назвал Казахстан чудом. Президент подтягивается по географии

Трамп и не подозревает, что 16 декабря 1991 Казахстан не создал, а восстановил свою национальную государственность. Иначе бы он упомянул не только 25 лет, а больше чем 550 лет казахской истории.
Stehlikova
2 дек. 2016 / 9:02
  • 5241
  • 88