Документация → Кратко обо всем

Условно NoDeny+ можно разделить на вебинтерфейс и серверную часть. Эти части напрямую не зависят друг от друга, т.е. вы можете просто установить веб-интерфейс и, работая в нем, получить достаточно много информации.

Веб-интерфейс оперирует клиентами и администраторами. Ваши работники, которым вы даете доступ в админку, тоже являются администраторами, разница лишь в наборе привилегий и доступов.

Клиентский и административный интерфейс имеет одну точку входа. Таким образом, у клиентов и у админов должны быть разные логины - за этим следит NoDeny. Администратор имеет возможность зайти в личный кабинет клиента от его имени не перелогиниваясь. Это полезно, когда администратор хочет точно знать, что видит клиент и почему у него что-то не получается. Более того, администратор может выполнить некоторые действия от имени клиента, например, активировать карточку пополнения счета. В любом случае, в логах и БД регистрируется событие, что действие произвел именно администратор.

Данные учетной записи клиента имеют фиксированные поля (логин/пароль/баланс/состояние и др), а также нефиксированные - вы можете их создать сами в зависимости от лично ваших требований, например, город/паспортные данные и т.д. Такие данные в NoDeny+ обычно называются допданными. В любой момент времени можно добавить/удалить допполе и это отразится на всех уже существующих клиентах.

Услуги назначаются клиенту, обычно при этом происходит списание финансов с его счета. Пример услуги - тариф, дающий доступ в интернет на определенной скорости на заданный период. Параметр услуги «автопродление» указывает какая услуга будет автоматически подключена после завершения текущей. Автопродление может быть отключено для конкретной услуги и тогда после ее завершения не будет подключена иная.

Длительность услуги задается в настройках и может быть от нескольких минут/часов до любого количества дней. Есть 3 режима задания времени:

  1. Месяц - если клиенту подключена услуга, скажем, 7 числа, то она закончится 7 числа следующего месяца, вне зависимости от того, сколько в текущем месяце дней. В этом режиме деньги поступают на счет фирмы равномерно в течение месяца т.к. клиенты подключаются в разные дни месяца.
  2. Заданное время, например, турбокнопка, ускоряющая скорость в интернет на 1 день или час.
  3. До конца месяца - снятия за услуги происходят 1-го числа каждого месяца в 00:00. В первый месяц подключения снимается часть стоимости услуги - пропорционально оставшимся дням месяца. Этот режим аналогичен тарифам в предыдущих версиях NoDeny (49/50).

Услуга может быть бонусная, например, ежемесячное пополнение счета абонента, предоставляющего доступ к точке с оборудованием.

Одному клиенту можно подключить несколько услуг. В параметрах услуги есть пункт разрешающий или запрещающий ее подключение в случае, когда подключена аналогичная. Для услуг доступа в интернет логично запретить такую возможность, чтобы клиент не смог подключить, скажем, тариф «5 мбит» и «10 мбит» одновременно.

Баланс клиента равен сумме всех положительных и отрицательных платежей (списаний). Блокировка учетной записи обычно происходит когда баланс становится меньше нуля. На самом деле, это задается параметром «граница отключения» в конкретной учетной записи и обычно равен нулю. Его можно переопределить, например выставить в минус 10, что будет разрешать работать в долг на 10 гривен (или денежных единиц вашей страны). Также важен параметр «блокировать при лимите». Если он установлен в «нет», то блокировка записи не будет происходить ни при каком отрицательном балансе. Есть смысл делать подобное только для очень надежных клиентов.

Из вышеописанного видно, что клиенту доступ разрешен когда его баланс равен нулю. Более того, иногда клиенты задают вопрос, почему они пополнили счет, а на нем ноль. Ответ прост: услуги работают по предоплате. Т.е. происходит снятие финансов и взамен предоставляется услуга, доступ в интернет, например. Следовательно, если клиент пополнил счет на 100 гривен и подключил пакет за 100 гривен, то на его счету 0 грн и оплаченный месяц интернета.

Блокирование по балансу осуществляет ядро NoDeny.

К учетной записи можно подключить один или несколько ip адресов. Также допускается динамическая выдача ip в момент авторизации. Можно комбинировать, т.е одним клиентам выдать статические адреса, другие будут получать динамически. В любом случае, предварительно список ip адресов должен быть создан в меню Настройки → ip pool.

Предусмотрены различные виды авторизации клиентов в сети:

Имеется возможность сбора статистики по трафику - это требует запуска модуля ядра collectors. Есть два вида статистики: общая и детализированная. Последняя - это полная информация (ip/порты/протоколы/байты) по всем сессиям. Детализированную статистику можно отключить.

Трафик можно классифицировать по «направлениям» - например, направление UA-IX, пирринг с соседней сетью, интернет и т.д. Можно строить графики по направлениям для разных клиентов либо всей сети на любой день.

При создании учетной записи клиента она получает состояние «на подключении». Это означает, что при заходе в клиентскую статистику, клиенту будет предложено ввести фио и адрес (список полей задается в настройках). Предполагается, что первый заход будет произведен с компьютера клиента сразу после его подключения. В этот же момент выбирается услуга доступа в интернет, т.е начинает действовать именно с этого момента.

Если NoDeny+ установлен в /usr/local/nodeny, то структура папок такова:

/usr/local/nodeny/web скрипты web интерфейса
/usr/local/nodeny/web/user скрипты web интерфейса клиентской статистики
/usr/local/nodeny/web/tmpl html-шаблоны web-интерфейса
/usr/local/nodeny/web/lang языковые файлы
/usr/local/nodeny/web/login модули авторизации
/usr/local/nodeny/services услуги
/usr/local/nodeny/kernel модули ядра
/usr/local/nodeny/modules модули для сборки
/usr/local/nodeny/nod дополнительные модули
/usr/local/nodeny/cfg конфигурационные файлы
/usr/local/nodeny/logs логи

Файлы, начинающиеся с подчеркивания - это фантомы файлов с таким же именем, но без подчеркивания. Фантом - это оригинальный файл + патчи от модулей. Бессмысленно редактировать фантомы т.к. при последующей сборке install.pl перезапишет их.