Настройка управления DPI. Интеграция через метод PUSH
Управление абонентами (Subscriber Management, SM) позволяет подключать услуги, управлять ограничением полосы (полисингом) и применять другие действия по отношению к отдельным абонентам.
СКАТ DPI идентифицирует абонентов по IP-адресу, так как другой информации в IP-пакете не присутствует, поэтому если выдача IP-адресов абонентам производится динамически, необходимо произвести интеграцию с узлом выдачи адресов (RADIUS, DHCP) или установить компонент FastRADIUS (Монитор событий RADIUS. RADIUS Mapping).
Интеграция DPI платформы с биллингом по схеме PUSH подразумевает, что биллинг (или доп. система) должен самостоятельно сообщить на DPI информацию о подключенных абоненту услугах и настройках полисинга до их фактического применения на DPI. Переданные данные запоминаются во встроенной БД UDR и сразу активны после перезагрузки системы.
Чтобы при перезапуске платформы восстановились настройки абонентских профилей, необходимо активировать встроенную БД или разместить скрипты инициализации в каталоге /etc/dpi/init.d/ (аналогично тому, как это обычно делается в Linux при управлении шейпером или процессом загрузки). Последний вариант имеет свои преимущества и может оказаться подходящим решением для быстрой миграции с Linux/FreeBSD или аппаратных шейперов без собственной БД.
Популярные сценарии подготовки профилей для финансовой блокировки описаны в статье Быстрый старт: Тарифный план и Captive Portal (доступ к СЗР).
Утилита fdpi_ctrl является высокоскоростным API для управления DPI
Пример: задание тарифного плана (настроек полисинга) сразу для 30 тысяч абонентов занимает меньше секунды:
time fdpi_ctrl load --policing rate_10M.cfg --file subsribers.lst Result processing file 'subsribers.lst' : 30000/30000/0/0/0 real 0m0.344s user 0m0.009s sys 0m0.144s
Удаленный запуск команд через SSH
Для удаленного запуска команд на сервере DPI через SSH без ввода пароля рекомендуется использовать аутентификацию пользователей по публичным ключам.
Для этого на сервере управления необходимо:
- Создать пару из публичного и закрытого ключей:
ssh-keygen -t rsa
В диалоге выбрать значения по умолчанию. Секретную фразу для простоты дальнейшего использования оставить пустой1)
- Скопировать публичный ключ на сервер DPI командой:
ssh-copy-id dpi_user@dpi_hostили вручную
cat ~/.ssh/id_rsa.pub | ssh dpi_user@dpi_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
- На сервере DPI проверить и исправить права на файл
authorized_keys:chmod 700 ~dpi_user/.ssh/ chmod 600 ~dpi_user/.ssh/authorized_keys restorecon -Rv ~dpi_user/.ssh/
- Проверить работоспособность удаленного запуска
fdpi_ctrlc сервера управления:ssh dpi_user@dpi_host "fdpi_ctrl load --service 6 --login test"
Если запуск не работает, рекомендуется найти подсказки в логе
/var/log/secureна DPI сервере и включить диагностический режим SSH:ssh -v …
Удаленный запуск утилиты fdpi_ctrl
Для передачи команд на DPI используется TCP соединение через порт управления, поэтому необходимо разрешить в firewall внешний доступ по порту управления.
Для того чтобы DPI платформа принимала управляющие команды необходимо задать в конфигурационном файле /etc/dpi/fastdpi.conf:
- Номер прослушиваемого порта:
ctrl_port=29000
- Имя сетевого интерфейса, по умолчанию DPI настроен на взаимодействие с через lo-интерфейс:
ctrl_dev=eth0
Для удаленного запуска утилиты fdpi_ctrl нужно произвести следующие действия:
- В настроечном файле DPI
/etc/dpi/fastdpi.confвключить прослушивание сетевого интерфейса управления, доступного извне:ctrl_dev=eth0 - В настройках firewall
/etc/sysconfig/iptablesоткрыть доступ на порт, указанный в настройкеctrl_portи ограничить к хосту DPI доступ только с управляющего сервера-A INPUT -m state --state NEW -m tcp -s 192.168.0.2 -p tcp --dport 29000 -j ACCEPT
- Скопировать утилиту
fdpi_ctrlна управляющий сервер и запускать ее с аргументом -r host:portfdpi_ctrl load --service 6 --login test -r 192.168.0.1:29000
fdpi_ctrl на управляющем сервере
Была ли полезна эта информация?