Таблицы базы данных: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Немає опису редагування
Рядок 61: Рядок 61:


Теги - текстовые метки через запятую.
Теги - текстовые метки через запятую.
==nets - описание сетей==
<pre>
  id        : автоинкрементное поле
  preset    : не используется
  priority  : приоритет записи
  class    : номер направления
  net      : сеть в виде xx.xx.xx.xx/yy
  port      : порт (0 - любой)
  comment  : комментарий
</pre>
NoDeny может классифицировать трафик на основе сетей и портов. Трафик может делиться на направления от 1 до 4 (поле class). Такое деление может использоваться для подсчета объема трафика в разные направления, либо же для предосталения разных скоростей в разные направления.

Версія за 11:35, 25 травня 2018

admin - данные администраторов

 id         : id администратора
 login      : логин администратора
 passwd     : зашифрованный пароль
 name       : имя
 post       : id в таблице users.  Т.е администратор может иметь учетную запись в users
 privil     : через запятую привилегии
 usr_grps   : через запятую id групп, к которым есть доступ
 tunes      : настройки
 ext        : пока не используется
 balance    : баланс

Привилегии задаются в виде списка чисел, разделенных запятыми. Каждое число указывает на то, что соответствующая ему привилегия включена. Список соответствий число=привилегия можно узнать из файла /usr/local/nodeny/web/lang/RU_admin.pl.

Списки привилегий и групп клиентов обязательно начинаются и заканчиваются запятыми.

Баланс - сумма всех платежей, которые оформил данный админ клиентам как «наличный платеж».

auth_now - текущие авторизации

 id         : автоинкрементное поле
 ip         : ip клиента в текстовом виде
 start      : timestamp начала авторизации
 last       : timestamp последнего подтверждения авторизации
 properties : дополнительные параметры

Модули авторизации устанавливают начало авторизации в start, после чего с каждым подтвержденным запросом авторизации модифицируют поле last текущим временем. Ядро NoDeny удаляет записи, у которых last не модифицировалось в последние xx секунд, т.е. удаляет записи «по таймауту».

properties хранит параметры авторизации, разделенные «;». Обязательный параметр mod - модуль, которым была осуществлена авторизация. «mod=dhcp;user=000cdbdff588» - мак клиента 00:0c:db:df:f5:88.


auth_log - лог авторизаций

 id         : автоинкрементное поле
 uid        : id клиента
 ip         : ip клиента (unsigned int)
 start      : начало сессии (timestamp)
 end        : конец сессии (timestamp)
 properties : дополнительные параметры

Когда клиент перестает быть авторизованным, ядро удаляет запись из таблицы auth_now и создает запись в auth_log, при этом параметр properties копируется из auth_now в auth_log

ip_pool - пул ip адресов

 id         : уникальный id записи
 ip         : ip (unsigned int)
 type       : тип ip (статический, динамический, зарезервирован)
 realip     : флаг «реальный ip»
 release    : timestamp освобождения, если ip динамический
 uid        : id клиента
 tags       : теги

Если ip не привязан ни к какому клиенту, то uid = 0. Если ip статический, то он привязывается клиенту навсегда, вернее, до того момента, пока администратор не отвяжет его.

Динамический ip привязывается клиенту во время первой авторизации, после чего с каждым обновлением авторизации отодвигает release в будущее. По окончанию авторизации, когда release станет большим текущего времени, поле uid устанавливается в 0.

Теги - текстовые метки через запятую.

nets - описание сетей

  id        : автоинкрементное поле
  preset    : не используется
  priority  : приоритет записи
  class     : номер направления
  net       : сеть в виде xx.xx.xx.xx/yy
  port      : порт (0 - любой)
  comment   : комментарий

NoDeny может классифицировать трафик на основе сетей и портов. Трафик может делиться на направления от 1 до 4 (поле class). Такое деление может использоваться для подсчета объема трафика в разные направления, либо же для предосталения разных скоростей в разные направления.