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

Установка и базовая настройка IBSng на CentOS5

В этой записке будет описан процесс установки биллинг системы IBSng (next generation billing). На официальном сайте написано что биллинг (система учета) рекомендован провайдерам которые хотят получить поддержку предоплаты за услуги VoIP/DialUp и сетевых услуг по сети LAN.

Также он поддерживает детальный учет VoIP вызовов по средством использования Radius'a, что тоже хорошо.

Все возможности биллинга можно узнать на официальном сайте http://ibs.sourceforge.net/

Я буду ставить бесплатную версию этого биллинга, который урезан по функционалу. Разочаровало меня отсутствие русского интерфейса, что затрудняет использование.

 

Устанавливаем зависимости:

# yum install postgresql postgresql-server postgresql-devel postgresql-python php php-gd php-mbstring php-pdo python python-devel -y

 

Устанавливаем PyGreSQL:

# wget http://pkgs.fedoraproject.org/repo/pkgs/PyGreSQL/PyGreSQL-4.0.tgz/1aca50e59ff4cc56abe9452a9a49c5ff/PyGreSQL-4.0.tgz

 

# mv PyGreSQL-4.0.tgz /usr/src/

# cd /usr/src/

# tar -zxvf PyGreSQL-4.0.tgz

# cd PyGreSQL-4.0/

# python setup.py build

# python setup.py install

# service postgresql start

# nano /var/lib/pgsql/data/pg_hba.conf

local IBSng ibs trust

или

local all all trust

# service postgresql restart

 

Создаем базу:

# service postgresql start

# su postgres

> createuser ibs
> createdb IBSng
> createlang plpgsql IBSng

> exit

 

Качаем сам биллинг:

# wget http://sourceforge.net/projects/ibs/files/IBSng/IBSng-A1.24/IBSng-A1.24.tar.bz2/download

Распаковываем его в папку /usr/local/

# tar -xvjf IBSng-A1.24.tar.bz2 -C /usr/local

Получится так: /usr/local/IBSng

# echo "/usr/local/pgsql/lib/" >> /etc/ld.so.conf

# ldconfig

# ln -sn /usr/local/IBSng/interface/IBSng/   /var/www/html

 

Запускаем установочный скрипт:

# cd /usr/local/IBSng/scripts/

# ./setup.py

И отвечаем на вопросы:

Выберите 1(Install)

Выберите 2(Test DB Connection And Continue)

Выберите 2(Compile configuration and continue)

Выберите 1(Import tables and continue)

Please Enter System Password:

 

Выберите 1(Copy ibs.conf o '/etc/httpd/conf.d'

Выберите 2(chown apache directories to 'apache')

Выберите 3(Change apache config directory)

/etc/httpd

Выберите 5(Continue)

Выберите 1(Copy Logrotate Conf to /etc/logrotate.d)

Выберите 3(Continue)

Выберите 1(Copy Redhat init file to /etc/init.d)

Выберите 3(Continue)

Выберите b (Back to main menu)

Выберите x (Exit)

 

Запускаем все сервисы и добавляем их в автозагрузку

# service postgresql restart

# service httpd start

# service IBSng start

# chkconfig --level 35 postgresql on

# chkconfig --level 35 httpd on

# chkconfig --level 35 IBSng on

# reboot


Заходим на страничку http://localhost/IBSng/admin/

и видим веб интерфейс :)

Логин - system

Пароль - без пароля (при условии что вы его не задали при установке)

Также вы можете задать пароль в начале.

 



 

Теперь осталось настроить PPTP (или PPoE)и Radius =)

Займемся настройкой биллинга, в бесплатной версии он ведет учет VPN трафика.

Порядок настройки следующий:

- Устанавливаем и настраиваем Radius Client

- Устанавливаем и настраиваем PPTP

- Настраиваем IBSng:

* Создаем группу

* Создаем тариф, привязываем его к группе. Также добавляем правило.

* Создаем NAS с типом PPTP

* Создаем пользователя

 

1. Устанавливаем и настраиваем Radius Client

# wget http://pkgs.repoforge.org/radiusclient/radiusclient-0.3.2-0.2.el5.rf.i386.rpm

# rpm -ivh radiusclient-0.3.2-0.2.el5.rf.i386.rpm

Редактируем /etc/radiusclient/dictionary:

#
# Updated 97/06/13 to livingston-radius-2.01 miquels@cistron.nl
#
#    This file contains dictionary translations for parsing
#    requests and generating responses.  All transactions are
#    composed of Attribute/Value Pairs.  The value of each attribute
#    is specified as one of 4 data types.  Valid data types are:
#
#    string - 0-253 octets
#    ipaddr - 4 octets in network byte order
#    integer - 32 bit value in big endian order (high byte first)
#    date - 32 bit value in big endian order - seconds since
#                    00:00:00 GMT,  Jan.  1,  1970
#
#    Enumerated values are stored in the user file with dictionary
#    VALUE translations for easy administration.
#
#    Example:
#
#    ATTRIBUTE      VALUE
#    ---------------   -----
#    Framed-Protocol = PPP
#    7        = 1    (integer encoding)
#

# The dictionary format now supports vendor-specific attributes.
# Vendors are introduced like this:
#
#    VENDOR vendor_name vendor_number
#
# For example:
#
#    VENDOR RoaringPenguin 10055
#
# Vendor-specific attributes have a fifth field with the name of the
# vendor.  For example:
#
#       ATTRIBUTE RP-Upstream-Speed-Limit 1 integer RoaringPenguin
#
# introduces a Roaring Penguin vendor-specific attribbute with name
# RP-Upstream-Speed-Limit, number 1, type integer and vendor RoaringPenguin.

#
#    Following are the proper new names. Use these.
#
ATTRIBUTE    User-Name        1    string
ATTRIBUTE    Password        2    string
ATTRIBUTE    CHAP-Password        3    string
ATTRIBUTE    NAS-IP-Address        4    ipaddr
ATTRIBUTE    NAS-Port-Id        5    integer
ATTRIBUTE    Service-Type        6    integer
ATTRIBUTE    Framed-Protocol        7    integer
ATTRIBUTE    Framed-IP-Address    8    ipaddr
ATTRIBUTE    Framed-IP-Netmask    9    ipaddr
ATTRIBUTE    Framed-Routing        10    integer
ATTRIBUTE    Filter-Id        11    string
ATTRIBUTE    Framed-MTU        12    integer
ATTRIBUTE    Framed-Compression    13    integer
ATTRIBUTE    Login-IP-Host        14    ipaddr
ATTRIBUTE    Login-Service        15    integer
ATTRIBUTE    Login-TCP-Port        16    integer
ATTRIBUTE    Reply-Message        18    string
ATTRIBUTE    Callback-Number        19    string
ATTRIBUTE    Callback-Id        20    string
ATTRIBUTE    Framed-Route        22    string
ATTRIBUTE    Framed-IPX-Network    23    ipaddr
ATTRIBUTE    State            24    string
ATTRIBUTE    Class            25    string
ATTRIBUTE    Session-Timeout        27    integer
ATTRIBUTE    Idle-Timeout        28    integer
ATTRIBUTE    Termination-Action    29    integer
ATTRIBUTE    Called-Station-Id    30    string
ATTRIBUTE    Calling-Station-Id    31    string
ATTRIBUTE    NAS-Identifier        32    string
ATTRIBUTE    Acct-Status-Type    40    integer
ATTRIBUTE    Acct-Delay-Time        41    integer
ATTRIBUTE    Acct-Input-Octets    42    integer
ATTRIBUTE    Acct-Output-Octets    43    integer
ATTRIBUTE    Acct-Session-Id        44    string
ATTRIBUTE    Acct-Authentic        45    integer
ATTRIBUTE    Acct-Session-Time    46    integer
ATTRIBUTE    Acct-Input-Packets    47    integer
ATTRIBUTE    Acct-Output-Packets    48    integer
ATTRIBUTE    Acct-Terminate-Cause    49    integer
ATTRIBUTE       Chap-Challenge          60      string
ATTRIBUTE    NAS-Port-Type        61    integer
ATTRIBUTE    Port-Limit        62    integer
ATTRIBUTE    Connect-Info        77    string

# RFC 2869
ATTRIBUTE    Acct-Interim-Interval    85    integer

#
#    Experimental Non Protocol Attributes used by Cistron-Radiusd
#
ATTRIBUTE    Huntgroup-Name        221    string
ATTRIBUTE    User-Category        1029    string
ATTRIBUTE    Group-Name        1030    string
ATTRIBUTE    Simultaneous-Use    1034    integer
ATTRIBUTE    Strip-User-Name        1035    integer
ATTRIBUTE    Fall-Through        1036    integer
ATTRIBUTE    Add-Port-To-IP-Address    1037    integer
ATTRIBUTE    Exec-Program        1038    string
ATTRIBUTE    Exec-Program-Wait    1039    string
ATTRIBUTE    Hint            1040    string

#
#    Non-Protocol Attributes
#    These attributes are used internally by the server
#
ATTRIBUTE    Expiration          21    date
ATTRIBUTE    Auth-Type        1000    integer
ATTRIBUTE    Menu            1001    string
ATTRIBUTE    Termination-Menu    1002    string
ATTRIBUTE    Prefix            1003    string
ATTRIBUTE    Suffix            1004    string
ATTRIBUTE    Group            1005    string
ATTRIBUTE    Crypt-Password        1006    string
ATTRIBUTE    Connect-Rate        1007    integer

#
#       Experimental, implementation specific attributes
#
# Limit session traffic
ATTRIBUTE    Session-Octets-Limit    227    integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE    Octets-Direction    228    integer

#
#    Integer Translations
#

#    User Types

VALUE        Service-Type        Login-User        1
VALUE        Service-Type        Framed-User        2
VALUE        Service-Type        Callback-Login-User    3
VALUE        Service-Type        Callback-Framed-User    4
VALUE        Service-Type        Outbound-User        5
VALUE        Service-Type        Administrative-User    6
VALUE        Service-Type        NAS-Prompt-User        7

#    Framed Protocols

VALUE        Framed-Protocol        PPP            1
VALUE        Framed-Protocol        SLIP            2

#    Framed Routing Values

VALUE        Framed-Routing        None            0
VALUE        Framed-Routing        Broadcast        1
VALUE        Framed-Routing        Listen            2
VALUE        Framed-Routing        Broadcast-Listen    3

#    Framed Compression Types

VALUE        Framed-Compression    None            0
VALUE        Framed-Compression    Van-Jacobson-TCP-IP    1

#    Login Services

VALUE        Login-Service        Telnet            0
VALUE        Login-Service        Rlogin            1
VALUE        Login-Service        TCP-Clear        2
VALUE        Login-Service        PortMaster        3

#    Status Types

VALUE        Acct-Status-Type    Start            1
VALUE        Acct-Status-Type    Stop            2
VALUE        Acct-Status-Type    Accounting-On        7
VALUE        Acct-Status-Type    Accounting-Off        8

#    Authentication Types

VALUE        Acct-Authentic        RADIUS            1
VALUE        Acct-Authentic        Local            2
VALUE        Acct-Authentic        PowerLink128        100

#    Termination Options

VALUE        Termination-Action    Default            0
VALUE        Termination-Action    RADIUS-Request        1

#    NAS Port Types, available in 3.3.1 and later

VALUE        NAS-Port-Type        Async            0
VALUE        NAS-Port-Type        Sync            1
VALUE        NAS-Port-Type        ISDN            2
VALUE        NAS-Port-Type        ISDN-V120        3
VALUE        NAS-Port-Type        ISDN-V110        4

#    Acct Terminate Causes, available in 3.3.2 and later

VALUE           Acct-Terminate-Cause    User-Request            1
VALUE           Acct-Terminate-Cause    Lost-Carrier            2
VALUE           Acct-Terminate-Cause    Lost-Service            3
VALUE           Acct-Terminate-Cause    Idle-Timeout            4
VALUE           Acct-Terminate-Cause    Session-Timeout         5
VALUE           Acct-Terminate-Cause    Admin-Reset             6
VALUE           Acct-Terminate-Cause    Admin-Reboot            7
VALUE           Acct-Terminate-Cause    Port-Error              8
VALUE           Acct-Terminate-Cause    NAS-Error               9
VALUE           Acct-Terminate-Cause    NAS-Request             10
VALUE           Acct-Terminate-Cause    NAS-Reboot              11
VALUE           Acct-Terminate-Cause    Port-Unneeded           12
VALUE           Acct-Terminate-Cause    Port-Preempted          13
VALUE           Acct-Terminate-Cause    Port-Suspended          14
VALUE           Acct-Terminate-Cause    Service-Unavailable     15
VALUE           Acct-Terminate-Cause    Callback                16
VALUE           Acct-Terminate-Cause    User-Error              17
VALUE           Acct-Terminate-Cause    Host-Request            18

#
#    Non-Protocol Integer Translations
#

VALUE        Auth-Type        Local            0
VALUE        Auth-Type        System            1
VALUE        Auth-Type        SecurID            2
VALUE        Auth-Type        Crypt-Local        3
VALUE        Auth-Type        Reject            4

#
#    Cistron extensions
#
VALUE        Auth-Type        Pam            253
VALUE        Auth-Type        None            254

#
#    Experimental Non-Protocol Integer Translations for Cistron-Radiusd
#
VALUE        Fall-Through        No            0
VALUE        Fall-Through        Yes            1
VALUE        Add-Port-To-IP-Address    No            0
VALUE        Add-Port-To-IP-Address    Yes            1

#
#    Configuration Values
#    uncomment these two lines to turn account expiration on
#

#VALUE        Server-Config        Password-Expiration    30
#VALUE        Server-Config        Password-Warning    5

#       Octets-Direction
VALUE        Octets-Direction        Sum            0
VALUE        Octets-Direction        Input            1
VALUE        Octets-Direction        Output            2
VALUE        Octets-Direction        MaxOveral        3
VALUE        Octets-Direction        MaxSession        4

INCLUDE /etc/radiusclient/dictionary.microsoft
INCLUDE /etc/radiusclient/dictionary.merit
# Limit session traffic
ATTRIBUTE Session-Octets-Limit 227 integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE Octets-Direction 228 integer
# Connection Speed Limit
ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer

ATTRIBUTE Acct-Interim-Interval 85 integer

Скачиваем dictionary.microsoft словарь по этой ссылке:

http://cakebilling.googlecode.com/files/etc.tar.bz2

Копируем его в папку /etc/radiusclient

# cp dictionary.microsoft /etc/radiusclient

Редактируем /etc/radiusclient/servers

# gedit /etc/radiusclient/servers

В конец добавляем строчку:

127.0.0.1 radsecret
Устанавливаем PPP/PPTP:

# yum remove ppp -y

# wget http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-14.1.rhel5.i386.rpm

# rpm -ivh ppp-2.4.4-14.1.rhel5.i386.rpm

# wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm

# rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm

# gedit /etc/pptpd.conf

option /etc/ppp/options.pptpd
localip 192.168.0.1
remoteip 192.168.0.2-254

# gedit /etc/ppp/options.pptpd

lock

#debug

name pptpd

nodeflate

nobsdcomp

auth

+chap

+mschap-v2

+mschap

nomppe

ms-dns 10.168.50.1

plugin /usr/lib/pppd/2.4.4/radius.so

 

Настраиваем IBSng:

* Создаем группу

* Создаем тариф, привязываем его к группе. Также добавляем правило.

* Создаем NAS с типом PPTP

* Создаем пользователя

 

Сперва создадим группу, выделим вкладку GROUP, далле выберем Add New Group:

Дадим имя создаваемой группе MyGroup -> OK

В открывшемся окне поставим галочку возле надписи INTERNET CHARGE, нажмем EDIT.

В маленьком окошке поставим галочку HAS INTERNET CHARGE.

 

* Создаем тариф, привязываем его к группе. Также добавляем правило.

Шелкаем по меню SETTING

 

Выбераем CHARGE

Заполняем:

Шелкаем Add Internet Charge Rule в правой стороне

Заполняем:

 

Добавлем NAS Меню RAS -> Add New RAS:

Добавляем юзера Меню Users -> Add New User

 

 

Когда все настроено, можно проверять работу.

Чтобы протестировать соединение с нашим сервером, возьмите клиентский компьютер в локальной сети.

Создайте на нем новое подключение  "Подключение к виртуальной частной сети" со следующими параметрами:
- Введите IP адрес VPN сервера с установленным IBSng
- Шифрование: Не обязательное (Подключится даже если нет шифрования)
- Обычне (рекомендуемые параметры)
- Логин и пароль: Tanya/123

 

Все!!!

Чтобы не настраивать PPTP и RadiusClient сушествует уже готовый дистрибутив на основе Debian в котором все уже установлено и настроенно. По этой ссылке вы можете скачать его: http://sourceforge.net/projects/ibs/files/IBSng/IBSng-A1.24-LinuxDistro-cd-v1.iso/IBSng-A1.24-LinuxDistro-cd-v1.iso/download

После как запустите и установите Debian с уже настроенным IBSng, надо поставить пароль на админску учтеную запись с помощью скрипта:

# /usr/local/IBSng/scripts/setup.py

Поменяйте пароль системного пользователя system и перезапустите демон IBSng:

# service ibs restart

После можете войти веб интерфейс http://127.0.0.1

______

Config файлы: http://rghost.ru/37383282

 
Almas AkeHayc
Пишу для себя, блог как записная книжка. Со временем все забывается, а у меня оно все в бложике. Будьте упертым глухим и веселым бегемотиком :)
31 июля 2011, 15:03
2745

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

Комментарии

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

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

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

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

Узаконенное варварство в стране, принимающей «EPXO». Еще далеко нам до «топ-30 развитых стран»

Узаконенное варварство в стране, принимающей «EPXO». Еще далеко нам до «топ-30 развитых стран»

В продвинутых государствах едва ли поймут, почему в столь развитом, успешном и преуспевающем Казахстане от имени и по заданию властей творятся такие зверства над животными.
openqazaqstan
24 мая 2017 / 12:12
  • 9680
  • 91
Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Со стороны ЕНПФ в очередной раз прозвучало крайне неоднозначное заявление, от которого, на наш взгляд, лучше было бы воздержаться.
openqazaqstan
23 мая 2017 / 11:08
  • 9167
  • 31
Что бы ни сделал пешеход – все равно водитель сядет

Что бы ни сделал пешеход – все равно водитель сядет

Вопрос о равной ответственности водителя и пешехода при наезде на последних, только-только начинают обдумывать в высоких кабинетах. Но, пока государственные головы думают, водители продолжают...
Mirogloff
22 мая 2017 / 23:29
  • 4751
  • 32
Вырубка деревьев в Алматы под БРТ. Проект уже нанес городу экологический ущерб

Вырубка деревьев в Алматы под БРТ. Проект уже нанес городу экологический ущерб

Как ранее уже сообщалось из-за строительства БРТ в Алматы пострадают значительное количество деревьев. На прошлой неделе вырублены первые вязы и клён, - под расширение проезжей части на улице...
SKYFALL
24 мая 2017 / 17:20
  • 4664
  • 12
Алматинские проститутки превращаются в шпионок

Алматинские проститутки превращаются в шпионок

Попасть в притоны на алматинском проспекте Сейфуллина, которых, как бы ни старались полицейские, меньше не становится, теперь можно, только зная явки и пароли.
Mirogloff
19 мая 2017 / 13:25
  • 4499
  • 38
Пока полицейские будут прощать, им будут бить и по чести, и по лицу

Пока полицейские будут прощать, им будут бить и по чести, и по лицу

Судья Алмалинского районного суда Куаныш Арипов ломает стереотипы отношения граждан к представителям Фемиды. Напавшему на полицейского экс-сотруднику алматинского акимата он назначил наказание выше...
Mirogloff
24 мая 2017 / 16:41
  • 3259
  • 9
Да-да, я знаю, пора выходить замуж. Есть ли у меня еще время и, пожалуйста, уточните сколько?

Да-да, я знаю, пора выходить замуж. Есть ли у меня еще время и, пожалуйста, уточните сколько?

Итак давайте сразу начистоту. Мне 29. Не замужем, никогда не была, детей нет. В душе я совсем не чувствую этот возраст. Каждый раз когда задумываюсь об этом больше чем на 3 минуты, меня накрывает...
user2017
23 мая 2017 / 10:57
В Алматы доставили чудотворную икону «Умягчение злых сердец»

В Алматы доставили чудотворную икону «Умягчение злых сердец»

Икона "Умягчение злых сердец" несет особые - сакральные, духовные смыслы. Ее намоленность ощущается даже за те секунды, пока прикасаешься губами к образу.
ValentinaVladimirska
20 мая 2017 / 0:09
  • 3316
  • 0
Казком берет комиссии за оплаты по карте. Почему на это закрывают глаза Visa и MasterCard?!

Казком берет комиссии за оплаты по карте. Почему на это закрывают глаза Visa и MasterCard?!

Покупаешь в супермаркете продукты на 5000 тенге и банк забирает себе еще 30-50 тенге. То есть, продукты обошлись уже не в 5000, а в 5050 тенге.
ValentinaVladimirska
вчера / 22:56
  • 2551
  • 7