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

Skip to end of metadata
Go to start of metadata

У 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
}

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

Интеграция с Carbon Billing 5

  1. Настройте НАС по статье: пользовательская схема
  2. Укажите скрипт reductor.sh

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

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

Страницы находятся здесь:

/app/blockpage/var/www.d/

Метки

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