Ipn

Модуль для подсчета трафика в локальной сети.

  • Позволяет разделять трафик на 65535 классов.
  • Возможно разделение трафика по IP-адресам или по портам.
  • Блокировка клиентов с отрицательным депозитом.
  • Авторизация клиентов через Web-интерфейс или по 802.1х
  • Club Monitor - упрощёный мониторинг для компьютерного клуба. Выдача карточек доступа к сети. Печать чеков.

Схема построения сети

Схема авторизации


Как работает

Модуль получает данные о трафике от внешних коллекторов (trafd, ipcad, Cisco Netflow). Получив данные от коллектора, система просматривает таблицу активных сессий (/ Monitoring/ Dialup / VPN/) и для них проводит подсчет трафика в зависимости от тарифного плана клиента. Модуль использует тарифные планы, описанные в модуле Dv (Dialup/VPN). Если данные о трафике не принадлежат ни одной из активных сессий, то они складываются в файл /usr/abills/var/log/ipn/unknown_ip.log при включённой опции UNKNOWN_IP_LOG.
Для получения данных и их подсчёта и складывания в базу используются следующие программы:

  • trafdstats - для получения данных от trafd и последующей их обработкой traffic2sql
  • traffic2sql - для получения данных от других коллекторов (Ipcad, flowtools).

Система периодически запускает их из cron.

Авторизация пользователей: При открытии страницы браузером пользователи автоматически попадают на страницу авторизации и только после успешной авторизации могут пользоваться интернетом.

Настройка Abills

(В качестве примера используется машина под управлением FreeBSD)

# cd /usr/abills/libexec/
# ln -s ../Abills/modules/Ipn/trafdstats trafdstats
# ln -s ../Abills/modules/Ipn/traffic2sql traffic2sql

Создать таблицы в базе.

#  mysql --default-character-set=utf8 -D abills < db/Ipn.sql

abills/libexec/config.pl

@MODULES = (
          'Ipn'
          );

Опции:

$conf{IPN_DETAIL}=1; Вести детальную статистику. на сервере где traffic2sql работает
$conf{IPN_DETAIL_MIN_SIZE}=1024; Задаёт минимальный размер пакета который будет попадать в детализацию. Данная опция предохраняет от замусоривания
$conf{IPN_DAILY_LOG_ROTATE}=1; Ротация детализации и логов статистики каждый день. При включённой опции не работает подсёчет пред оплаченного трафика
$conf{IPN_STATIC_IP}=1; Использовать только статические адреса.
Система проверяет статические адреса всех имеющихся клиентов и присваивает им траффик. Исключая таким образом потери из за переподключений при использовании динамических адресов авторизации. При даной схеме работы трафик в журнал / Monitoring / Online не попадает он складывается непосредственно в статистику пользователя
$conf{IPN_FILTER}=«/usr/abills/libexec/ipn_filter.sh»; Полный путь к программе, которая запустится, если у клиента заполнено поле Filter ID. Данная программа запускается после командіпрописанной в $conf{IPN_FW_START_RULE} и $conf{IPN_FW_STOP_RULE}.
Программе передаются следующие аргументы %STATUS (ONLINE_ENABLE,ONLINE_DISABLE,HANGUP)
%LOGIN
%IP
%FILTER_ID
%PORT
%UID
в виде аргументов.
Также передаются переменные окружения:
NAS_IP_ADDRESS
NAS_MNG_USER
NAS_MNG_IP_PORT

Не забывайте, что при ручной активации пользователя программа может выполняться с правами веб-сервера, поэтому лучше её запускать через sudo.
Пример: abills/misc/ipn_filter.sh
$conf{IPN_DETAIL_CLEAN_PERIOD}=30; Чистить лог детализации каждых 30 дней
$conf{IPN_USERMENU}=1; Включить в пользовательском интерфейсе меню открытия доступа
$conf{IPN_CLUBMONITOR}=1; Включить клуб монитор. Упрощённый интерфейс мониторинга активных сессий и меню создания карточек доступа
$conf{IPN_DAILY_RESTART}=1; Рестартовать сессии каждый день
$conf{IPN_DEPOSIT_OPERATION}=1; Снимать деньги модулем IPN. При включении этой опции деньги со счёта снимаются в реальном времени после каждого обновления статистики.
$conf{IPN_FW_FIRST_RULE}=20000; Номер первого правила в брандмауэре
$conf{IPN_FW_START_RULE}=«« Правила для открытия доступа.
Программе всегда передаются следующие параметры:
%IP - ип адрес
%MASK - битная маска (32,24)
%NUM - номер правила ($conf{IPN_FW_FIRST_RULE} + (PORT или последняя цифра IP адреса) )
%LOGIN - Логин

Примеры:
FreeBSD
»/usr/local/bin/sudo /sbin/ipfw -q delete %NUM;
/usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from %IP to any;
/usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from any to %IP»;
Пример с шейпером
$conf{IPN_FW_START_RULE}=«/usr/local/bin/sudo /usr/abills/libexec/linkupdown ipn up fxp1 %LOGIN %IP». ' > /dev/null 2>&1;'. «/usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from %IP to any; /usr/local/bin/sudo /sbin/ipfw -q add %NUM allow ip from any to %IP»;

Linux
«/usr/bin/sudo /sbin/iptables -t nat -I PREROUTING 1 -s %IP/%MASK -j ACCEPT;
/usr/bin/sudo iptables -I FORWARD 1 -s %IP -d 0/0 -j ACCEPT;
/usr/bin/sudo iptables -I FORWARD 1 -s 0/0 -d %IP -j ACCEPT»;
$conf{IPN_FW_STOP_RULE}=«« Правила для закрытия доступа.
FreeBSD
»/usr/local/bin/sudo /sbin/ipfw -q delete %NUM;
/usr/local/bin/sudo /sbin/ipfw -q add %NUM deny ip from %IP to any;
/usr/local/bin/sudo /sbin/ipfw -q add %NUM deny ip from any to %IP»;
Пример с шейпером
$conf{IPN_FW_STOP_RULE}=«/usr/local/bin/sudo /usr/abills/libexec/linkupdown ipn down fxp1 %LOGIN %IP». ' > /dev/null 2>&1;'. «/usr/local/bin/sudo /sbin/ipfw -q delete %NUM»;

Linux
«/usr/bin/sudo /sbin/iptables -t nat -D PREROUTING -s %IP/%MASK -j ACCEPT;
/usr/bin/sudo iptables -D FORWARD -s 0/0 -d %IP -j ACCEPT;
/usr/bin/sudo iptables -D FORWARD -s %IP -d 0/0 -j ACCEPT»;
$conf{IPN_FW_RULE_UID}=1; Использовать UID (ID пользователя в системе) как префикс для создания правил разрешения доступа. Правила создаются следующим образом $conf{IPN_FW_FIRST_RULE} + UID. По умолчанию система в качестве префикса использует 4 байт IP адреса: для 192.168.10.23 - $conf{IPN_FW_FIRST_RULE} + 23.

Для ОС FreeBSD обязательно включите следующие опции в ядро:

options         IPFIREWALL
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_FORWARD
options         DUMMYNET
options         IPFIREWALL_VERBOSE
options         IPDIVERT

Настройка сервера доступа

/ System configuration/ NAS/

Type ipcad

/ System configuration/ NAS/ IP POOLs/
Нужно внести пул адресов, с которых можно авторизоваться.

Тарифные планы

Модуль использует тарифную логику модуля Dv (Internet).

  • Заводим классы трафика / System configuration/ Internet/ Traffic Calsses. Глобальный класс трафика должен иметь номер 0.
  • Заводим тарифные планы в / System configuration/ Internet/ Tarif plans/ .
  • В тарифном плане выбираем Intervals. Заводим интервал времени. После заведения интервала времени заводим тарификацию трафика. В тарификации трафика обязательно указывать сети в противном случае модуль не будет вести подсчёт трафика.

Активизация пользователя администратором

/ Customers/ Logins/ Information/ Services/ IP Net/

IP: IP адрес клиента
NAS: Сервер доступа. Автоматически выбирается из списка, если IP адрес клиента находится в пуле адресов NAS

Traffic Collectors

Программы сбора статистики для последующей ее обработки биллингом

trafd

http://bpft4.sourceforge.net/ Коллектор трафика для FreeBSD

# cd /usr/ports/net-mgmt/trafd/
# make
# make install

/etc/rc.conf

trafd_enable="YES"
trafd_ifaces="rl0"

/etc/crontab

*/5     *       *       *       *       root    /usr/abills/libexec/trafdstats 1 rl0

flow-tools

Установка на FreeBSD и Debian

ipcad

Установка на FreeBSD и Debian

Запуск скрипта обработки статистики
/etc/crontab

  */5 * * * * root /usr/abills/libexec/traffic2sql 8 flowdir=/usr/abills/var/log/ipn/

Если у Вас несколько NAS-серверов (коллекторов траффика), то для каждого нужно создать отдельную папку для логов.

Cisco

(aka kir)

no ip rcmd domain-lookup
ip rcmd rsh-enable
ip rcmd remote-host firewall 192.168.0.1  root enable
!
ip flow-export source FastEthernet0/1
ip flow-export version 5
ip flow-export destination 192.168.0.1 9996
!
access-list 100 permit 172.19.80.0 0.0.0.255 192.168.0.1
- Разрешаем прохождение пакетов на сервер статистики
access-list 100 dynamic ABILS permit IP any any
- Динамические правила будут добавляться тут
access-list 100 deny ip any any
Если правила нет, доступ пользователю по умолчанию закрыт!
!
interface FastEthernet0/1.21
 ip address 192.168.0.1 255.255.255.0
 ip access-group 100 in
Не забываем привязать группу правил к интерфейсу!
!

192.168.0.1 - Адрес коллектора для потока Netflow (flow-tools)

Для блокировки и открытия доступа можно использовать скрипт

# /usr/abills/misc/cisco_access
   ACTION - Allow/Deny
   IP     - Client IP
   debug  - Make debug log

/usr/local/etc/sudoers

www   ALL = NOPASSWD: /usr/abills/misc/cisco_access

Контроль доступа и нарезка трафика

При включении сессии выполняется правило указанное в конфигурационном файле (config.pl) $conf{IPN_FW_START_RULE} при завершении $conf{IPN_FW_STOP_RULE}. Система данным командам передаёт следующие атрибуты

%IP IP адрес клиента
%MASK битная маска (32,24)
%NUM номер правила ($conf{IPN_FW_FIRST_RULE} + (PORT или последняя цифра IP адреса) )
%LOGIN Логин
%SPEED_IN входящая скорость
%SPEED_OUT исходящая скорость

а также переменные окружения

NAS_IP_ADDRESS IP адрес сервера доступа
NAS_MNG_USER Пользователь для управления сервером доступа
NAS_MNG_IP_PORT IP:PORT управления сервером доступа
NAS_ID Номер сервера доступа
NAS_TYPE Тип сервера доступа

В качестве шейпера удобно использовать /usr/abills/libexec/linkupdown.

  1. Пример правила открытия доступа

abills/libexec/config.pl

$conf{IPN_FW_START_RULE}='SUDO=/usr/local/bin/sudo;
CMD="${SUDO} /usr/abills/libexec/linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&1";
if [ "${NAS_TYPE}" = "mikrotik" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} NAS_ADMIN=${NAS_MNG_USER}";
elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi;
eval "${CMD}"';

$conf{IPN_FW_STOP_RULE}='SUDO=/usr/local/bin/sudo;
CMD="${SUDO} /usr/abills/libexec/linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&1";
if [ "${NAS_TYPE}" = "mikrotik" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} NAS_ADMIN=${NAS_MNG_USER}";
elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi;
eval "${CMD}"';

Для типа сервера - mikrotik-dhcp:

$conf{IPN_FW_START_RULE}='SUDO=/usr/local/bin/sudo;
CMD="${SUDO} /usr/abills/libexec/linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&1";
if [ "${NAS_TYPE}" = "mikrotik_dhcp" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT}
NAS_ADMIN=${NAS_MNG_USER}";
elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER}
${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi;
eval "${CMD}"';

$conf{IPN_FW_STOP_RULE}='SUDO=/usr/local/bin/sudo;
CMD="${SUDO} /usr/abills/libexec/linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&1";
if [ "${NAS_TYPE}" = "mikrotik_dhcp" ]; then CMD="/usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT}
NAS_ADMIN=${NAS_MNG_USER}";
elif [ "${NAS_MNG_IP_PORT}" != "" ]; then CMD="/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_dsa.${NAS_MNG_USER}
${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"${CMD}\""; fi;
eval "${CMD}"';

Также внизу указано настройка дополнительных параметров для разных операционных систем и удалённых серверов доступа

FreeBSD

Управление доступом, шейпером и переинициализация сессий при перезагрузке сервера осуществляется программой /usr/local/etc/rc.d/shaper_start.sh

параметры /etc/rc.conf

abills_shaper_enable=«YES» Поднятие правил шейпера при перезапуске системы
abills_ipn_nas_id=«Номер IPN наса» Номер сервера доступа. Обязательный параметр
abills_ipn_if=«интерфейс к которому подключаются пользователи» Интерфейс к которому подключаются клиенты
abills_ipn_allow_ip=«разрешённые ип адреса» Разрешённые без авторизации IP адреса. Разделяются запятой
abills_nat=«xx.xx.xx.xx:10.0.0.0/16:interface» Если нужно использовать NAT

При использовании шейпера ipfw система по умолчанию использует правила с номера 20000 по 40000. Для изменения номера начального правила можно воспользоваться опцией $conf{IPN_FW_FIRST_RULE}.

sudo

Установка sudo, для запуска правил фаервола от имени пользователя, под которым работает WEB сервер. freebsd:

# cd /usr/ports/security/sudo
# make
# make install

/usr/local/etc/sudoers

#Allow ABillS shapper
www   ALL = NOPASSWD: /usr/abills/libexec/linkupdown
www   ALL = NOPASSWD: /sbin/ipfw

Linux

Скрипт которые подготавливает интерфейс для использования шейпера и устанавливает контроль доступа .
/etc/rc.d/init.d/shaper_start.sh

/etc/rc.conf

abills_shaper_enable="YES"
abills_ipn_if="eth0,eth2"
abills_nat_enable=":192.168.0.0/24:eth1"
eth0,eth2 интерфейс в локальную сеть к которому подключены пользователи
eth1 интерфейс наружу
192.168.0.1 локальный IP сервера
192.168.0.0/255.255.255.0 локальная сеть

или альтернативный скрипт


#!/bin/sh
# При использовании нескольких интерфейсов указываем их через пробел
INTERFACES='eth0 eth2';
TC="/sbin/tc"

for INTERFACE in ${INTERFACES}; do
  TCQA="${TC} qdisc add dev ${INTERFACE}"
  TCQD="${TC} qdisc del dev ${INTERFACE}"

  $TCQD root &>/dev/null
  $TCQD ingress &>/dev/null

  $TCQA root handle 1: htb
  $TCQA handle ffff: ingress

  echo "Shaper UP ${INTERFACE}"
done

# Доступ к странице авторизации
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 80
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 443 -j REDIRECT --to-ports 80

# Закрыть доступ неактивизированым хостам
/sbin/iptables -A FORWARD -j DROP
sudo

/etc/sudoers

#Allow ABillS shapper
apache   ALL = NOPASSWD: /usr/abills/libexec/linkupdown
apache   ALL = NOPASSWD: /sbin/iptables

Удалённый NAS

Управление удалённым сервером доступа.
Задача: открывать доступ пользователям на удалённом NAS.

При выполнении правил шейпера и фильтра в переменные среды передаются дополнительные параметры:

NAS_IP_ADDRESS IP адрес сервера доступа
NAS_MNG_IP_PORT адрес управления сервером доступа
NAS_MNG_USER Логин для управления сервером доступа
NAS_MNG_PASSWORD Пароль для управления сервером доступа
NAS_TYPE Тип сервера доступа
NAS_ID Тип сервера доступа

система автоматически определяет по переменной окрежения NAS_MNG_IP_PORT при старте сесии выполнять данную команду локально или на удалённом сервере

На сервере биллинга

  1. Создать SSH ключ для выполнения команд на удалённом сервере. Установить право чтения ключа для пользователя под которым работает Веб сервер.
   # abills/misc/certs_create.sh ssh abills_admin

На удалённом сервере

  1. Создать пользователя abills_admin на удалённом сервере.
  2. Скопировать созданный публичный ключ abills/Certs/id_dsa.abills_admin.pub в /home/abills_admin/.ssh/authorized_keys на удалённом сервере.
  3. Сделать копию биллинга на удалённом сервере
  4. Создать правила для выполнения команд с правами суперпользователя на удалённом сервере

/usr/local/etc/sudoers

#Allow ABillS shapper
abills_admin   ALL = NOPASSWD: /usr/abills/libexec/linkupdown
abills_admin   ALL = NOPASSWD: /sbin/ipfw

Apache

В конфиг веб-сервера Apache внесите следующие параметры

ErrorDocument 404 “/abills/”
DirectoryIndex "/abills" index.cgi

Club Monitor

Упрощёный интерфейс управления траффиком компьютерного клуба.
Для включения.
config.pl

$conf{IPN_CLUBMONITOR}=1;

traffic2sql

ABillS IPN Traffic collector
Анализатор трафика для модуля IPN

Запуск скрипта обработки статистики /etc/crontab

  */5 * * * * root /usr/abills/libexec/traffic2sql [NAS_IDS] flowdir=/usr/abills/var/log/ipn/

Параметры:

traffic2sql [NAS_IDS] [Options]

Опции:

NAS_IDS ID (NAS) серверов доступа. Формат: 1,2,3 или 1-100
log Расположение файла траффика для trafd
INTERFACE Интерфейс для trafd
flowdir Каталог в который складываются файлы работы flow-capture
FLOWTOOLS_IP_AGGREGATION Агрегация потоков по IP адресам. Поднимает скорость анализа.
FLOWTOOLS_FT_BACKUP=dir Переносить проанализированные файлы в бекапный каталог. Используется для отладки.
DEBUG Режим отладки (1..6) режим 5 и 6 В БАЗУ ДАННЫЕ НЕ ВНОСИТ
DETAIL_ONLY Складывать в базу только детализацию для активных клиентов (присутствующих в /Monitoring), сам подсчет трафика и ведение сессий не производится.
UNKNOWN_IP_LOG Включить учёт адресов, не относящихся к активным пользователям
TCOLLECTOR Режим глобального коллектора. Складывать весь трафик, полученный от коллектора.
AMON_ALIVE Интервал получения подтверждения активности от AMon. Интервал задаётся в секундах (Значение по умолчанию 120). Если на протяжении 3 интервалов не пришло ни одного пакета активности система закрывает соединение.
daemon Режим демона (пока в разработке)
FLOW_CAT Местоположение Flow tools flow-cat
FLOW_PRINT Местоположение Flow tools flow-print
PREPAID_STORE Использования отдельной таблицы для хранения значений предоплаченного трафика. Поднимает скорость анализа.
VIRUS_ALERT=1000 Опция разрешает отслеживать заражённые хосты которые рассылаю вирусы. В данной опцие указывается количество мелких пакетов до размером 150 байт за единицу времени при котором хост попадает в чёрный список
LOG_FILE='…' Файл ведения лога работы анализатора
TRANSACTION=1 Вносить все даные одной транзакцией (ускоряет работу)

Периодические процессы

# /usr/abills/libexec/periodic monthly MODULES=Ipn

Дополнительные параметры:

IPN_SKIP_SESSION_RESTART=1 Не переинициализировать сессии при месячном периодике.
Данная опция полезна при работе с удалёнными серверами доступа чтобы биллинг не тратил время на переинициализацию сессии.
На удалённых серверах стоит сделать
/etc/crontab
/etc/crontab 1 2 * * * root /usr/abills/libexec/periodic monthly MODULES=Ipn SRESTART=1 NO_ADM_REPORT=1 NAS_IDS=xxx
SRESTART=1 Переинициализировать активных абонентов
LOGON_ACTIVE_USERS=1 Активировать активных пользователей
NAS_IDS=1,2 Список серверов доступа
LOGIN= Логины
DEBUG= Режим отладки

Переинициализация сессий

В начале каждого месяца происходит автоматическая переинициализация активных сессий клиентов.

Для ручного режима переинициализации сессий используется команда

# /usr/abills/libexec/periodic monthly MODULES=Ipn SRESTART=1 NO_ADM_REPORT=1 NAS_IDS=1

Параметры:

NAS_IDS=1,2 Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом 'ipcad'
TP_ID=3,6 Номера тарифных планов для активации. По умолчанию все
LOGIN=test,test3 Логины пользователей. По умолчанию все
GID=1 Группы пользователей
IP=xx.xx.xx.xx IP активной сессии

Включение активных пользователей

Данная команда автоматически включает всех пользователей с положительным депозитом и правами получать сервис (статус услуги активно). Активируются только те пользователи у которых прописан IP адрес сервиса Internet. Также обязательно на IPN серверах доступа прописать пулы адресов для таких пользователей чтобы система знала на каких серверах доступа активировать абонентов. Данную команду стоит запускать через crontab с промежутком раз в 5 минут.

# /usr/abills/libexec/periodic monthly MODULES=Ipn LOGON_ACTIVE_USERS

Параметры:

NAS_IDS=1,2 Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом 'ipcad'
TP_ID=3,6 Номера тарифных планов для активации. По умолчанию все
LOGIN=test,test3 Логины пользователей. По умолчанию все
GID=1 Группы пользователей
DEBUG=… Дебаг режимы
1-4 Детализация процесса
5 - Отображать команды на выполнение
6 - Отображать команды но не выполнять

config.pl

$conf{IPN_DHCP_ACTIVE}=1; Включать сервис для всех IP адресов прописанных в IP (DHCP) секции абонента. С начало включаются адреса Internet сервиса если они не равны 0.0.0.0, а потом адреса IP сервиса.

Активация пользователя

Система разрешает пользоваться интернетом только пользователей у которых активизированы сессии. Активизация сесий пользователей может происходить двумя путями: активизация сессии администратором, активизация сессии из пользовательского кабинета.

  • Активизация сессии администратором


Включение сессии.

Таблица внизу отображает активные сессии пользователя

  • Активизация сессии пользователям. При активации сессии система автоматически определяет принадлежность пользователя к серверу доступа исходя из IP адреса клиента и пула прикреплённому серверу доступа.

Активация абонента в личном кабинете

Ошибки активации

Отчёты