====== [vasexperts] Генерация индивидуальных шейперов ======
С версии 3.07.05 была добавлена возможность генерировать индивидуальные шейпера абонентов для BRAS vasexperts.
Логика использования:
- Указать индивидуальные шейпера у абонента
- Сгенерировать policy файлы (консольная команда)
- Применение policy на серверах BRAS vasexperts
- При авторизации, radius передаст в **VasExperts-Policing-Profile** индивидуальный шейпер
===== Генерация policy файлов =====
\\ Для генерации policy файлов необходимо выполнить [[admin/additionally/console_commands|консольную команду]] **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