====== Кеш-Система Accel-ppp ====== Доступна с версии 2.8.13 У accel-ppp есть возможность авторизировать пользователей с помощью файла паролей - **chap secrets**. Это очень полезное свойство может пригодится при проблемах в работе связки mysql - radius. Суть будет заключается в следующем - сервер доступа в определённый период времени запрашивает с билинга сгенерированный файл паролей и опрашивает радиус-сервер, если от него не поступает ответа, то сервер доступа переключается на файл с паролями полученный с билинга. Первоначально нужно настроить авторизацию по ключу с сервера доступа на билинг. Это необходимо для того чтобы сервер доступа мог поддерживать актуальную версию файла-паролей. Пример можно почитутать тут - [[billing:configuration:cross_server_uathorization|]] Скачайте свежий дистрибутив 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 В каталоге **/var/www/mikbill/admin/res/caсhe** у вас долже сформироваться файл - **chap-secrets**. 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