Четверг
21.09.2017, 20:43
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Разное [15]
Документация [18]
Авторские статьи [45]

Поиск

Свежие статьи
Динамическое деление скоро...
port knocking на mikrotik
Установка NGINX без прав R...
Как настроить время (NTP S...
Настраеваем CROND
Биллинг MikBill на UBUNTU
Даунгрейд PHP до версии 5....
Устанавливаем в Ubuntu 10....
Как настроить MySQL
Как настроить ZendOptimize...

Форма входа
Логин:
Пароль:

Главная » Статьи » Разное

Установка биллинга Abills на Ubuntu 8.04 LTS Server + Mikrotik Router OS в качестве сервера доступа

1. Установка Ubuntu 8.04 LTS Server

1.1. Базовая установка системы.

Установка операционной системы Ubuntu ничем не отличается от установки любой другой ОС.

  • Скачайте и запишите iso-образ Ubuntu 8.04 LTS Server c официального сайта.
  • Загрузите компьютер с привода CD-ROM.
  • После загрузки Вас попросят выбрать язык установки. После этого – раскладку клавиатуры.
  • Инсталлятор обнаружит Ваше аппаратное обеспечение и сконфигурирует сеть по DHCP. Если в Вашей сети нет DHSP-server, то можно сеть настроить вручную.
  • Затем инсталлятор спросит Вас об имени хоста и часовом поясе.
  • Далее вы можете сконфигурировать разделы на жестком диске.
  • Базовая установка системы закончена.
  • Теперь необходимо ввести пользователя и пароль, который будет назначен как пользователь sudo.
  • Так же можно установить несколько пакетов для работы сервера.

В процессе установки Вам может быть захочется изменить какие-либо параметры по умолчанию. Для этого нажмите кнопку "Назад” и перед вами будет подробное меню установки.

Помощь в каждом разделе установки можно вызвать с помощью "F1″.

1.2. Установка необходимых пакетов.

После установки базовой системы нам предложат установить пакеты. Что нам понадобится обязательно:

  • LAMP (Linux/Apache/MySQL/PHP server), можно установить после установки базовой системы
  • FreeRadius
  • модули для Perl

1.2.1. Устанавливаем и настраиваем FreeRadius

Установка производится очень просто, путем запуска всего лишь одной команды:

sudo apt-get install freeradius

Дальше идет настройка, что тоже не очень сложно.

Добавляем в файл /etc/freeradius/users.

DEFAULT Auth-Type = Accept
Exec-Program-Wait = "/usr/abills/libexec/rauth.pl"

Все остальное комментируем.

Добавляем в файл /etc/freeradius/acct_users

#Перед Exec-Program должен быть пробел
#Если каждого аккаунтинг-запроса в памяти оставались зомби-процессы racct.pl, то замените в файле acct_users Exec-Program на Exec-Program-Wait
DEFAULT Acct-Status-Type == Start
Exec-Program = "/usr/abills/libexec/racct.pl"
DEFAULT Acct-Status-Type == Alive
Exec-Program = "/usr/abills/libexec/racct.pl"
DEFAULT Acct-Status-Type == Stop
Exec-Program = "/usr/abills/libexec/racct.pl"

Заменяем в файле /etc/freeradius/clients.conf. Было:

client 127.0.0.1 {
secret          = testing123
shortname       = localhost

Стало:

client localhost {
secret = radsecret #Пароль для доступа к радиусу
shortname = shortname

Добавляем так же наш NASMikrotik:

client 172.16.0.1 {
secret = radsecret
shortname Mikrotik
nastype = other
}

Так же я столкнулся с проблемой, когда не прописан локальный IP в качестве клиента, то ничего не хочет работать:

client 172.16.0.2 {
secret = radsecret
shortname Mikrotik
nastype = other
}

Cоздаем функции для преавторизации и поставторизации. Добавляем в файл /etc/freeradius/radiusd.conf

modules {

exec pre_auth {
wait = yes
program = "/usr/abills/libexec/rauth.pl pre_auth"
input_pairs = request
output_pairs = config
}

exec post_auth {
wait = yes
program = "/usr/abills/libexec/rauth.pl post_auth"
input_pairs = request
output_pairs = config
}

Комментируем строки ‘mschap’ и ‘eap’ в разделе ‘authorize’ в файле /etc/freeradius/radiusd.conf, т.е. оставляем только это:

authorize {
pre_auth
preprocess
#mschap
#eap
suffix
files
}

Для оповещения о неавторизированных пользователях правим секцию post-auth в файле /etc/freeradius/radiusd.conf
Было:

#       Post-Auth-Type REJECT {
#               insert-module-name-here
#       }

Стало:

Post-Auth-Type REJECT {
post_auth
}

Проверяем конфигурацию freeradius:

sudo check-radiusd-config -level 345 radiusd on

Если все ок, то:

Radius server configuration looks OK.

Добавляем словарь для Mikrotika в /etc/freeradius/dictionary.

$INCLUDE /usr/local/radius/share/freeradius/dictionary.mikrotik

1.2.2. Настраиваем MySQL

Создаем файлик pre_abills.sql с содержимым следующего вида:

use mysql;
INSERT INTO user (Host, User, Password) VALUES ('localhost','abills',password('sqlpassword'));
INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Index_priv, Alter_priv) VALUES ('localhost', 'abills', 'abills', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
CREATE DATABASE abills;

И выполняем следующую команду:

mysql -u root -p < ./pre_abills.sql

У Вас спросят пароль для пользователя root, который Вы указали при установке LAMP сервера. Дальше выполняем еще одну команду:

mysqladmin flush-privileges

Тем самым мы создали базу данных abills и пользователя abills со всеми правами на данную базу. Переходим к следующему этапу.

1.2.3. Настройка Apache

Меняем кодироку на cp1251 здесь /etc/apache2/conf.d/charset

AddDefaultCharset cp1251

Добавляем поддержку mod_rewrite.

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

Качаем последнюю стабильную версию Abills из CVS. При запросе пароля просто нажмите "Enter”:

# cvs -d:pserver:anonymous@abills.cvs.sourceforge.net:/cvsroot/abills login

# cvs -z3 -d:pserver:anonymous@abills.cvs.sourceforge.net:/cvsroot/abills checkout -r rel-0-5 abills

Копируем скачанную папку ‘abills’ в /usr:

sudo cp -R ./abills /usr/

Подключаем конфиг в Апач:

ln -s /usr/abills/misc/abills_httpd.conf /etc/apache2/sites-enabled/abills_httpd.conf

Теперь, если Вы не хотите вешать биллинг на нестандартный порт, то правим файл /etc/apache2/sites-enabled/abills_httpd.conf. Было:

Listen 9443
<VirtualHost _default_:9443>

Стало:

#Listen 9443
<VirtualHost *:80>

Так же правим файл /etc/apache2/sites-enabled/000-default.conf. Было:

<VirtualHost _default_:80>

Стало:

<VirtualHost *:80>

Обязательно исправьте пути к логам Апача, т.к. конфиг рассчитан на FreeBSD и логи там лежат по другому пути. Нам нужен /var/log/apache2/…

Перезапускаем Apache:

/etc/init.d/apache2 restart

1.2.4. Установка модулей для Perl

Тут все ставится одной коммандой:

sudo apt-get install libdbi-perl libdbd-mysql-perl libdigest-md4-perl libdigest-sha1-perl libnet-perl libcrypt-des-perl

2. Настройка Abills

Abills у нас уже скачан, осталось только его настроить.

В папке /usr/abills/libexec/ копируем файл config.pl.default на config.pl.

сp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl

Это основной конфиг биллинга. Правим там пару строк буквально:

$conf{dbhost}='localhost';
$conf{dbname}='abills';
$conf{dbuser}='abills';
$conf{dbpasswd}='sqlpassword';
$conf{dbtype}='mysql';
$conf{default_language}='russian';
$conf{periodic_check}='yes';
$conf{secretkey}="vlnlhjvycjgfxtexkhgv8ti76r865duyvouvo76fkhdc6rxckygvljhbluyvkuc";

После этого правим файлик abills.sql, где меняем строку "test1234567890…” на ту, что прописали в конфиге, как secretkey.

Далее заливаем дамп пустой базы:

mysql -u root -p abills < ./abills.sql

Вставляем в /etc/crontab:

*/5  *  *  *  *   root    /usr/abills/libexec/billd -all
1    0  *  *  *   root    /usr/abills/libexec/periodic daily
1    0  *  *  *   root    /usr/abills/libexec/periodic monthly
#ежедневное автоматическое резервное копирование базы данных
1    3  *  *  *   root     /usr/abills/libexec/periodic backup

Создаем недостающие каталоги:

mkdir /usr/abills/backup
chown www-data /usr/abills/backup
touch /usr/abills/var/log/abills.log
chown www-data:www-data /usr/abills/var/log/abills.log

Устанавливаем права на чтение и запись WEB-cервером для файлов WEB-интерфейса

chown -Rf www-data:www-data /usr/abills/cgi-bin

Проверка: Открываем веб интерфейс – http://your.host/abills/admin/ Логин администратора по умолчанию – abills, пароль – abills. От имени этого администратора будут выполняться различные операции в автоматическом режиме, например снятие абонплаты в начале месяца, поэтому удалять его не нужно, нужно только изменить пароль на более безопасный.

Для реальных администраторов необходимо завести свои аккаунты и назначить им необходимые права: Система > Администраторы.

Теперь осталось сконфигурировать NAS сервер в биллинге. Заходим в админке "Система – Сервер доступа”.

IP 172.16.0.1
Название произвольно, NASMikrotik
Radius NAS-Identifier
Опис
Тип mikrotik:Mikrotik (http://www.mikrotik.com)
Авторизация SQL
External accounting
Alive (sec.) 60
Отключено
IP:Port 172.16.0.1
Пользователь admin_ssh
Пароль Radius secret для NAS
Radius Parameters Acct-Interim-Interval=60

Нажимаем "Добавить” и возле нового сервера доступа нажимаем "IP Pools”. Дальше просто вводим первый IP из пула и количество IP адресов в пуле.

Осталось добавить тарифы и пользователей. Это хорошо описано в официальной документации, так что повторяться не имеет смысла.

3. Настройка Mikrotik Router OS

Сразу оговорка, версия Mikrotik должна быть НЕ ниже 2.9.27.

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

Итак, выполняем следующие команды последовательно:

/radius add address=172.16.0.2 secret=radsecret service=ppp
/radius incoming set accept=yes
/ppp aaa set accounting=yes use-radius=yes interim-update=60
/ppp profile set default local-address=192.168.10.1
/interface pppoe-server server add interface=ether1 service-name=pppoe-in authentication=chap
/interface pptp-server server set enabled=yes authentication=chap

Теперь создаем сертификат для удаленного управления Mikrotik’ом. Сертификат должен быть с пустым паролем.

# /usr/abills/misc/sslcerts.sh ssh admin_ssh

Вновь сгенерированный сертификат лежит в каталоге /usr/abills/Certs/. По FTP заливаем публичный (.pub) сертификат на Mikrotik и создаем НОВОГО пользователя. После чего подключаем сертификат к этому пользователю.

Не используйте учетную запись admin!!!

[admin@mikrotik]> user add name=admin_ssh group=write
[admin@mikrotik]> user ssh-keys import file=id_dsa.admin_ssh.pub
user: admin_ssh

Дальше проверяем действие сертификата:

ssh -l admin_ssh -i /usr/abills/Certs/id_dsa.admin_ssh 172.16.0.1 "/system identity print"

Mikrotik должен нам ответить "name: MikroTik”. Если все так и есть, то все у нас получилось и можно пробовать работать.

Теперь, если необходимо, то можно настроить шейпер с учетом разных классов трафика. Для этого в каталог /usr/abills/libexec/ext_acct ложим скрипт mikrotik_mshaper.sh следующего содержания:

#!/bin/sh
# Mikrotik multi traffic class shaper

DEBUG=0;
ACT_STATUS_TYPE=$1;
NAS_IP_ADDRESS=$2;
NAS_PORT=$3;
NAS_TYPE=$4;
USER_NAME=$5;
FRAMED_IP_ADDRESS=$6;

if [ w${ACT_STATUS_TYPE} = wStart ] ; then
/usr/abills/libexec/linkupdown mikrotik up INTERFACE ${USER_NAME} ${FRAMED_IP_ADDRESS} NAS_HOST=NAS_IP_ADDRESS NAS_ADMIN=abills PROTO=pppoe
else if [ w${ACT_STATUS_TYPE} = wStop ] ; then
/usr/abills/libexec/linkupdown mikrotik down INTERFACE ${USER_NAME} ${FRAMED_IP_ADDRESS} NAS_HOST=NAS_IP_ADDRESS NAS_ADMIN=abills PROTO=pppoe
else
echo "Not enought arguments";
fi;
fi;

Естесственно, необходимо назначить нужные права:

chmod 755 /usr/abills/libexec/ext_acct/mikrotik_mshaper.sh



Источник: http://silverghost.org.ua/2008/10/13/ustanovka-billinga-abills-na-ubuntu-804-lts-server-mikrotik-router-os-v-kachestve-s

Спонсоры данной статьи


Категория: Разное | Добавил: -=shurf=- (19.09.2010) | Автор: Silver Ghost
Просмотров: 6152 | Комментарии: 6 | Теги: abills, управление доступом, микротик, биллинг | Рейтинг: 0.0/0

Настройка Mikrotik
Защита mikrotik от внешних вто...
Mikrotik - списки и группы адр...
Установка CentOS на программны...
Установка биллинга Abills на U...
MCS – система управления Mikro...
FTP сервер
Списки адресов
Службы, протоколы и порты
Mikrotik - QoS, Bandwidth cont...
Серверные сценарии ч.1

Всего комментариев: 3
2  
Ну хоть для приличия бы автора указали... Про линк я уже молчу...

3  
Подправил, ссылка в статье есть, а вот с именем по сложнее будет ))

1  
Пробежавшись по статье, так понял что можно содать базу данных с пользователями, создать билинговую систему и разрешить им нет. На дянх попробую реализовать и тогда на 99% появяться вопросы. Пока спасибо

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Профиль
Привет: Гость

Сообщения:

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или войдите!

Реклама

Наш опрос
Нужен ли этому сайту форум?
Всего ответов: 55

Нашел ошибку?
Система Orphus

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0



Бесплатный хостинг uCoz