Страница 1 из 1

Раздача инета с паролем (не знаю как назвать)

Добавлено: 2010-11-26 2:21:01
NewUse
Фря 8.1
Имеется шлюз и маленькая сетка, но WiFi:
Поставил FreeRADIUS -- он будет заведовать паролями и подключением по сети по LEAP
Вопрос, как пользователям, прошедшим проверку раздать инет?

Как сделать так, чтоб разделить канал равномерно?

Наверное правильнее было бы задать вопрос, как связать FreeRADIUS и IPFW, ибо с помощью Pipe-ов в IPFW это легко делается, но как ограничить доступ пользователей к шлюзу?

Возможно я плохо понимаю принцип работы RADIUS ....

Думал, что данными вопросами заведуют биллинговые системы, но видно ошибся:
Поставил FreeNIBS, а там таких функций не оказалось :((((

Подскажите, пожалуйста...
С уважением,
Александр.

Re: Раздача инета с паролем (не знаю как назвать)

Добавлено: 2010-11-26 9:46:09
hizel
в freeradius можно писать на пистоне, пёрле и tcl

Re: Раздача инета с паролем (не знаю как назвать)

Добавлено: 2010-11-26 19:32:40
NewUse
Спасибо, прошу прощения у модераторов, не заметил раздела, видать чёртик отвлёк :)
в freeradius можно писать на пистоне, пёрле и tcl
Спасибо, а не подскажите куды можно разместить скрипты по входу и разрыву соединения, и в каких переменных им можно передать пораметры пользователя, такие, как IP и MAC

Re: Раздача инета с паролем (не знаю как назвать)

Добавлено: 2010-11-26 19:46:28
hizel

Re: Раздача инета с паролем (не знаю как назвать)

Добавлено: 2010-11-26 21:38:22
NewUse
Да, спасибо, теперь всё стало несколько яснее, с одной стороны, а с другой несколько сложнее:
Я юзаю модуль FreeNIBS 2.2.3, и похоже его придётся допиливать прямо в сурсах, ибо, если я понял верно, другие модули автоматически не стартанут, или я не прав? Если не сложно подскажите пожалуйста, для FreeNIBS хорошие описание:
Авторизация и аутентификация.
Приходит пакет AUTH REQUEST. Radius запускает процесс authorize.
...
Вызывается модуль rlm_nibs.
Выполняется функция rlm_nibs_authorize.
Проверка на установку (Auth-Type == Nibs). Если нет - Auth-Type установится в Nibs
(Auth-Type = Nibs). Если Auth-Type установлен в Nibs - модуль вернет OK.
Если пользователь не найден в базе:
• Если Auth-Type установлен в Nibs (Auth-Type == Nibs), то доступ запрещен -
модуль вернет REJECT.
• Если Auth-Type не равен Nibs, то модуль вернет NOOP (продолжить проверку
другими модулями)
...
Если процесс authorize вернул OK, то Radius запускает процесс authenticate. Если
Auth-Type установлен в Nibs вызывается модуль rlm_nibs. Выполняется функция
rlm_nibs_authenticate:
Производится проверка на существование пользователя, на вхождение
пользователя в группу. Если пользователь найден и входит в какую-либо группу, то
проверяется пароль, ip-адрес, мас-адрес или АОН (в зависимости от типа
аутентификации) пользователя. Если не совпадает - доступ запрещен, и модуль
вернет REJECT. Иначе модуль вернет OK
...
Если процесс authenticate вернул OK, то будет запущен процесс post-auth.
Запускается фильтр nibs_filter – который производит множество проверок:
...
Активация пользователя (users.activated = 1)
...
Если фильтр вернул не 0, то вход запрещен - модуль вернет REJECT. Иначе модуль
вернет OK.
Если процесс post-auth также вернет OK то пользователя впустит

Приходит пакет ACCT START. Radius запускает процесс accounting.
...
Вызывается модуль rlm_nibs. Выполняется функция rlm_nibs_accounting.
Производится проверка на существование пользователя:

Приходит пакет ACCT ALIVE. Radius запускает процесс accounting.
...
Вызывается модуль rlm_nibs. Выполняется функция rlm_nibs_accounting.
Производится проверка на существование пользователя:
...
Приходит пакет ACCT STOP. Radius запускает процесс accounting.
...
Вызывается модуль rlm_nibs. Выполняется функция rlm_nibs_accounting.
Это грубая схемка работы НИБС из его описалова, я не силён в терминологии, от сюда вопрос, куда лучше вклинится со своим кодом ?
По сути мне нужно найти две точки: точку запуска пользователя в систему (или даже точку установки параметров после запуска) и точку разрыва/выхода пользователя из систмы:
а я пока не очень улавливаю разницу между Авторизацией и Аутентификацией :(( что за что отвечает?
Правильно ли я понял, что точка входа должна быть где-то в конце post-auth ?
А вот точку выхода даже не могу предположить где :(((