From: silver [животное] silverghost.org.ua;
Date: Mon, 15 Nov 2008 17:02:14 +0000 (UTC)
Subject: Установка биллинга Abills на Ubuntu + сервер доступа на Mikrotik Router OS
Установка биллинга 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
Установка производится очень просто, путем запуска всего лишь одной команды:
#Перед 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. Было:
Устанавливаем права на чтение и запись WEB-cервером для файлов WEB-интерфейса
chown -Rf www-data:www-data /usr/abills/cgi-bin
Проверка: Открываем веб интерфейс - http://your.host/abills/admin/ Логин администратора
по умолчанию - abills, пароль - abills. От имени этого администратора будут выполняться
различные операции в автоматическом режиме, например снятие абонплаты в начале месяца,
поэтому удалять его не нужно, нужно только изменить пароль на более безопасный.
Для реальных администраторов необходимо завести свои аккаунты и назначить им необходимые
права: Система > Администраторы.
Теперь осталось сконфигурировать NAS сервер в биллинге. Заходим в админке "Система - Сервер
доступа".
Название должно совпадать с shortname в clients.conf!!!
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
Пользователь abills
Пароль
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=abills group=write
[admin@mikrotik]> user ssh-keys import file=id_dsa.abills.pub
user: abills
Mikrotik должен нам ответить "name: MikroTik". Если все так и есть, то все у нас получилось
и можно пробовать работать.
Теперь, если необходимо, то можно настроить шейпер с учетом разных классов трафика. Для
этого в каталог /usr/abills/libexec/ext_acct ложим скрипт mikrotik_mshaper.sh следующего
содержания: