+ </listitem>
+ <listitem><para>LogProtocolErrors – не обязательный параметр, включающий расширенное журналирование ошибок протокола. Может принимать значения yes или no, значение по умолчанию: no.</para></listitem>
+ </itemizedlist>
+ <para>Обмен данными авторизатора с сервером осуществляется по протоколу UDP. Можно указать несколько модулей авторизатора auth_ia для авторизации с разных портов.</para>
+ </simplesect>
+ <simplesect>
+ <title>Модуль авторизации auth_ao.</title>
+ <para>Модуль параметров не имеет. Используется для поддержки режима Always Online у абонентов. Без включения этого модуля установка параметра alwaysOnline для абонента эффекта иметь не будет. В режиме Always Online абонент находится в авторизованном состоянии все время, независимо от использования авторизатора. Тем не менее он может быть отключен по причине отсутствия средств на счету, заблокирован администратором или «заморожен». В этом режиме так же возможно использование авторизатора за одним исключением — абонент не может сам вызвать «отключение».</para>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля SGConfig (conf_sg) для работы с конфигуратором:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Port – обязательный параметр, определяющий, на каком порту сервер будет принимать обращения конфигураторов. Стандартное значение: 5555.</para></listitem>
+ </itemizedlist>
+ <para>Обмен конфигуратора с сервером осуществляется по протоколу TCP. Можно указать несколько модулей конфигуратора с указанием разных портов.</para>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля файловой БД:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>WorkDir – обязательный параметр, указывающий серверу где находится рабочая директория с файлами БД. Стандартное значение: /var/stargazer.</para></listitem>
+ <listitem><para>ConfOwner, ConfGroup, ConfMode – обязательные параметры, описывающие владельца, группу и права доступа на файлы конфигурации (conf) абонента соответственно. ConfOwner должен содержать корректное имя пользователя системы (см. файл /etc/passwd), стандартное значение: root. ConfGroup должен содержать корректное название группы в системе (см. файл /etc/group), стандарное значение: root. ConfMode должен содержать корректные права на файл (только ugo-биты), стандартное значение: 640.</para></listitem>
+ <listitem><para>StatOwner, StatGroup, StatMode – обязательные параметры, описывающие владельца, группу и права доступа на файлы статистики (stat) абонента соответственно. StatOwner должен содержать корректное имя пользователя системы (см. файл /etc/passwd), стандартное значение: root. StatGroup должен содержать корректное название группы в системе (см. файл /etc/group), стандарное значение: root. StatMode должен содержать корректные права на файл (только ugo-биты), стандартное значение: 640.</para></listitem>
+ <listitem><para>UserLogOwner, UserLogGroup, UserLogMode – обязательные параметры, описывающие владельца, группу и права доступа на файлы журналов (log) абонента соответственно. UserLogOwner должен содержать корректное имя пользователя системы (см. файл /etc/passwd), стандартное значение: root. UserLogGroup должен содержать корректное название группы в системе (см. файл /etc/group), стандарное значение: root. UserLogMode должен содержать корректные права на файл (только ugo-биты), стандартное значение: 640.</para></listitem>
+ </itemizedlist>
+ <para>При создании каталогов (например для записи детальной статистики) используются те-же права, но с добавлением x-бита для всех ненулевых полей. Например: для 640 будут права 750, а для 644 будут 755. Для записи детальной статистики используются параметры StatOwner, StatGroup и StatMode. Для записи сообщений используются параметры ConfOwner, ConfGroup и ConfMode.</para>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля для работы с СУБД Firebird:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Server – необязательный параметр, описывающий адрес сервера, на котором расположена СУБД. Может быть доменным именем или IP-адресом. Значение по умолчанию: localhost.</para></listitem>
+ <listitem><para>Database – необязательный параметр, описывающий путь к БД на сервере или ее псевдоним (alias). Значение по умолчанию: /var/stg/stargazer.fdb.</para></listitem>
+ <listitem><para>User – необязательный параметр, описывающий имя пользователя БД. Значение по умолчанию: stg.</para></listitem>
+ <listitem><para>Password – необязательный параметр, описывающий пароль пользователя БД. Значение по умолчанию: 123456.</para></listitem>
+ <listitem><para>IsolationLevel — Не обязательный параметр, описывающий уровень изоляции транзакций. Может принимать значения:</para>
+ <itemizedlist mark="square">
+ <listitem><para>Concurrency (используется по умолчанию);</para></listitem>
+ <listitem><para>DirtyRead;</para></listitem>
+ <listitem><para>ReadCommitted;</para></listitem>
+ <listitem><para>Consistensy.</para></listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem><para>LockResolution — Не обязательный параметр, описывающий действие при блокировке. Может принимать значения значения:</para>
+ <itemizedlist mark="square">
+ <listitem><para>Wait (используется по умолчанию);</para></listitem>
+ <listitem><para>NoWait.</para></listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля для работы с СУБД PostgreSQL:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Server – необязательный параметр, описывающий адрес сервера, на котором расположена СУБД. Может быть доменным именем или IP-адресом. Значение по умолчанию: localhost.</para></listitem>
+ <listitem><para>Database – необязательный параметр, описывающий имя БД. Значение по умолчанию: stargazer.</para></listitem>
+ <listitem><para>User – необязательный параметр, описывающий имя пользователя БД. Значение по умолчанию: stg.</para></listitem>
+ <listitem><para>Password – необязательный параметр, описывающий пароль пользователя БД. Значение по умолчанию: 123456.</para></listitem>
+ <listitem><para>Retries — необязательный параметр, описывающий количество попыток переподключения к СУБД в случае потери связи. Попытки производятся с интервалом в 1 секунду. Значение по умолчанию: 3.</para></listitem>
+ </itemizedlist>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля для работы с СУБД MySQL:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Server – обязательный параметр, описывающий адрес сервера, на котором расположена СУБД. Стандартное значение: localhost.</para></listitem>
+ <listitem><para>Database – обязательный параметр, описывающий название БД. Стандартное значение: stg.</para></listitem>
+ <listitem><para>User – обязательный параметр, описывающий имя пользователя БД. Стандартное значение: stg.</para></listitem>
+ <listitem><para>Password – обязательный параметр, описывающий пароль пользователя БД. Стандартное значение: 123456.</para></listitem>
+ </itemizedlist>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля ping для пингования абонентов:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>PingDelay – обязательный параметр, определяющий, время в секундах между пингами одного и того же абонента. Стандартное значение: 15.</para></listitem>
+ </itemizedlist>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля Remote Script Executer (remote_script) для передачи команд на исполнение скриптов на NAS:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>SendPeriod – обязательный параметр, определяющий время в секундах между посылками подтверждений того, что клиент находится в состоянии Online. Стандартное значение: 15.</para></listitem>
+ <listitem><para>Password – обязательный параметр, определяющий пароль для шифрования обмена между сервером биллинга и клиентом. Стандартное значение: 123456.</para></listitem>
+ <listitem><para>UserParams – обязательный параметр, определяющий какие параметры и в каком порядке передаются на NAS. Названия параметров должны быть разделены пробелом. Доступными параметрами являются: Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, NextTariff, Address, Note, Group, Email, RealName, Credit, EnabledDirs, Userdata0...Userdata9. Стандартное значение: Cash Tariff EnabledDirs.</para></listitem>
+ <listitem><para>Port – обязательный параметр, определяющий номер порта через который будет происходить обмен данными между сервером биллинга и клиентом. Может принимать значения от 1 до 65535, стандартное значение: 9999.</para></listitem>
+ <listitem><para>SubnetFile — обязательный параметр, представляющий собой путь к файлу с описанием соответствия сетей и NAS'ов. Стандартное значение: subnets. При указании относительного пути поиск будет производиться в каталоге с настройками (обычно это /etc/stargazer, но может быть переопределено указанием пути в качестве параметра при старте дэмона). Файл имеет формат: <сеть в CIDR-нотации> <адрес NAS'а>. Количество сетей не ограничено. Файл перечитывается заново при посылке процессу сигнала SIGHUP. Если файл содержит ошибки при старте дэмона — система не будет запущена. Если файл содержит ошибки при перечитывании — будут использоваться старые значения.</para></listitem>
+ </itemizedlist>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля radius для поддержки авторизации и аккаунтинга пользователей через сервер FreeRADIUS:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Port — обязательный параметр, определяющий порт, на который будут приходить запросы от FreeRADIUS. Может принимать значение от 1 до 65535, стандартное значение: 6666.</para></listitem>
+ <listitem><para>Password — обязательный параметр, задающий пароль для шифрования данных, передаваемых на FreeRADIUS. Должен совпадать с паролем в настройке плагина FreeRADIUS (rlm_stg.so). Стандартное значение: 123456.</para></listitem>
+ <listitem><para>AuthServices — необязательный параметр, задающий список сервисов которым будет позволена только авторизация с использованием БД Stargazer. При успешной авторизации абонент не переходит в состояние Online и для него не производится подсчет трафика. Названия сервисов в списке должны разделяться пробелами, по умолчанию этот параметр пуст.</para></listitem>
+ <listitem><para>AcctServices — необязательный параметр, задающий список сервисов, по которым будет производится аккаунтинг. При успешной авторизации в этих сервисах абонент переходит в состояние Online и для него производится подсчет трафика. Необходимо заметить, что в этом случае трафик захватывается как обычно, без использования возможностей протокола RADIUS (через пакет аккаунтинга InterimUpdate), т.к. это не позволяет классифицировать полученный трафик по направлениям. Названия сервисов в списке должны разделяться пробелами, по умолчанию этот параметр пуст.</para></listitem>
+ </itemizedlist>
+ <para>Обмен данными между плагином и FreeRADIUS происходит по протоколу UDP.</para>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля XML-RPC (conf_rpc) для поддержки протокола управления XML-RPC:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Port — обязательный параметр, определяющий порт на который будут приходить запросы XML-RPC. Может принимать значения от 1 до 65535, стандартное значение: 8080.</para></listitem>
+ <listitem><para>CookieTimeout — необязательный параметр, задающий время существования авторизационного Cookie в случае отсутствия активности в секундах. Значение по умолчанию: 1800 (30 минут).</para></listitem>
+ </itemizedlist>
+ </simplesect>
+ <simplesect>
+ <title>Модуль захвата трафика cap_ether (только для ОС Linux).</title>
+ <para>Модуль не имеет параметров. Для захвата трафика используются так называемые «raw sockets», которые позволяют получить доступ к Ethernet-фреймам. Перехватывается весь трафик попадающий в сетевую подсистему ядра. При использовании обычной маршрутизации трафик будет посчитан два раза: на входящем интерфейсе и на исходящем. При использовании NAT удвоения трафика не происходит, так как NAT заменяет адрес источника. При интенсивном сетевом обмене или при высокой нагрузке на сервер, на котором происходит захват трафика, модуль может терять отдельные пакеты. Процент потерь тем выше чем выше скорость прохождения пакетов и чем выше загрузка сервера. Модуль рекомендуется использовать для ознакомления или в небольших сетях до 100 абонентов с трафиком до 100 Мбит.</para>
+ </simplesect>
+ <simplesect>
+ <title>Модуль захвата трафика cap_ipq (устаревший, только для ОС Linux).</title>
+ <para>Модуль не имеет параметров. Для захвата трафика используются передача пакетов из пространства ядра в пространство пользователя посредством очередей (ip queue). Для его работы требуется поддержка ip queueing в ядре (модуль ip_queue.ko) и специальная настройка файрвола (правило QUEUE для iptables). Следует обратить внимание на то что обычно требуется два правила в файрволе для полного перехвата: одно для входящих пакетов и одно для исходящих. Модуль гарантирует 100% перехват трафика, но так как пакет перед отправкой обязательно проходить через плагин — может приводить к снижению пропускной способности роутера. При этом следует обратить внимание на нагрузку на процессор, возможно имеет смысл заменить его на более производительный. В противном случае стоит рассмотреть использование модуля cap_nf для захвата трафика.</para>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля захвата трафика cap_nfqueue (только для ОС Linux).</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>queueNumber — не обязательный параметр, определяющий номер очереди netfilter из которой будет происходить захват трафика.</para></listitem>
+ </itemizedlist>
+ <para>Для захвата трафика используются передача пакетов из пространства ядра в пространство пользователя посредством очередей (netfilter queue). Модуль является заменой устаревшего cap_ipq. Для его работы требуется поддержка netfilter queueing в ядре (модуль xt_NFQUEUE.ko) и специальная настройка файрвола (правило NFQUEUE для iptables). Следует обратить внимание на то что обычно требуется два правила в файрволе для полного перехвата: одно для входящих пакетов и одно для исходящих. Модуль гарантирует 100% перехват трафика, но так как пакет перед отправкой обязательно проходить через плагин — может приводить к снижению пропускной способности роутера. При этом следует обратить внимание на нагрузку на процессор, возможно имеет смысл заменить его на более производительный. В противном случае стоит рассмотреть использование модуля cap_nf для захвата трафика.</para>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля cap_bpf для захвата трафика (только для ОС FreeBSD):</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>iface — обязательный параметр, определяющий на каком интерфейсе будет происходить захват трафика. Параметр может быть задан более одного раза.</para></listitem>
+ </itemizedlist>
+ <para>Для захвата трафика используется инфраструктура Berkeley Packet Filter, представляющая собой «продвинутый» аналог «raw sockets». Так как интерфейсы для перехвата указываются явно, дублирования трафика при обычной маршрутизации не наблюдается. Фильтрование пакетов не используется, перехват происходит по мере возможности, по этому этот модуль, как и cap_ether, тоже может терять пакеты при высокой нагрузке на сервер или высокой скорости прохождения пакетов. Рекомендуется использовать для ознакомления или для небольших сетей до 100 абонентов с трафиком до 100 Мбит.</para>
+ </simplesect>
+ <simplesect>
+ <title>Модуль захвата трафика cap_divert (только для ОС FreeBSD).</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Port — необязательный параметр, указывающий порт на который будет происходить перенаправление трафика. Значение по умолчанию: 15701.</para></listitem>
+ <listitem><para>DisableForwarding — необязательный параметр, отключающий форвардинг пакетов. Значение по умолчанию: no.</para></listitem>
+ </itemizedlist>
+ <para>Для захвата трафика используются divert-сокеты. Как и IPQ эта технология использует прохождение пакетов через пространство пользователя. Для работы модуля требуется поддержка divert-сокетов в ядре и специальная настройка файрвола. Для передачи пакета в пространство пользователя в файрволе используется правило divert или tee. Первое правило работает аналогично цели QUEUE для iptables — пропускает пакет через пространство пользователя перед отправкой. Соответственно, это может вызвать те-же проблемы с пропускной способностью роутера. Правило tee передает в пространство пользователя копию пакета, а оригинал отправляет дальше. Такой подход позволяет избежать снижения пропускной способности сервера при высокой нагрузке на него, так как исключается ожидание пакета в время его нахождения в пространстве пользователя. При использовании правила tee рекомендуется отключать форвардинг пакетов.</para>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля cap_nf для захвата трафика:</title>
+ <itemizedlist mark="opencircle">
+ <listitem><para>TCPPort — необязательный параметр, указывающий порт который будет использоваться для приема данных при работе с NetFlow-proxy. Стандартное значение: 9996. Если параметр не указан — прием по протоколу TCP производиться не будет.</para></listitem>
+ <listitem><para>UDPPort — необязательный параметр, указывающий порт для приема NetFlow-дагарамм. Стандартное значение: 9996. Если параметр не указан — прием датаграмм по протоколу UDP производиться не будет.</para></listitem>
+ </itemizedlist>
+ <para>В явном виде захват трафика не происходит. Данные о нем поступают от NetFlow-сенсора посредством протокола NetFlow. Это позволяет физически разделить перехват трафика и его учет. NetFlow-сенсор перехватывает трафик, и собирает данные о сессиях (в контексте UDP это передача данных между двумя портами в одном направлении). Информация о сессии включает в себя IP-адреса источника и назначения потока пакетов, номера портов источника и назначения, суммарную длину пакетов и различные дополнительные данные. NetFlow-трафик существенно меньше трафика, который он описывает, так как передается мета-информация а не сами данные. С учетом этого факта и того что биллинговый сервер теперь может не заниматься маршрутизацией пакетов и NAT'ом это существенно снижает нагрузку на него. Этот плагин рекомендуется использоваться в крупных сетях с развитой топологией, включающей несколько NAS'ов. Возможно использование совместно с аппаратными маршрутизаторами Cisco (они единственные имеют лицензию на аппаратную реализацию NetFlow). В качестве NetFlow-сенсоров можно использовать такие утилиты как fprobe, softflowd или ipcad. Так же можно использовать модуль ядра ipt_netflow (Linux) или ng_netflow (FreeBSD).</para>
+ <itemizedlist mark="opencircle">
+ <listitem><para>Server — обязательный параметр, указывающий IP-адрес сервера на котором находится snmpd. Стандартное значение: 127.0.0.1.</para></listitem>
+ <listitem><para>Port — обязательный параметр, указывающий порт на сервере через который будет происходить взаимодействие с snmpd. Стандартное значение: 199.</para></listitem>
+ <listitem><para>Password — необязательный параметр, задающий пароль для авторизации плагина в snmpd. По умолчанию пароль не используется.</para></listitem>
+ </itemizedlist>
+ </simplesect>
+ <simplesect>
+ <title>Описание параметров модуля smux для мониторинга состояния Stargazer:</title>
+ <para>Модуль позволяет производить мониторинг биллинга средствами протокола SNMP. Он не реализует полноценный SNMP-сервер а лишь взаимодействует с существующим дэмоном snmpd, регистрируясь в нем для обслуживания определенного дерева параметров. В комплекте с биллингом идет MIB, описывающий доступные параметры для мониторинга. Параметры разделены на 6 секций, находящихся в узле stg24:</para>
+ <itemizedlist mark="opencircle">
+ <listitem><para>users (1) — секция, содержащая параметры относящиеся к абонентам:</para>
+ <itemizedlist mark="square">
+ <listitem><para>totalUsers (1) — параметр, описывающий общее количество абонентов в системе;</para></listitem>
+ <listitem><para>onlineUsers (2) — параметр, описывающий количество подключенных абонентов;</para></listitem>
+ <listitem><para>authorizedUsers (3) — параметр, описывающий количество авторизованных абонентов в системе;</para></listitem>
+ <listitem><para>alwaysOnlineUsers (4) — параметр, описывающий количество абонентов работающих в режиме always online;</para></listitem>
+ <listitem><para>noCashUsers (5) — параметр, описывающий количество абонентов с нулевым или отрицательным балансом;</para></listitem>
+ <listitem><para>disabledDetailStatsUsers (6) — параметр, описывающий количество абонентов с отключенным учетом детальной статистики;</para></listitem>
+ <listitem><para>disabledUsers (7) — параметр, описывающий количество принудительно отключенных абонентов;</para></listitem>
+ <listitem><para>passiveUsers (8) — параметр, описывающий количество «замороженных» абонентов;</para></listitem>
+ <listitem><para>creditUsers (9) — параметр, описывающий количество абонентов с положительным кредитом;</para></listitem>
+ <listitem><para>freeMbUsers (10) — параметр, описывающий количество абонентов с неизрасходованными «бесплатными мегабайтами»;</para></listitem>
+ <listitem><para>tariffChangeUsers (11) — параметр, описывающий количество абонентов у которых с началом месяца будет изменен тариф;</para></listitem>
+ <listitem><para>activeUsers (12) — параметр, описывающий количество абонентов у которых имеется посчитанный трафик за сессию.</para></listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem><para>tariffs (2) — секция, содержащая параметры относящиеся к тарифам:</para>
+ <itemizedlist mark="square">
+ <listitem><para>totalTariffs (1) — параметр, описывающий общее количество тарифов;</para></listitem>
+ <listitem><para>tariffUsageTable (2) — таблица использования тарифов, состоит из записей вида:</para>
+ <itemizedlist mark="square">
+ <listitem><para>tariffIndex (1) — числовой индекс в таблице;</para></listitem>
+ <listitem><para>tariffName (2) — название тарифа (строка);</para></listitem>
+ <listitem><para>userCount (3) — количество абонентов использующих этот тариф.</para></listitem>