К оглавлению Установка и настройка сервиса


Установка сервисной части производится на компьютер, являющийся R&RAS сервером, т.е. на котором установлен сервис Routing & Remote Access Service. Установка должна проводится под аккаунтом имеющим права администратора.
    Порядок установки:

  1. Создайте каталог в котором будут размещены файлы сервиса (далее именуется как "каталог сервиса" и все пути даются относительно данного каталога).

  2. В созданный каталог следует скопировать содержимое каталога service, находящегося в дистрибутиве программы.

  3. В каталоге сервиса запустите файл install.bat. Если инсталляция сервиса прошла успешно, то вы увидите подобное сообщение:

  4. На следующем этапе необходимо задать сервису права администратора и тип запуска.

      Для этого следует:

    1. открыть в панели управления апплет Services.
      В Windows 2000 перед этим следует открыть апплет Administrative Tools.

    2. выбрать среди сервисов - "RasAdminExt for R&RAS" и нажмите кнопку Startup.

    3. в открывшемся окне задать аккаунт под которым сервис будет запускаться (раздел Log On As).

    4. Здесь же можно настроить и тип запуска сервиса: автоматический или ручной.


  5. Далее необходимо подредактировать конфигурационный файл сервиса, находящийся в подкаталоге config и именуемый rae.cfg.

    Ниже приводится список директив и их описание.
    красным цветом отмечены директивы, значение которых влияет на запуск сервиса:
    Директива#accountServer
    Значениеимя сервера, на котором находится база данных SAM по пользователям. Пустое значение означает локальный компьютер.

    Директива#checkAccounts
    Значение0 или 1, параметр задает, следует ли при запуске проверять существование аккаунтов RAE в системе, т.е. на account сервере. Все пользовательские файлы, для которых не будет найден соответствующий системный аккаунт - будут удалены.
    Значения:
    1 - проверять, и удалять файлы данных для отсутствующих аккаунтов.
    0 - не проверять ( значение по умолчанию )

    Директива#addRasServer
    ЗначениеПараметры задают имена дополнительных RRAS серверов, которые следует контролировать. Дополнительными являются все RRAS сервера, кроме того на котором установлен сервис RasAdminExt. Если серверов несколько, то параметр следует повторить с новым значением.

    Директива#createBakFiles
    ЗначениеПараметр указывающий создавать или нет *.bak файлы при изменении файлов с данными по пользователям.
    Значения:
    1 - создавать
    0 - не создавать
    значение по 1 - создавать

    Директива#delUsersTable
    ЗначениеПараметр указывает следует ли при удалении пользователя удалять базу данных о его соединениях.
    Значения:
    1 - удалять
    0 - не удалять
    значение по умолчанию 1 - удалять

    Директива#moveToDir
    ЗначениеПараметр задает имя каталога, куда следует производить перенос файлов с данными о пользователях (users\*.dat) при удалении оных. Если имя каталога не задано, то файлы будут просто удалены.

    Директива#connExportTime
    ЗначениеДанный параметр задает период времени в секундах, по истечении которого сервис производит обновление данных в *.dat файле и таблице users_data для подключенных пользователей.
    Минимальное значение 60 секунд.
    Значение по умолчанию 300 секунд.

    Директива#listenPort
    Значениечисло, задающее номер TCP порта по которому будет происходить "общение" сервиса и программы управления.
    Значение по умолчанию 7123, если конфликта с данным номером нет, то лучше не менять.
    Директива#privilegedUsers
    ЗначениеПараметр являет собой список пользователей для которых недопустимы операции типа удаления и изменение пароля. Имена пользователей должны быть перечислены через запятую.

    Директива#checkEvery
    ЗначениеПараметр задает промежуток времени в секундах между опросами сервиса R&RAS о текущих соединениях.
    Минимальное значение 5, максимальное 300
    Чем меньше значение данного параметра, тем точнее подсчет данных.

    Директива#readDialInOnStartup
    ЗначениеЗначение параметра указывает следует или нет производить чтение значений dial-in прав пользователей при запуске сервиса. В случае большого количества пользователей или удаленности account сервера, данный параметр лучше оставлять равным 0.
    Значения:
    0 - не считывать dial-in права при запуске
    1 - считывать dial-in права при запуске
    Значение по умолчанию - 0
    Кроме того, в случае, если значение параметра равно 0, то в программе управления все пользователи отображаются одинаково.

    Директива#discUsersFromAccounts
    ЗначениеПо умолчанию группа accounts не имеет никаких временных и прочих ограничений. Но данный параметр позволяет вам запретить прием соединений от пользователей, находящихся в группе accounts.
    Значения:
    0 - не отключать
    1 - отключать всех пользователей из группы accounts
    Значение по умолчанию - 0
    В качестве кода причины отключения будет выставлен - 25

    Директива#accountsTrafComp
    ЗначениеПараметр указывает как следует подсчитывать трафик для группы accounts, с сжатием или без (для остальных групп данный параметр настраивается в описании тарифного плана)
    Значение:
    0 - без учета сжатия
    1 - с учетом сжатия
    Значение по умолчанию - 0

    Директива#accountsConcConn
    ЗначениеПараметр задает, разрешены или нет одновременные соединения пользователей группы accounts.
    Значение:
    0 - запрещены
    1 - разрешены
    Значение по умолчанию - 0

    Директива#enableStats
    ЗначениеПараметр определяет будет ли вестись статистика по загруженности каналов связи.
    Значения:
    0 - не вести статистику
    1 - вести статистику
    Значение по умолчанию - 1

    Директива#enableExternalCommands
    ЗначениеДанный параметр разрешает исполнение комманд из файлов в каталоге ..service\commands\*
    Значения:
    0 - не исполнять
    1 - исполнять
    Значение по умолчанию - 0

    Директива#holidays
    ЗначениеВ параметре перечисляются праздничные дни, для которых, в тарифном плане, можно задать отдельный тариф. Все значения перечисляются через запятую и должны быть заданы в форме ДДММ (день+месяц), причем если значение меньше 10, то перед числом должен быть добавлен ноль (вместо 1 -> 01 и т.п.). Кроме этого в тарифном плане следует задать праздничный тариф и разрешить работу по нему

    Директива#connStateTpl
    ЗначениеПараметр задает имя файла, в котором находится шаблон по которому будет создаваться html файл содержащий информацию о текущих активных соединениях

    Директива#connStateTime
    ЗначениеПараметр задает время через которое будет обновляться содержимое HTML файла создаваемого на основе шаблона описанного выше. Время задается в секундах. Если параметр равен 0, то ведение файла соединений будет отключено

    Директива#connStateHtml
    ЗначениеПараметр задает имя файла, который будет создан на основе шаблона описанного в параметре #connStateTpl

    Директива#copyStatIpCfg
    ЗначениеUNC имена каталогов, в которых должны содержаться конфиугурационные файлы программы StaticIp (staticip\config), установленной на дополнительных RRAS серверах. В случае если дополнительных серверов несколько, то параметр необходимо просто повторить с другим значением.

    Предупреждение: Сервис RAE должен иметь необходимые права доступа для создания и изменения файлов в данных каталогах.

    Директива#copyCfgEvery
    ЗначениеПараметр задает интервал времени в минутах, через который будет производиться репликация (копирование) конфигурационных файлов StaticIp на дополнительные RRAS сервера.Значение 0 - отключает копирование.

    Директива#passwordFile
    ЗначениеПараметр задает имя файла в котором будут хранится пары: имя_пользователя,пароль.
    Если имя файла не задано, то данная функция автоматически отключается. Содержание данного файла можно использовать из PHP скриптов для проведения авторизации пользователей. Добавление и удаление значений происходит при операциях добавления или удаления пользователей, а также функции изменения пароля.

    Директива#hashPasswords
    ЗначениеПараметр задает режим хранения паролей в файле.
    Значения:
    0 - хранить в виде простого текста
    1 - хранить в виде MD5 хэшей (формат аналогичен результату PHP функции MD5)
    Значение по умолчанию - 0.

    Директива#clientTool
    ЗначениеПараметр, указывает следует ли сервису обрабатывать соединения от программы удаленного просмотра статистики и состояния счета (clnttool.exe).
    Значения: 1 - разрешено, 0 - запрещено
    Значение по умолчанию - 0

    Директива#clientPort
    ЗначениеПараметр задает TCP порт, на котором сервис будет принимать соединения от удаленных клиентов. Значение по умолчанию 7124, если конфликта с данным номером порта нет, то лучше оставить как есть.

    Директива#smtpServer
    ЗначениеIP адрес или имя хоста, являющегося SMTP сервером. Параметр необходим для организации рассылки предупреждений

    Директива#smtpPort
    Значениечисло, задающее номер SMTP порта почтового сервера. Значение по умолчанию для большинства серверов 25.

    Директива#mailDomain
    ЗначениеИмя почтового домена. Используется при образовании e-mail адресов пользователей по принципу username + @ + значение данного параметра.

    Директива#mailFrom
    ЗначениеПараметр задает обратный e-mail адрес от имени которого происходит почтовая рассылка.

    Директива#senderName
    ЗначениеПараметр задает имя (так называемое friendly name), от которого производится почтовая рассылка.

    Директива#adminEmail
    ЗначениеE-Mail адрес администратора или пользователя, который будет получать почтовую рассылку от сервиса.
    (пока не используется)

    Директива#mailWhen
    ЗначениеПараметр задает, какие условия должны наступить для отправки предупреждений.
    Коды событий:
    1 - выработка суммарных ограничений по времени (шаблон service\template\tmlimits.tpl)
    2 - выработка суммарных ограничений по трафику (шаблон service\template\trlimits.tpl)
    4 - выработка денежных средств (шаблон service\template\molimits.tpl)
    Для комбинации вышеприведенных причин, следует сложить их коды. Например значение 3 (1+2), означает что при выработке и/или суммарных ограничений по времени или трафику будет произведена отправка соотвествующих E-Mail предупреждений администратору.
    Значение параметра - 0, отключает реагирование на все возможные события.

    Директива#loggingType
    ЗначениеПараметр задает какие логи следует вести сервису.
    Возможные значения:
    0 - не вести логи
    1 - только в БД через ODBC
    2 - только в csv файлах
    3 - оба типа
    Значение по умолчанию 1

    Директива#loggingTo
    ЗначениеПараметр указывает следует ли наряду с пользовательскими логами вести общий файл соединений (all_connections).
    Значения:
    0 - только пользовательские логи
    1 - только общий лог (all_connections)
    2 - оба типа
    Значение по умолчанию - 2

    Директива#usersData
    ЗначениеПараметр задающий следует или нет экспортировать информацию о пользователе в базу данных (таблица users_data).
    Значения:
    0 - нет
    1 - да, данное значение автоматически подразумевает использование ODBC баз.
    Значение по умолчанию - 1

    Директива#usersChanges
    ЗначениеПараметр задающий следует или нет вести лог по изменениям счета пользователя в базе данных (таблица users_changes).
    Значения:
    0 - нет
    1 - да, данное значение автоматически подразумевает использование ODBC баз.
    Значение по умолчанию - 1

    Директива#logDSN
    ЗначениеСтрока подключения к ODBC источнику, в котором будут создаваться базы по соединениям пользователей.
    Формат DSN=имя_источника; дополнительные параметры...
    подробнее о создании DSN смотри здесь

    Директива#createTable
    ЗначениеSQL команда для создания таблицы в базе. Для обычной работы данный параметр изменять не следует. Более подробное описание смотри в файле конфигурации.

    Директива#insertString
    ЗначениеФормат SQL команды для добавления строки в таблицу лога. Для обычной работы данный параметр изменять не следует. Более подробное описание смотри в файле конфигурации.

    Директивы#createUsrTable, #insertUsrStr, #updateUsrStr
    ЗначениеДанные параметры задают SQL команды создания таблицы, вставки и обновления строки в таблице с данными по пользователям. Менять порядок полей и название таблицы _НЕЛЬЗЯ_. В данных параметрах можно корректировать _ТОЛЬКО_ тип полей, т.к. он может меняться от одной SQL БД к другой.Формат SQL команды для добавления строки в таблицу лога. Для обычной работы данный параметр изменять не следует. Более подробное описание смотри в файле конфигурации.

    Директивы#createTrnTable, #insertTrnStr
    ЗначениеДанные строки задают команды создания таблицы и вставки строк в таблицу с данными об изменения счета пользователя. Менять имена, порядок полей и название таблицы _НЕЛЬЗЯ_ В данных параметрах можно корректировать _ТОЛЬКО_ тип полей, т.к. он может меняться от одной SQL БД к другой.


  6. Конфигурационный файл users.cfg

    После того как произведены общие настройки сервиса, следует создать пользователей, которые будут иметь доступ к администрированию сервиса из программы управления. Также каждому из пользователей можно указать с каких IP адресов они могут работать с сервисом, и какие группы RAE и Windows NT находятся под их ведомом.
    Настройки пользователей хранятся в файле ../service/config/users.cfg. При внемении изменений в настройки сервис следует обязательно перезапустить.

    Вот пример настроек пользователя user1
    <user>
    Name		user1
    Password	password2
    AccessFromIp	192.168.1.1
    ManageRaeGroups	tariff1
    ManageNTGroups	users,guests
    </user>
    
    Настройки каждого пользователя должны быть заключены в блок:
    <user>
    ....
    </user>

    В самом блоке можно задавать следующие директивы:
    NameИмя пользователя
    PasswordПароль пользователя, используется для криптования трафика, чувствителен к регистру букв.
    AccessFromIp Параметр задает список IP адресов с которых возможно управление сервисом RAE. Адреса задаются в форме #.#.#.# через запятую. Если параметр равен *, то администрирование разрешено с любого IP адреса.
    ManageRaeGroups Параметр задает через запятую группы RasAdminExt (тарифы), к которым данный пользователь имеет доступ и может управлять. Если в строке в качестве параметра задана *, то доступ разрешен ко всем группам
    ManageNTGroups Параметр задает через запятую группы Windows NT, в которые разрешено добавление пользователей из программы управления. Если параметр не задан или список групп не будет совпадать с существующими группами, то операция добавления будет отключена. Если в строке в качестве параметра задана *, то доступ разрешен ко всем группам



  7. Следующим шагом является настройка тарифной системы.

    Тарифные планы они же и группы позволяют накладывать ограничения на объем передаваемой информации, длительность соединений, производить денежный учет соединений, запрещать одновременные подключения под одним аккаунтом, производить почтовое оповещение пользователей о состоянии счета и многое другое. Каждый подключившийся пользователь будет обслуживаться по одному из тарифных планов.
    Файлы с описанием тарифных планов должны находятся в каталоге tariff и иметь расширение trf. С программой идет полностью прокомментированный пример тарифного плана tariff\sample.trf. Свои тарифные планы Вы можете создавать на базе данного файла простым копированием его с другим именем или же с помощью редактора тарифных планов tariff\trfedit.exe.
    Основным параметром тарифа - является его уникальное имя, поэтому не забывайте его изменять.
    Вне зависимости от наличия файлов описания тарифных планов, в программе существует встроенный тарифный план с именем accounts не имеющий никаких ограничений. Все новые пользователи автоматически попадают под действие данного тарифа. Настройки для данного тарифного плана являются жестко встроенными в программу.


  8. Изменение шаблонов предупреждений.

    Сервис предоставляет возможность организации почтовой рассылки предупреждений о состоянии счета пользователя. Предупреждения имеют три уровня, которые описываются в тарифных планах, там же задаются граничные суммы по достижении которых будет отправлено письмо пользователю
    Шаблоны писем находятся в каталоге template, имена файлов заданы жестко и должны именоваться: warn1.tpl, warn2.tpl и warn3.tpl. Если один или несколько файлов найдены не будут, то будут использованы значения по умолчанию.
    Текст писем должен быть обязательно написан в кодировке win-1251. В теле письма можно использовать следующие дополнительные параметры:

    Общие:
    <name>UserID
    <fullname>Полное имя
    <comment>Комментарий
    <email>E-Mail
    <tariff>Название тарифного плана
    <ip>Статический IP адрес

    Статистические данные:
    <money>Сумма на счету пользователя
    <lastlogin>Время и дата последнего звонка
    <calls>Количество звонков
    <online>Общее время на линии, мин
    <sent>Общее кол-во отправленной информации, Кб
    <received>Общее кол-во полученной информации, Кб

    Данные по наработке:
    <resttimeall>Остаток времени всего, мин
    <resttimemon>Остаток времени месяц, мин
    <resttimewek>Остаток времени неделя, мин
    <resttimeday>Остаток времени сутки, мин
    <resttrafall>Остаток трафика всего, Кб
    <resttrafmon>Остаток трафика месяц, Кб
    <resttrafwek>Остаток трафика неделя, Кб
    <resttrafday>Остаток трафика сутки, Кб


  9. После проведенных настроек можно произвести пробный запуск сервиса.

    В случае если сервис не стартовал - следует открыть Event Viewer и в разделе Application найти сообщение об ошибке исходящее от сервиса RasAdminExt По сообщению об ошибке вы сможете определить какой из параметров не настроен или указан неверно.
    После того как сервис запустился, все дальнейшие сообщения автоматически перенаправляются в лог файл, который будет создан вместе с каталогом logs\имя_лога.log. Имя лог файла формируется по принципу ггггммдд.log, т.е. отдельный лог на каждые сутки.


Вернуться назад