[vasexperts] Генерация индивидуальных шейперов
С версии 3.07.05 была добавлена возможность генерировать индивидуальные шейпера абонентов для BRAS vasexperts.
Логика использования:
- Указать индивидуальные шейпера у абонента
- Сгенерировать policy файлы (консольная команда)
- Применение policy на серверах BRAS vasexperts
- При авторизации, radius передаст в VasExperts-Policing-Profile индивидуальный шейпер
Генерация policy файлов
Для генерации policy файлов необходимо выполнить консольную команду shaper_generate_vasexperts
В разультате биллинг создаст json файлы в разделе /tmp/bill/shaper/ckatdpi, имена файлов {IN_SPEED}_{OUT_SPEED}.json
Применение policy на BRAS
Для применения policy можно использовать скрипт, который считает данные из сгенерированных json файлов и запустит fdpi_ctrl на BRAS для создания policy.
Скрипт использует пакет sshpass
#!/bin/bash DPI_LOGIN="policy" DPI_PASS="strong_password" DPI_IP="192.168.0.1" DPI_PORT="2233" # директория шейперов SHAPER_DIR="/tmp/bill/shaper/ckatdpi" # для ssh подключения PROG_SSH=$(command -v ssh) PROG_SSHPASS=$(command -v sshpass) # что запустить для применения policy PROG_FDPI_CTRL="/usr/sbin/fdpi_ctrl load profile --policing" # считываем каждый файл шейпера for SHAPER_FILE in ${SHAPER_DIR}/*.json; do # название профиля из названия файла PROFILE_NAME=$(basename "${SHAPER_FILE}" .json) # получаем данные файла SHAPER_DATA=$(cat ${SHAPER_FILE}) # применяем policy на сервере BRAS через sshpass и ssh ${PROG_SSHPASS} -p "${DPI_PASS}" ${PROG_SSH} -p "${DPI_PORT}" "${DPI_LOGIN}@${DPI_IP}" "${PROG_FDPI_CTRL} --profile.name ${PROFILE_NAME} --profile.json '${SHAPER_DATA}'" done