Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:nas:unifi:ru [2015/12/10 12:55]
anton
abills:docs:nas:unifi:ru [2016/10/24 15:13] (текущий)
asmodeus [Добавляем сервер доступа в ABIllS]
Строка 1: Строка 1:
 ===== Uni-Fi ===== ===== Uni-Fi =====
 [[abills:​docs:​nas:​unifi:​installation:​ru | Установка Uni-Fi контроллера]] \\ [[abills:​docs:​nas:​unifi:​installation:​ru | Установка Uni-Fi контроллера]] \\
-[[abills:​docs:​nas:​unifi:​installation:ru | Подключение скрипта авторизации ]] \\+[[abills:​docs:​nas:​unifi:​init:ru | Подключение скрипта авторизации ]] \\
  
 Uni-Fi авторизация проходит через скрипт ''​сgi-bin/​guest/​s/​default/​index.cgi''​\\ Uni-Fi авторизация проходит через скрипт ''​сgi-bin/​guest/​s/​default/​index.cgi''​\\
Строка 21: Строка 21:
 Если уже авторизованный пользователь заходит на ту же страницу,​ ему показывает данные статуса и кнопку "​Отключить"​ Если уже авторизованный пользователь заходит на ту же страницу,​ ему показывает данные статуса и кнопку "​Отключить"​
   ​   ​
 +  ​
 +==== Подробное описание ====
 +  ​
 +В билинге есть сервер доступа Unifi. Там и в config.pl прописаны параметры соединения с  сервером.\\
 +\\
 +Поскольку сам Unifi ничего на билинг не отправляет,​ billd опрашивает unifi каждые 5 минут (плагин ubiquiti_online.pm,​ период можно поменять в настройках плагинов billd)\\
 +\\
 +клиент подключается к точке. Через некоторое время (от 2 секунд) клиент появится в списке клиентов на контроллере. Когда клиент заходит в интернет (или когда ОС проверит наличие интернета),​ его отредиректит на портал указанный в настройках Unifi.\\
 +\\
 +==== Авторизация ====
 +
 +Тут вступает ''​index.cgi''​ портала. По маку, который пришёл в запросе,​ он в списке клиентов на контроллере находит нужного и сверяет статус клиента.\\
 +\\
 +Дальше,​ в зависимости от статуса: ​
 +  * неавторизован - показывает форму логина
 +  * авторизован ​   - показывает форму статуса (там где сначала колёсико крутится)
 +  * не нашёл MAC -  отвечает,​ что нет такого клиента на контроллере.
 +
 +Когда пользователь вводит свой логин и пароль. На сервер,​ скриптом страницы,​ асинхронно отправляется запрос на авторизацию,​ формируется ​ внутренний запрос к **Dv**.\\
 +в ответе **Dv** при успешной авторизации возвращаются параметры таймаута сесии и скорости.\\
 +\\
 +С этих параметров,​ формируется запрос на Unifi для авторизации пользователя на точке.\\
 +\\
 +Если аторизация успешная,​ скрипт страницы после отображения сообщения,​ покажет таблицу статуса и запросит дополнительные даные для отображения клиенту. На этой же странице находится кнопка "​Отключить",​ для самостоятельного завершения сесии клиентом.\\
 +\\
 +Для удобности,​ в верхней части страницы - линк на страницу,​ куда направлялся пользователь.\\
 +
 +==== Аккаунтинг и продолжительность сесии ====
 +
 +**Поскольку сам Unifi ничего не отправляет,​ то обновление даных происходит только,​ когда выполняется billd**. \\
 +\\
 +Billd опрашивает Unifi, и по макам клиентов,​ определяет к какой учетной записи они принадлежат и добавляет время.\\
 +\\
 +Сама продолжительность сессии подсчитывается только когда сесия закончится,​ поэтому **billd** не скидывает абонентов.\\
 +** Абонентов скидывает сам Unifi по таймауту сесии.**
 +При повторной авторизации,​ биллинг сверит данные из пользовательского онлайна и если времени онлайна больше,​ чем позволено для тарифного плана, закончит сесию, и отдаст негативный результат аторизации.
 +==== Добавляем сервер доступа в ABIllS====
 +
 +''/​Настройка/​Сервера доступа/''​
 +
 +^IP| IP Адрес точки |
 +^Тип | Unifi   |
 +^Alive | Время обновления статистики и подтверждения активности сессии. Рекомендуемое значение 300 |
 +^MAC | Мак точки доступа. Если не указать мак система не будет видить к какой точке атворизировался абонент в журнале последних подключений (''/​ Отчёт / Интернет / Последнее подключение ''​) |
 +^Radius-Identifier | Unifi Site Name {{:​abills:​docs:​nas:​unifi:​3neubz3_1_.png?​nolin|}}. Берём с веб строки контролера. \\ Если поле не заполнено используется идентификатор **default** |
 +^:​Управление: ​       | |
 +^IP:​PORT: ​           | IP адрес и порт для контролера (по умолчанию 8443) |
 +^Пользователь: ​      | admin \\ Имя пользователя для контроля |
 +^Пароль: ​            | секретный ключ |
 +
 +