Инструменты пользователя

Инструменты сайта


Боковая панель

Навигация

unix
notes
firmware
windows
Говнокод

Внешние ссылки

Внешняя ссылка

ubilling-настройка

Это старая версия документа!


Ubilling-настройка

Ubilling — реализация мощного, гибкого и интуитивно понятного web-интерфейса для stargazer.Мы стараемся создать продукт удовлетворяющий любые требования к АСР провайдеров любого масштаба. Сколько это стоит? Да нисколько, устанавливайте и пользуйтесь на здоровье — для хороших людей ничего не жалко ;)» (взято с официального сайта 🙂 )

Документация - http://wiki.ubilling.net.ua/doku.php

Поправки выделенные красным цветом относятся к Debian 8

eth0-глобал 192.168.1.100
eth1— внутрь 192.168.100.1

Устанавливаем пакеты:

title
apt-get install mysql-server-core-5.1 mysql-client-5.1 libmysqlclient16 
libmysqlclient-dev apache2 mysql-server expat libexpat1-dev php5-cli 
libapache2-mod-php5 php5-mysql dhcp3-server build-essential bind9 
bandwidthd softflowd libxmlrpc-c3-dev sudo

UPD изменились версии и названия пакетов: libxmlrpc-c3-dev →libxmlrpc-c++8-dev, dhcp3-server→isc-dhcp-server

  • 1-e: надо ввести пароль для пользователя root Mysql т.к. у меня машина тестовая то я введу туда «password».
  • 2-е: bandwidthd спрашивает на каком интерфейсе слушать будем. укажем интерфейс под названием eth1.
  • 3-е: bandwidthd спрашивает, какие сети протоколировать будем, если все интерфейсы настроены правильно, то он автоматически заполнит поле останется только нажать ОК.

Перейдем к конфигурации установленных паркетов

При установке dhcp3-server вываливается ошибка то, что он не может стартануть и нужно указать интерфейс, на котором будет работать наш dhcp.

title
mcedit /etc/default/isc-dhcp-server
INTERFACES=”eth1”

При перезапуске он опять ругнется на то, что в конфигах ничего не прописано к этому мы вернемся чуть позже. Вообще Ubilling генерирует свои конфиги. Bandwidthd тоже высыпал ошибку о том что не нашел конфиг, исправим !

cd /usr/share/doc/bandwidthd/ cp bandwidthd.conf /etc/bandwidthd/ mcedit /etc/bandwidthd/bandwidthd.conf UPD: В новой версии не актуально. конфиги лежат уже там где нужно. Настроим, раскомментируем и поправим следующие директивы:

subnet 192.168.100.0/24 dev «eth1» htdocs_dir «/var/lib/bandwidthd/htdocs» Далее сделаем символическую ссылку, что бы можно было зайти на web-морду:

ln -fs /var/lib/bandwidthd/htdocs/ /var/www/band UPD: симлинк не актуальный Перезапустим bandwidthd

/etc/init.d/bandwidthd restart теперь можно зайти на web-морду по следующему адресу:

http://ip_адрес_сервера/band/ UPD http://ip_адрес_сервера/bandwidthd/ включим мод php в apache:

a2enmod php5 Отредактируем /etc/sudoers:

User_Alias BILLING = www-data BILLING ALL = NOPASSWD: ALL Установим шейпер HTB и настроим его:

cd /home/sector wget downloads.sourceforge.net/project/htbinit/HTB.init/0.8.5/htb.init-v0.8.5?use_mirror=surfnet mv htb.init-v0.8.5\?use_mirror\=surfnet /usr/local/sbin/htb cd /usr/local/sbin/ chmod +x htb ln -fs /usr/local/sbin/htb /etc/init.d/ По умолчанию htb хранит конфиги в папке /etc/sysconfig/htb, создадим директории и сами файлы:

mkdir -p /etc/sysconfig/htb

cd /etc/sysconfig/htb touch eth0 touch eth1 touch eth0-2.root touch eth1-2.root Наполним их содержимым:

mcedit /etc/sysconfig/htb/eth0

DEFAULT=0 R2Q=100

mcedit /etc/sysconfig/htb/eth1

DEFAULT=0 R2Q=100

mcedit /etc/sysconfig/htb/eth0-2.root

RATE=100Mbit CEIL=100Mbit

mcedit /etc/sysconfig/htb/eth1-2.root

RATE=100Mbit CEIL=100Mbit Далее выполним следующие команды:

htb compile htb start htb stats Если после выполнения последний команды видим следующее:

### eth0: queueing disciplines

qdisc htb 1: root refcnt 2 r2q 100 default 0 direct_packets_stat 36 Sent 4768 bytes 36 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0

### eth0: traffic classes

class htb 1:2 root prio 0 rate 100000Kbit ceil 100000Kbit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 2000 ctokens: 2000

### eth1: queueing disciplines

qdisc htb 1: root refcnt 2 r2q 100 default 0 direct_packets_stat 3 Sent 242 bytes 3 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0

### eth1: traffic classes

class htb 1:2 root prio 0 rate 100000Kbit ceil 100000Kbit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 2000 ctokens: 2000 значит все в порядке ! Подкорректируем softflowd:

mcedit /etc/default/softflowd

INTERFACE=«eth1» OPTIONS=«-n 192.168.100.1:42111» Установим stargazer

mkdir /root/BILLING cd /root/BILLING wget http://stg.dp.ua/download/server/2.407-p1/stg-2.407-p1.tar.gz tar zxvf stg-2.407-p1.tar.gz cd stg-2.407-p1/projects/stargazer/ ./build make install cd ../sgconf && ./build && make && make install cd ../sgconf_xml/ && ./build && make && make install cd /root/BILLING/stg-2.407-p1/projects/stargazer/plugins/configuration/rpcconfig make && make install UPD: stg-2.407-p1 что-то не собрался на Debian 7.5 заюзал stg-2.408 Ошибка при сборке stg в Debian 8 libipq.h:38:43: fatal error: linux/netfilter_ipv4/ip_queue.h: Нет такого файла или каталога #include <linux/netfilter_ipv4/ip_queue.h> compilation terminated. полный путь /usr/include/linux/netfilter_ipv4/ip_queue.h создаем данный файл и вставляем содержимое Внешняя ссылка

Перейдем к настройке stargazer ! скопируем недостающие конфиги из conf-available.d/ в conf-enabled.d/

cd /etc/stargazer/conf-available.d/ cp store_mysql.conf /etc/stargazer/conf-enabled.d/ cp mod_rpc.conf /etc/stargazer/conf-enabled.d/ cp mod_cap_nf.conf /etc/stargazer/conf-enabled.d/ cp mod_remote_script.conf /etc/stargazer/conf-enabled.d/ Идем править конфиг stargazer /etc/stargazer/stargazer.conf и прописывать туда наши скопированные модули:

LogFile = /etc/stargazer/log/stargazer.log

<DirNames>

  DirName0 = Internet
  DirName1 =
  DirName2 =
  DirName3 =
  DirName4 =
  DirName5 =
  DirName6 =
  DirName7 =
  DirName8 =
  DirName9 =

</DirNames>

################################################################################ # Store module # Configure the module that works with the database server

# Warning: Only one store module could be used at the same time!

<IncludeFile «conf-enabled.d/store_mysql.conf»> </IncludeFile> ################################################################################ # Other modules

<Modules>

<IncludeFile «conf-enabled.d/mod_ao.conf»>

  </IncludeFile>

<IncludeFile «conf-enabled.d/mod_ia.conf»>

  </IncludeFile>

<IncludeFile «conf-enabled.d/mod_sg.conf»>

  </IncludeFile>

<IncludeFile «conf-enabled.d/mod_cap_nf.conf»>

  </IncludeFile>

<IncludeFile «conf-enabled.d/mod_rpc.conf»>

  </IncludeFile>

<IncludeFile «conf-enabled.d/mod_remote_script.conf»>

  </IncludeFile>

</Modules> Создадим файлик куда будут складываться логфайлы:

mkdir /etc/stargazer/log/ cd /etc/stargazer/log/ touch /etc/stargazer/log/stargazer.log отредактируем конфиги:

conf-enabled.d/store_mysql.conf conf-enabled.d/mod_cap_nf.conf conf-enabled.d/mod_rpc.conf conf-enabled.d/mod_remote_script.conf

mcedit store_mysql.conf

dbuser=root - ваш пользователь rootdbpass=password - ваш пароль

mcedit mod_cap_nf.conf

TCPPort = 42111 UDPPort = 42111

mcedit mod_rpc.conf

Port = 8081

mcedit mod_remote_script.conf:

SubnetFile = /etc/stargazer/subnets Создадим файл subnets:

cd /etc/stargazer touch subnets mcedit subnets 192.168.100.0/24 192.168.1.100 - ваши сети Chmod 777 subnets Поправим файлик rules находиться он по следующему пути /etc/stargazer/

mcedit /etc/stargazer/rules ALL 0.0.0.0/0 DIR0 запускаем stargazer:

root@debian:/# stargazer Идем смотреть лог. Если в логе следующее:

2013-01-29 18:46:56 – Stg v. 2.407-p1 2013-01-29 18:46:56 – Message queue created successfully. msgKey=5555 msgID=0 2013-01-29 18:46:56 – Timer thread started successfully. 2013-01-29 18:46:56 – Storage plugin: mysql_store v.0.67. Loading successfull. 2013-01-29 18:46:56 – Users started successfully. 2013-01-29 18:46:56 – Traffcounter started successfully. 2013-01-29 18:46:56 – Module: 'CAP_NF v. 0.4'. Start successfull. 2013-01-29 18:46:56 – Module: 'Remote script v 0.3'. Start successfull. 2013-01-29 18:46:56 – Module: 'InetAccess authorization plugin v.1.4'. Start successfull. 2013-01-29 18:46:56 – Module: 'Always Online authorizator v.1.0'. Start successfull. 2013-01-29 18:46:56 – Module: 'Stg configurator v.0.08'. Start successfull. 2013-01-29 18:46:56 – Module: 'Stargazer RPC v. 0.2'. Start successfull. 2013-01-29 18:46:56 – Stg started successfully. 2013-01-29 18:46:56 – +++++++++++++++++++++++++++++++++++++++++++++ Значит. все норм.

Проверим, создались ли таблицы в базе данных, для этого выполним команду:

mysql -u root -p stg -e «SHOW TABLES» Ответ:

+—————+

Tables_in_stg

+—————+

admins
messages
stat
tariffs
users

+—————+ Данный вывод означает, что все в порядке и создалось 5 таблиц. Выполним следующую команду чтобы убить stargazer

killall -s 9 stargazer Перейдем к установки Ubilling:

cd /var/www/ mkdir billing cd billing wget http://ubilling.net.ua/ub.tgz tar zxvf ub.tgz Заливаем дамп mysql

cat /var/www/billing/docs/test_dump.sql | mysql -u root -p stg Проверяем что дамп залит:

mysql -u root -p stg -e «SHOW TABLES» Видим:

+——————–+

Tables_in_stg

+——————–+

address
admins
ahenassign
apt
bankstaparsed
bankstaraw
build
cardbank
cardbrute
cashtype
catv_activity
catv_bankstaparsed
catv_bankstaraw
catv_decoders
catv_fees
catv_payments
catv_paymentscorr
catv_signups
catv_tariffs
catv_users
cfitems
cftypes
city
contractdates
contracts
contrahens
cpe
cpetypes
dhcp
directions
dshape_time
emails
employee
genocide
jobs
jobtypes
lousytariffs
messages
modem_templates
modems
nas
nastemplates
nethosts
networks
notes
passportdata
payments
paymentscorr
phones
radattr
realname
services
servtariff
sigreq
speeds
stat
street
switchdeadlog
switches
switchmodels
tags
tagtypes
tariffs
taskman
ticketing
ub_im
ubstats
ubstorage
uhw_brute
uhw_log
userreg
users
userspeeds
vcash
vcashlog
vservices
weblogs

+——————–+ +——————–+

Tables_in_stg

+——————–+

address
admins
ahenassign
apt
bankstaparsed
bankstaraw
build
cardbank
cardbrute
cashtype
catv_activity
catv_bankstaparsed
catv_bankstaraw
catv_decoders
catv_fees
catv_payments
catv_paymentscorr
catv_signups
catv_tariffs
catv_users
cfitems
cftypes
city
contractdates
contracts
contrahens
cpe
cpetypes
dhcp
directions
dshape_time
emails
employee
genocide
jobs
jobtypes
lousytariffs
messages
modem_templates
modems
nas
nastemplates
nethosts
networks
notes
passportdata
payments
paymentscorr
phones
radattr
realname
services
servtariff
sigreq
speeds
stat
street
switchdeadlog
switches
switchmodels
tags
tagtypes
tariffs
taskman
ticketing
ub_im
ubstats
ubstorage
uhw_brute
uhw_log
userreg
users
userspeeds
vcash
vcashlog
vservices
weblogs

+——————–+ Дамп залит !

Перейдем к редактированию конфигов Ubilling:

mcedit /var/www/billing/config/mysql.ini

;user login username = «root» - ваш логин ;user password password = «password» - ваш пароль

mcedit /var/www/billing/config/billing.ini

SUDO=/usr/bin/sudo RC_DHCPD=/etc/init.d/isc-dhcp-server Перенесем папку multinet и перенесем конфиги dhcp:

cd /var/www/billing mv multinet multinet_back

mkdir /etc/dhcp_back mv /etc/dhcp/* /etc/dhcp_back/ Создадим симлинк что бы генерированные Ubilling’ом конфиги отображались в папке /etc/dhcp:

ln -fs /etc/dhcp /var/www/billing/multinet Правим темплейты dhcp в ubilling расположены они по следующему пути: /var/www/billing/config/dhcp

mcedit /var/www/billing/config/dhcp/global.template

option domain-name «ourisp»; option domain-name-servers 8.8.8.8; default-lease-time 3600; max-lease-time 43200; authoritative; ddns-update-style none; log-facility local7; one-lease-per-client true; deny duplicates;

shared-network ourisp { {SUBNETS} }

mcedit /var/www/billing/config/dhcp/subnets.template

subnet {NETWORK} netmask {MASK} { default-lease-time 3600; option domain-name «ourisp»; option subnet-mask {MASK}; option routers 192.168.100.1; include «/etc/dhcp/{HOSTS}»; } Скопируем скрипты и дадим права:

cp -f /var/www/billing/docs/presets/Linux/etc/* /etc/stargazer/ chmod a+x /etc/stargazer/* Вернемся к редактированию конфигов и скриптов в /etc/stargazer:

mcedit /etc/stargazer/config

host = localhost username = root - ваш логин password = password - ваш пароль database = stg

mcedit /etc/stargazer/OnConnect

IFUP=«eth0» IFDOWN=«eth1»

echo «$cur_date $cur_time CONNECT: ID-$ID;LOGIN-$LOGIN;IP-$IP;CASH-$CASH;SPEED-$SPEED;UPSPEED-$UPSPEED,MAC-$MAC» » /etc/stargazer/log/allconnect.log

mcedit /etc/stargazer/OnDisconnect

IFUP=«eth0» IFDOWN=«eth1»

echo «$cur_date $cur_time DISCONNECT: ID-$ID;LOGIN-$LOGIN;IP-$IP;CASH-$CASH;SPEED-$SPEED;UPSPEED-$UPSPEED,MAC-$MAC» » /etc/stargazer/log/allconnect.log Отредактируем скрипты GetMAC, GetSpeed и GetUpSpeed изменим в каждом по одной строчке:

mcedit /etc/stargazer/GetMac #! /usr/bin/php

mcedit /etc/stargazer/GetSpeed #! /usr/bin/php

mcedit /etc/stargazer/GetUpSpeed #! /usr/bin/php Создадим файл для логов:

touch /etc/stargazer/log/allconnect.log Изменим права на директории billing и dhcp иначе убиллинг не сможет генерировать конфиги для dhcp

chown www-data:www-data -R /etc/dhcp chown www-data:www-data -R /var/www/billing Раскомментируем следующую строчку, что бы разрешить форвард пакетов:

mcedit /etc/sysctl.conf net.ipv4.ip_forward=1 Исправим путь в /etc/stargazer/conf-enable/mod_remote_script.conf:

mcedit /etc/stargazer/conf-enabled.d/mod_remote_script.conf SubnetFile = /var/www/billing/remote_nas.conf В этот файл при создании nas серверов Ubilling все пропишет сам. Как вы могли заметить этот файл мы правим два раза ! Внимательно проверяйте пути к файлам и наличие файлов в конфиге ubilling!

root@billing:/var/www/billing/config# cat billing.ini ; type of low level billing interraction baseconf = sgconfxml SGCONF=/usr/sbin/sgconf SGCONFXML=/usr/sbin/sgconf_xml STG_HOST=localhost STG_PORT=5555 XMLRPC_PORT=8081 STG_LOGIN=admin STG_PASSWD=123456 SUDO=/usr/bin/sudo TOP = /usr/bin/top -b CAT=/bin/cat GREP=/bin/grep RC_DHCPD=/etc/init.d/isc-dhcp-server UPTIME=/usr/bin/uptime PING=/bin/ping TAIL=/usr/bin/tail KILL=/bin/kill STGPID=/var/run/stargazer.pid STGNASHUP=1 PHPSYSINFO=phpsysinfo/ LANG = ru TASKBAR_ICON_SIZE = 64 ; user register options REGRANDOM_MAC=1 REGALWONLINE=1 REGDISABLEDSTAT=1 ;user reset type RESET_AO=0 ;No checks for stargazer runing process NOSTGCHECKPID=1 Вход в Ubilling Зайдем /ip_сервера/billing логин: admin пароль:demo

UPD: создать Alias в apache conf-enabled если на странице куча текста:

mcedit /etc/php5/apache2/php.ini short_open_tag=o при установке по данной статье наблюдал следующее: когда захожу в Ubilling то страница не открывается, а скачивается — лечится просто перезапуском apache:

/etc/init.d/apache2 restart создадим в справочнике сети и услуги назовем услугу Internet

далее создадим nas сервер там же в справочниках

стартанем stargazer

был случай что не стартанул перезагрузил систему глянул в remote_nas.conf пусто…. пошел в ubilling в nas сервер запись присутствовала, удалил, создал заново пошел, глянул remote_nas.conf появились записи стартанул stargazer ЗАПУСТИЛСЯ ! Идем в сервер DHCP и добавляем сеть имя конфига укажем eth.conf нажмем на кнопку dhcpd.conf он должен быть похож на шаблон который мы правили /var/www/billing/conf/dhcp/global.template, а конкретнее он должен выглядеть так:

option domain-name «ourisp»; option domain-name-servers 8.8.8.8; default-lease-time 3600; max-lease-time 43200; authoritative; ddns-update-style none; log-facility local7; one-lease-per-client true; deny duplicates;

shared-network ourisp { subnet 192.168.100.0 netmask 255.255.255.0 { default-lease-time 3600; option domain-name «ourisp»; option subnet-mask 255.255.255.0; option routers 192.168.100.1; include «/etc/dhcp/eth.conf»; }

} если что то пошло не так то удаляем все содержимое в /var/www/billing/multinet и /etc/dhcp

заново изменим права:

chown www-data:www-data -R /etc/dhcp chown www-data:www-data -R /var/www/billing далее в ubilling в серверы DHCP удаляем запись и создаем заново.

создадим тариф !

создадим скорость тарифу !

Добавим пользователя !

Зададим ему тариф !

сходим посмотрим лог :

cat /etc/stargazer/log/allconnect.log Если видим следующее:

2013.01.29 21:16:27 CONNECT: ID-1;LOGIN-kemobl1ap1_nlm4;IP-192.168.100.20;CASH-0.000000;SPEED-256;UPSPEED-256,MAC-14:88:45:66:35:47 Значит все в порядке !

посмотрим htb stats. должно быть следующее:

htb stats ### eth0: queueing disciplines

qdisc htb 1: root refcnt 2 r2q 100 default 0 direct_packets_stat 225 Sent 27310 bytes 225 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0

### eth0: traffic classes

class htb 1:2 root prio 0 rate 100000Kbit ceil 100000Kbit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 2000 ctokens: 2000

### eth1: queueing disciplines

qdisc htb 1: root refcnt 2 r2q 100 default 0 direct_packets_stat 0 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0

### eth1: traffic classes

class htb 1:4101 root prio 0 rate 256000bit ceil 256000bit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 781250 ctokens: 781250

class htb 1:101 root prio 0 rate 256000bit ceil 256000bit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 781250 ctokens: 781250

class htb 1:2 root prio 0 rate 100000Kbit ceil 100000Kbit burst 1600b cburst 1600b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 2000 ctokens: 2000

### eth1: filtering rules

filter parent 1: protocol ip pref 3 fw filter parent 1: protocol ip pref 3 fw handle 0x1005 classid 1:4101 filter parent 1: protocol ip pref 3 fw handle 0x65 classid 1:101 Добавим правила в iptables:

iptables -P FORWARD DROP iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT –to-source 192.168.1.100 Готово!

ubilling-настройка.1518855565.txt.gz · Последнее изменение: 2018/02/17 08:19 — sector

Яндекс.Метрика