Система контроля доступа абонентов

Skip to end of metadata
Go to start of metadata

REST-API

У Carbon Reductor DPI X есть REST-API для управления абонентами.

Это позволяет отправлять команды с помощью curl.

В текущей версии управление строится на добавлении и снятии политик для абонентов.

Абоненты идентифицируются по IP адресу, поэтому в случае снятия зеркала после NAT управление абонентами работать не будет.

Как работает API

Схема REST API:

http://адрес-carbon-reductor-dpi-x:порт/api/v1/policy/название-политики/ip-адрес-абонента

Поддерживается 4 вида политики:

  • auth - абонент авторизован
  • negbal - абонент в отрицательном балансе
  • blocked - абонент заблокирован администратором
  • notify - абоненту будет один раз показано уведомление

Не обязательно включать все политики - достаточно выбрать необходимые в мастере настройки в веб-интерфейсе.

Действие с политикой зависит от HTTP-метода:

  • GET - узнать применена ли сейчас эта политика к абоненту
  • POST - применить политику к абоненту
  • DELETE - прекратить применять политику к абоненту

Примеры команд для управления абонентами

Пусть веб-интерфейс Carbon Reductor DPI X доступен по адресу http://10.30.40.1:8083.

Авторизовать абонента 10.30.40.50

curl -XPOST http://10.30.40.1:8083/api/v1/policy/auth/10.30.40.50

Проверить, перенаправляется ли абонент 10.30.40.50 на страницу отрицательного баланса

curl http://10.30.40.1:8083/api/v1/policy/negbal/10.30.40.50

Перестать блокировать абонента 10.30.40.50

curl -XDELETE http://10.30.40.1:8083/api/v1/policy/blocked/10.30.40.50

Показать абоненту 10.30.40.50 уведомление один раз:

curl -XPOST http://10.30.40.1:8083/api/v1/policy/notify/10.30.40.50

Что делать на биллинге

Настроить отправку команд. Многие биллинги делают это в виде bash-скрипта, в котором нужно определить нужные функции. Что-то вроде:

#!/bin/bash

user_auth() {
 return 0
}

user_auth_cancel() {
  return 0
}
user_balance_negative() {
  return 0
}

user_balance_positive() {
  return 0
}

user_block() {
  return 0
}

user_unblock() {
  return 0
}

Мы постараемся помочь с написанием таких скриптов, позже в этом разделе будут примеры скриптов для разных биллингов.

Мастер настройки системы контроля доступа абонентов.

API доступен для всех авторизованных пользователей. Для того чтобы биллинг мог отправлять команды, необходимо добавить его IP-адрес в настройках

Заходим на веб-интерфейс Carbon Reductor DPI X:

Переходим в Reductor -> Настройка Carbon Reductor DPI X -> Доступ к веб-интерфейсу -> указываем ip-адрес биллинга и сохраняем настройки.

Переходим в меню Reductor DPI X > Абоненты > Система контроля доступа абонентов

Шаг 1. Выберите необходимые функции.

Выбрав, нажимаем <Далее>.

Шаг 2. Расширенные настройки авторизации абонентов.

Можно включить авторизацию абонентов по мак-адресу.

Но в таком случае на шаге 3 обязательно нужно указать абонентскую подсеть. Есть техническое ограничение - абоненты должны быть в одной IPv4-сети с маской /16 (255.255.0.0) или меньшего размера.

Нажимаем <Далее>.

Шаг 4. Выбираем режим блокировки для абонентов.

На данной странице выбираем режим блокировок, применяемых к не авторизованным или заблокированным администратором абонентам, а также к неплательщикам.

Шаг 5. Настройка однократных уведомлений абонентов

Выбрав, нажимаем <Далее>.

Шаг 6. Выбираем способ подтверждения абонентом просмотра уведомления.

Выбрав, нажимаем <Далее>.

Шаг 7. Настройка страниц-заглушек.

Выбираем расположение страниц-заглушек.

Выбрав, нажимаем <Далее>.

Шаг 8. Настраиваем веб-сервер.

Вводим имя интерфейса и ip-адреса страниц-заглушек.

Вводим и нажимаем <Далее>.

Шаг 9. Настройка перенаправлений HTTP-запросов.

На данной странице можно указать адреса страниц, расположенных не на Carbon Reductor DPI X.

Вводим и нажимаем <Далее>.

Шаг 10. Проверяем настройки.

Проверяем, если все верно, нажимаем <Сохранить>.

Шаг 11. Настраиваем сеть и применяем настройки.

После настройки сети подключаемся к сервера по SSH и вводим команды в консоли:

service network restart
/app/reductor/service restart

Метки

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.