This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервис_billing [2010/09/09 17:00] val |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Сервис Billing ====== | ||
- | |||
- | ===== Установка и настройка пакета freeradius ===== | ||
- | |||
- | [[Аутентификация с использованием RADIUS сервера]] | ||
- | |||
- | ==== FreeBSD/Ubuntu ==== | ||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | <code> | ||
- | # rcsdiff sites-available/default | ||
- | 141c141 | ||
- | < unix | ||
- | --- | ||
- | > # unix | ||
- | |||
- | </code> | ||
- | |||
- | ===== Запуск пакета freeradius ===== | ||
- | |||
- | ==== FreeBSD ==== | ||
- | <code> | ||
- | [gX:~] # cat /etc/rc.conf | ||
- | … | ||
- | radiusd_enable="YES" | ||
- | … | ||
- | |||
- | [gX:~] # /usr/local/etc/rc.d/radiusd start | ||
- | </code> | ||
- | |||
- | ==== Ubuntu ==== | ||
- | <code> | ||
- | root@gX:~# /etc/init.d/freeradius start | ||
- | </code> | ||
- | |||
- | ===== Проверка ===== | ||
- | <code> | ||
- | gX# radtest student password 127.0.0.1 1 testing123 | ||
- | </code> | ||
- | |||
- | ===== Настройка ppp на использование RADIUS ===== | ||
- | |||
- | ==== FreeBSD ==== | ||
- | <code> | ||
- | [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 | ||
- | </code> | ||
- | |||
- | ==== Ubuntu ==== | ||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | ===== Учет ресурсов потребляемых пользователями ===== | ||
- | <code> | ||
- | [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 | ||
- | </code> | ||
- | |||
- | ===== Установка и настойка биллинговой системы freenibs ===== | ||
- | <code> | ||
- | [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 | ||
- | </code> | ||
- | |||
- | ==== Компиляция и инсталляция freenibs ==== | ||
- | <code> | ||
- | [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 | ||
- | </code> | ||
- | |||
- | ==== Создание базы данных freenibs и добавление первого пакета и пользователя ==== | ||
- | <code> | ||
- | [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 | ||
- | </code> | ||
- | |||
- | ==== Настройка freenibs ==== | ||
- | <code> | ||
- | [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 | ||
- | </code> | ||
- | |||
- | ==== Запуск freenibs ==== | ||
- | <code> | ||
- | [gX:~] # /usr/local/freenibs/sbin/radiusd -xxyz | ||
- | |||
- | [gX:~] # /usr/local/freenibs/bin/radtest uX pX 127.0.0.1 0 testing123 | ||
- | </code> | ||
- | |||
- | ==== Установка web интерфейса freenibs ==== | ||
- | <code> | ||
- | [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 | ||
- | … | ||
- | |||
- | Настройка учета. | ||
- | |||
- | За что считать деньги За трафик | ||
- | Какой трафик учитывать Суммарный | ||
- | |||
- | Отредактировать прайс | ||
- | </code> | ||
- | |||
- | ===== Учет трафика предприятия биллинговой системой NETAMS ===== | ||
- | |||
- | [[Сервис HTTP]] | ||
- | |||
- | ==== FreeBSD ==== | ||
- | <code> | ||
- | [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/ | ||
- | </code> | ||
- | |||
- | ==== Ubuntu (8.04) ==== | ||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | ==== Ubuntu (10.04) ==== | ||
- | |||
- | На все вопросы о пароле пользователя root оставлять поле пустым | ||
- | <code> | ||
- | 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) | ||
- | ... | ||
- | </code> | ||
- | |||
- | Отказываемся от создания базы данных, пользователю admin пароль admin остальные - пустые | ||
- | <code> | ||
- | root@gate:~# apt-get install netams | ||
- | </code> | ||
- | |||
- | !!!!! Если dpkg валится с ошибкой кофигурации, помечаем пакет как нормально установленный | ||
- | <code> | ||
- | root@gate# cat /var/lib/dpkg/status | ||
- | ... | ||
- | Package: netams | ||
- | Status: install ok installed | ||
- | ... | ||
- | </code> | ||
- | |||
- | !!!!! И берем за основу файл конфигурации: | ||
- | <code> | ||
- | root@gate:~# cp /usr/share/doc/netams/examples/netams.conf /var/lib/netams/netams.conf | ||
- | </code> | ||
- | |||
- | <code> | ||
- | root@gate# cat /etc/default/netams | ||
- | ... | ||
- | RUN="yes" | ||
- | ... | ||
- | </code> | ||
- | |||
- | ==== FreeBSD/Ubuntu ==== | ||
- | <code> | ||
- | 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 | ||
- | ... | ||
- | </code> | ||
- | |||
- | ==== FreeBSD ==== | ||
- | <code> | ||
- | [gate:~] # /usr/local/etc/rc.d/netams start | ||
- | Starting netams. | ||
- | </code> | ||
- | |||
- | ==== Ubuntu (8.04) ==== | ||
- | <code> | ||
- | root@gate:~# /usr/sbin/netams -lf /etc/netams.conf | ||
- | </code> | ||
- | |||
- | ==== Ubuntu (10.04) ==== | ||
- | |||
- | Не обращаем внимание на [fail] | ||
- | <code> | ||
- | root@gate.corp13.un:~# /etc/init.d/netams start | ||
- | * Starting NeTAMS daemon netams [fail] | ||
- | </code> | ||
- | |||
- | |||
- | ==== FreeBSD/Ubuntu ==== | ||
- | <code> | ||
- | # 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 | ||
- | </code> | ||
- | |||
- | ==== Ubuntu (10.04) ==== | ||
- | <code> | ||
- | root@gate:~# chown -R www-data:www-data /var/www/netams/ | ||
- | </code> | ||