Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
03:03, 31 июля 2011

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

Blog post image

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

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

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

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

Blog post image

 

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

# 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

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

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

Blog post image

 

Blog post image

Blog post image
Blog post image
Blog post image

 

Теперь осталось настроить 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:

Blog post image

Blog post image

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

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

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

 

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

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

Blog post image

 

Выбераем CHARGE

Blog post image

Blog post image

Заполняем:

Blog post image

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

Blog post image

Заполняем:

Blog post image

Blog post image

 

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

Blog post image

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

Blog post image

Blog post image

 

Blog post image

Blog post image

 

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

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

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

Blog post image

 

Все!!!

Чтобы не настраивать 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

 
0
925
0