User Tools

Site Tools


сервис_billing

This is an old revision of the document!


Сервис Billing

Установка и настройка пакета freeradius

FreeBSD/Ubuntu

gX# cat clients.conf
...

gX# cat users
student Cleartext-Password := "password"
        Framed-IP-Address = 192.168.100+X.100

inetuser Cleartext-Password := "123"
        Framed-IP-Address = 192.168.100+X.101
# rcsdiff sites-available/default
141c141
<       unix
---
> #     unix

Запуск пакета freeradius

FreeBSD

[gX:~] # cat /etc/rc.conf
…
radiusd_enable="YES"
…

[gX:~] # /usr/local/etc/rc.d/radiusd start

Ubuntu

root@gX:~# /etc/init.d/freeradius start

Проверка

gX# radtest student password 127.0.0.1 1 testing123

Настройка ppp на использование RADIUS

FreeBSD

[gX:~] # rm /etc/ppp/ppp.secret

[gX:~] # cat /etc/radius.conf
auth 127.0.0.1 testing123 3 2
acct 127.0.0.1 testing123 3 2

[gX:~] # cat /etc/ppp/ppp.conf
…
 set timeout 0
 set radius /etc/radius.conf

Ubuntu

root@gX:~# apt-get install radiusclient1

root@gX:~# less /etc/radiusclient/radiusclient.conf
...

root@gX:~# cat /etc/radiusclient/servers
localhost testing123

root@gX:~# cat /etc/ppp/pppoe-server-options
+chap
plugin radius.so

Учет ресурсов потребляемых пользователями

[gX:~] # tail -f /var/log/radacct/127.0.0.1/detail-XXXXX

[gX:~] # fetch http://www.pgregg.com/projects/radiusreport/radiusreport-0.3b6.tar

[gX:~] # cd /usr/local
[gX:/usr/local] # tar -xvf /root/radiusreport-0.3b6.tar

[gX:~] # /usr/local/radiusreport-0.3b6/radiusreport -tba -l student -f /var/log/radacct/127.0.0.1/detail-XXXXX

Установка и настойка биллинговой системы freenibs

[gX:~] # pkg_add /usr/ports/packages/All/mysql-server.tbz

[gX:~] # /usr/local/etc/rc.d/mysql-server forcestart

[gX:~] # pkg_add /usr/ports/packages/All/gmake-3.81_1.tbz

Компиляция и инсталляция freenibs

[gX:~] # cd /usr/local/src/
[gX:/usr/local/src] # tar -xf freeradius-1.0.1.tar.gz

[gX:/usr/local/src] # tar -xf freenibs-0.0.3-bf3_freeradius-1.0.1.tar.bz2

[gX:/usr/local/src] # cp -R freenibs-0.0.3-bf3_freeradius-1.0.1/ freeradius-1.0.1/

[gX:/usr/local/src] # cd freeradius-1.0.1
[gX:local/src/freeradius-1.0.1] # grep nibs *

[gX:local/src/freeradius-1.0.1] # ./configure --prefix=/usr/local/freenibs

[gX:local/src/freeradius-1.0.1] # sed -i .old -e 's/rlm_x99_token//g' Make.inc

[gX:local/src/freeradius-1.0.1] # make && make install

Создание базы данных freenibs и добавление первого пакета и пользователя

[gX:local/src/freeradius-1.0.1] # rcsdiff src/modules/rlm_nibs/drivers/rlm_nibs_mysql/nibs_mysql.sql
< \u freenibs;
---
> \u freenibs

[gX:local/src/freeradius-1.0.1] # mysql < src/modules/rlm_nibs/drivers/rlm_nibs_mysql/nibs_mysql.sql

[gX:local/src/freeradius-1.0.1] # mysql
mysql> use freenibs;
Database changed

mysql> insert into packets (num,packet) values (1,’pppoe_users’);
Query OK, 1 row affected (0.00 sec)

mysql> insert into users (user, password, crypt_method, gid) values (’uX’,’pX’,0,1);
Query OK, 1 row affected (0.00 sec)

mysql> quit

Настройка freenibs

[gX:freenibs/etc/raddb] # diff nibs.conf nibs.conf,orig
69c69
<     n_p = "%{NAS-Port:-0}"
---
> 

[gX:freenibs/etc/raddb] # sed -i .old -e 's/%{NAS-Port}/\${n_p}/g' nibs.conf

Запуск freenibs

[gX:~] # /usr/local/freenibs/sbin/radiusd -xxyz

[gX:~] # /usr/local/freenibs/bin/radtest uX pX 127.0.0.1 0 testing123

Установка web интерфейса freenibs

[gX:~] # pkg_add /usr/ports/packages/All/php5-mysql.tbz

[gX:/usr/local/src] # tar -xjf freenibs-0.0.3-bf3_freeradius-0.9.3.tar.bz2 
[gX:/usr/local/src] # mkdir /var/www
[gX:/usr/local/src] # cp -R freenibs-0.0.3-bf3_freeradius-0.9.3/src/modules/rlm_nibs/utils/web/ /var/www/
 
[gX:~] # cat /var/www/admin/include/defines.php
...
define("USE_CARDS","0");
...

[gX:~] # cat /var/www/stat/include/defines.php
...
define("USE_CARDS","0");
...
[gX:~] # cp /usr/local/src/freenibs-0.0.3-bf3_freeradius-0.9.3/src/modules/rlm_nibs/doc/INSTALL /usr/local/etc/apache/nibs.conf

[gX:~] # cat /usr/local/etc/apache/nibs.conf
#---------------------------------------------------------
#admin
#---------------------------------------------------------
<VirtualHost *>
  php_admin_flag engine On
  php_admin_flag safe_mode Off
  php_admin_flag register_globals On
  
  ServerName admin.dX.class

  DocumentRoot /var/www/admin
  <Directory "/var/www/admin">
    AllowOverride all
    Options FollowSymlinks Includes
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

#---------------------------------------------------------
#stat
#---------------------------------------------------------
<VirtualHost *>
  php_admin_flag engine On
  php_admin_flag safe_mode Off
  php_admin_flag register_globals On
  
  ServerName stat.dX.class

  DocumentRoot /var/www/stat
  <Directory "/var/www/stat">
    AllowOverride all
    Options FollowSymlinks Includes
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

[gX:~] # cat /usr/local/etc/apache/httpd.conf
...
NameVirtualHost *:80
include /usr/local/etc/apache/nibs.conf

[gX:~] # apachectl configtest

[gX:~] # /usr/local/etc/rc.d/apache restart

[gX:~] # cat /etc/namedb/master/dX.class
…
admin   IN      A       10.10.105.X
stat    IN      A       10.10.105.X
…

Настройка учета.

За что считать деньги		За трафик
Какой трафик учитывать		Суммарный

Отредактировать прайс

Учет трафика предприятия биллинговой системой NETAMS

FreeBSD

[gate:~] # pkg_add -r mysql50-server

[gate:~] # /usr/local/etc/rc.d/mysql-server rcvar

[gate:~] # /usr/local/etc/rc.d/mysql-server start

[gate:~] # cd /usr/ports/net-mgmt/netams

[gate:ports/net-mgmt/netams] # make install clean

[gate:~] # cd /usr/local/etc/

Ubuntu (8.04)

root@gate:~# apt-get install mysql-server
root@gate:~# apt-get install libmysqlclient15-dev
root@gate:~# apt-get install libpcap0.7-dev

root@gate:~# cd /usr/src
root@gate:/usr/src# wget http://www.netams.com/files/netams-3.4.5.tar.gz
root@gate:/usr/src# tar -xvf netams-3.4.5.tar.gz 
root@gate:/usr/src# cd netams-3.4.5
root@gate:/usr/src# make
root@gate:/usr/src# cp src/netams /usr/sbin
root@gate:/usr/src# cp src/netamsctl /usr/sbin
root@gate:/usr/src# cp addon/netams.conf /etc
root@gate:/usr/src# cd /etc

Ubuntu (10.04)

На все вопросы о пароле пользователя root оставлять поле пустым

root@gate:~# apt-get install mysql-server

root@gate:~# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.1.41-3ubuntu12 (Ubuntu)
...

Пользователю admin пароль admin остальные - пустые

root@gate:~# apt-get install netams

FreeBSD/Ubuntu

gate# cat netams.cfg
...
# unit group name CLIENTS acct-policy ip www mail
unit host name server ip 172.16.1.X acct-policy ip www mail
# unit user name client1 ip 192.168.0.10 parent CLIENTS email client1@domain.ru acct-policy ip www mail
# unit net name LAN ip 192.168.13.0/24 acct-policy ip www mail
...
service storage 1
type mysql
# host 127.0.0.1
# user root
# password password
...
service data-source 1
type libpcap
source INTERFACENAME
...
path /PATH/TO/APACHE/DOCUMENTROOT/netams
...
url http://www.corpX.un/netams
...

FreeBSD

[gate:~] # /usr/local/etc/rc.d/netams start
Starting netams.

Ubuntu (8.04)

root@gate:~# /usr/sbin/netams -lf /etc/netams.conf

Ubuntu (10.04)

root@gate:~# cp /usr/share/doc/netams/examples/netams.conf /var/lib/netams/netams.conf

FreeBSD/Ubuntu

# telnet localhost 20001
…
Username: admin
Password: 

# show ds 

# html

# show conf

# conf t
(config)# service html
(config-html:0)# htaccess no
(config-html:0)# exit
(config)# exit

# quit

Ubuntu (10.04)

root@gate:~# chown -R www-data:www-data /var/www/netams/
сервис_billing.1284031867.txt.gz · Last modified: 2013/05/22 13:50 (external edit)