billing:howto:accel_cashe

Кеш-Система Accel-ppp

Доступна с версии 2.8.13

У accel-ppp есть возможность авторизировать пользователей с помощью файла паролей - chap secrets. Это очень полезное свойство может пригодится при проблемах в работе связки mysql - radius. Суть будет заключается в следующем - сервер доступа в определённый период времени запрашивает с билинга сгенерированный файл паролей и опрашивает радиус-сервер, если от него не поступает ответа, то сервер доступа переключается на файл с паролями полученный с билинга.

Первоначально нужно настроить авторизацию по ключу с сервера доступа на билинг. Это необходимо для того чтобы сервер доступа мог поддерживать актуальную версию файла-паролей. Пример можно почитутать тут - Авторизация между серверами

Скачайте свежий дистрибутив mikbill, в папке DISTR/caсhe-system архив accel-caсhe.tar.gz. В нём находится ещё два архива - billing.tar и nas.tar. billing.tar скопировать на билинг и распаковать согласно директориям внутри архива, тоже самое сделать и для nas.tar, скопировав его на сервер доступа.

Настройка для сервера с билингом:

1. Разархивировав billing.tar можете выбрать несколько вариантов генерации файла паролей. Для этого откройте файл /var/www/admin/res/caсhe/accel-ppp.php. В строке 74 есть функция billing_init_users(), с тремя примерами запросов:

1. Выбрать всех пользователей у которых баланс больше нуля и не заблокирован интернет.

2. Выбрать всех пользователей без условий.

3. Выбрать всех пользователей с положительным балансом и шейпером.

По умолчанию выбран 3 вариант.

2. Проверим формирование файла с паролями, для этого запустим скрипт-обвертку caсhe.sh

cd /usr/local/sbin
./caсhe.sh
<code>

В каталоге **/var/www/mikbill/admin/res/caсhe** у вас долже сформироваться файл - **chap-secrets**.

<code>
cat chap-secrets

test            *       1       192.168.3.7   9999
test_dolg       *       11      10.10.1.1     1024
3               *       McSgB   192.168.3.5   9999

1 и 3 колонки - логин-пароль. 4 - Адрес который будет выдаваться пользователя. 5 - Шейпер.

3. Добавьте в планировщик выполнение файла cache_sys примерно раз в час.

01 * * * * root /usr/local/sbin/cache_sys

Настройка для сервера доступа:

1. Разархивировать nas.tar.

В каталоге /opt подправим файлы accel-ppp.conf.norad(авторизация без радиуса) и accel-ppp.conf.rad(авторизация с радиусом). Корректируем их под себя(изменяем секции pptp,pppoe,radius и т.д.).

2. Отредактировать /usr/local/sbin/chap_sync.sh - заменив в нём ip-адрес на адрес билинга. Скрипт будет скачивать файл паролей с билинга.

3. Изменить /usr/local/sbin/test_sciprt.sh - скрипт проверяет ответ от радиус сервера:

STATS="/home/bill/norad/radius_test.txt" - файл с отладочной информацией о проверке статуса радиус-сервера

RADTEST="/usr/bin/radtest" - Путь к утилите radtest

FREERAD_SRV_IP="10.10.1.1" - IP Вашего радиус-сервера.

FREERAD_SECRET="secret" - Секретное слово.

4. /usr/local/sbin/rad_test.sh - скрипт перезапуска accel-ppp в случае если нет ответа от радиус-сервера. Измените строку перезапуска accel-ppp если у вас она отличается от:

/etc/init.d/accel  restart

5. И последнее, добавьте в планировщик выполнение файлов:

#Проверка раз в 5 минут
0-59/5 * * * * root /usr/local/sbin/rad_test.sh > /dev/null 2>&1
#Синхронизация раз в час
0 */1 * * * root /usr/local/sbin/chap_sync.sh > /dev/null 2>&1
  • billing/howto/accel_cashe.txt
  • Последнее изменение: 9 лет назад
  • sergeev