URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 49268
[ Назад ]

Исходное сообщение
"Люди!!! Я опять про freeradius+nibs"

Отправлено XuniL , 12-Окт-04 16:31 
Здравствуйте.
Хочу еще раз к вам обратится. Ее решения я нигде не могу найти. Проблем уже 2.
1) Важная, как установить длительность сессии, например что бы через 24 часа пользователя отрубало, такое нужно для пакетников. (говорят такое можно сделать)
2) как сделать так что бы при минусовом балансе пользователя вообще не пускало в сеть. А то получается такая фигня что пользователь, при минусовом балансе, заходит в сеть но через минуту нибс его отрубает.
Когда-то давно я, краем уха, слышал что нужно что-то прописать в preprocess. Но что? Мне для понимания однозначно не хватает конфига с комментариями. На сайте разработчика доки нет как таковой. Есть форум правда не такой посещаемый как этот. Народ помогите. Очень прошу.

Вот мой конфиг:
prefix = /usr/local
exec_prefix = /usr/local
sysconfdir = /usr/local/etc
localstatedir = /var
sbindir = /usr/local/sbin
logdir = /var/log
raddbdir = /usr/local/etc/raddb
radacctdir = /var/log/radacct
confdir = /usr/local/etc/raddb
run_dir = /var/run/radiusd
log_file = /var/log/radius/radius.log
libdir = /usr/local/lib
pidfile = /var/run/radiusd/radiusd.pid

user = radius
group = radius

max_request_time = 30
delete_blocked_requests = no
cleanup_delay = 5

max_requests = 1024
bind_address = *
hostname_lookups = no
allow_core_dumps = no
regular_expressions = yes
extended_expressions = yes
log_stripped_names = no
log_auth = yes
log_auth_badpass = yes
log_auth_goodpass = no
usercollide = no
lower_user = before
lower_pass = no
nospace_user = before
nospace_pass = no

checkrad = ${sbindir}/checkrad

security {
        max_attributes = 200
        reject_delay = 1
        status_server = no
}

proxy_requests = no

$INCLUDE  ${confdir}/clients.conf

thread pool {
        start_servers = 5
        max_servers = 32
        min_spare_servers = 3
        max_spare_servers = 10
        max_requests_per_server = 0
}

modules {

        pap {
                encryption_scheme = crypt
        }

        chap {
                authtype = CHAP
        }

        mschap {
                authtype = MS-CHAP

        }

        preprocess {
                huntgroups = ${confdir}/huntgroups
                hints = ${confdir}/hints
                with_ntdomain_hack = no
                with_cisco_vsa_hack = no
        }

        files {
                usersfile = ${confdir}/users
                acctusersfile = ${confdir}/acct_users
                compat = no
        }


        detail {
                detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d
                detailperm = 0600
        }

        detail auth_log {
                detailfile = ${radacctdir}/%{Client-IP-Address}/auth-detail-%Y%m%d
                detailperm = 0600
        }

        detail reply_log {
                 detailfile = ${radacctdir}/%{Client-IP-Address}/reply-detail-%Y%m%d
        }

                acct_unique {
                key = "User-Name, Acct-Session-Id, NAS-IP-Address, NAS-Port"
        }

        acct_unique {
                key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port-Id"
        }

        $INCLUDE  ${confdir}/nibs_postgresql.conf

        radutmp {
                filename = ${logdir}/radutmp
                perm = 0600
                callerid = "yes"
        }

        radutmp sradutmp {
                filename = ${logdir}/sradutmp
                perm = 0644
                callerid = "no"
        }

        counter {
                filename = ${raddbdir}/db.counter
                key = User-Name
                count-attribute = Acct-Session-Time
                reset = daily
                counter-name = Daily-Session-Time
                check-name = Max-Daily-Session
                allowed-servicetype = Framed-User
                cache-size = 5000
        }

        always fail {
                rcode = fail
        }

        always reject {
                rcode = reject
        }

        always ok {
                rcode = ok
                simulcount = 0
                mpp = no
        }

        expr {
        }

}

instantiate {
        expr
}

authorize {
        preprocess
        files
        auth_log
        nibs
        mschap
}

authenticate {
        pap
        Auth-Type NIBS {
                nibs
        }
}

preacct {
        preprocess
        files
}

accounting {
        acct_unique
        detail
        nibs
        radutmp
}

session {
        nibs
}

post-auth {
        reply_log
}

может еще в post-auth { } прописать еще nibs?


Содержание

Сообщения в этом обсуждении
"Люди!!! Я опять про freeradius+nibs"
Отправлено XuniL , 13-Окт-04 10:33 
ну напишите хоть в чем я неправ.
что, вопрос глупый?
Сформулирован неправильно?
Что нужно сделать, что бы получить помощь?

"Люди!!! Я опять про freeradius+nibs"
Отправлено XuniL , 13-Окт-04 15:03 
проблему номер 2 я решил, теперь с минусовым или нулевым балансом в систему не пускает.

А проблему номер 1 я наверное без вашего вмешательства решить не смогу.
умоляю, подскажите хоть где искать.


"Люди!!! Я опять про freeradius+nibs"
Отправлено Maxim , 13-Окт-04 19:03 
Извини, ответа на вопрос я не знаю :(

Залез в тему, что бы с тобой посоветоваться: как ты решил проблему №2?


"Люди!!! Я опять про freeradius+nibs"
Отправлено XuniL , 13-Окт-04 20:14 
как я и предпологал

post-auth {
        reply_log
        nibs
}

>Извини, ответа на вопрос я не знаю :(
Жаль.
Но ничего, может всетаки найдется добрая душа и подскажет что-то толковое.
Уповаю на коллективный разум.


"Люди!!! Я опять про freeradius+nibs"
Отправлено harlan , 14-Окт-04 08:01 
Для того, что бы сеанс вырубался через определённое время, нужно, что бы радиус вернул атрибут (точно не помню, но помоему Session-Timeout. Как добирусь до своего радиуса, так отвечу точно) с указанием количества секунд. Если тебе надо, что бы сеанс оборвался в определённое время, то тот же самый атрибут, но надо вычислить количество секунд между временем подключения и временем, когда сеанс должен оборваться.

Надеюсь, что совет поможет...


"Люди!!! Я опять про freeradius+nibs"
Отправлено Макар , 14-Окт-04 08:14 
Насчёт отрубания через 24 часа - решается средствами mpd
/usr/local/share/doc/mpd

"Люди!!! Я опять про freeradius+nibs"
Отправлено XuniL , 14-Окт-04 09:47 
>Насчёт отрубания через 24 часа - решается средствами mpd
>/usr/local/share/doc/mpd

mpd не стоит.


"Люди!!! Я опять про freeradius+nibs"
Отправлено XuniL , 14-Окт-04 09:49 
>Для того, что бы сеанс вырубался через определённое время, нужно, что бы
>радиус вернул атрибут (точно не помню, но помоему Session-Timeout. Как добирусь
>до своего радиуса, так отвечу точно) с указанием количества секунд. Если
>тебе надо, что бы сеанс оборвался в определённое время, то тот
>же самый атрибут, но надо вычислить количество секунд между временем подключения
>и временем, когда сеанс должен оборваться.
>
>Надеюсь, что совет поможет...

Доберись пожалуйста до своего радиуса.
Какими средствами послать этот атрибут?
Это скрипт?


"Люди!!! Я опять про freeradius+nibs"
Отправлено harlan , 14-Окт-04 11:56 
>Доберись пожалуйста до своего радиуса.
>Какими средствами послать этот атрибут?
>Это скрипт?

Добрался, но это мало чем поможет, так как у меня Считается не время, а трафик.
Вот здесь http://cisco.opennet.ru/openforum/vsluhforumID6/1628.html обсуждался похожий вопрос.
На сколько мне известно,
При аутентификации юзера, среди атрибутов передаваемых радиусом демону pppd должен быть атрибут Session-Timeout=86400
Но, необходимо, что бы и демон pppd этот атрибут понимал.


"Люди!!! Я опять про freeradius+nibs"
Отправлено XuniL , 14-Окт-04 12:25 
>>Доберись пожалуйста до своего радиуса.
>>Какими средствами послать этот атрибут?
>>Это скрипт?
>
>Добрался, но это мало чем поможет, так как у меня Считается не
>время, а трафик.
>Вот здесь http://cisco.opennet.ru/openforum/vsluhforumID6/1628.html обсуждался похожий вопрос.

но ведь в томт опике так проблему и не решили :-(

>На сколько мне известно,
>При аутентификации юзера, среди атрибутов передаваемых радиусом демону pppd должен быть атрибут

в моем случае это циска



"Люди!!! Я опять про freeradius+nibs"
Отправлено harlan , 14-Окт-04 12:39 
В начале этого окна есть поле ввода "Поиск"
Впечатай там "Session-Timeout" (без кавычек) и нажми [Enter]
Почитай информацию по найденным ссылкам. Может что полезного и найдёшь.
Я на сиське ppp не настраивал, так что ничего определённого сказать не могу.

"Люди!!! Я опять про freeradius+nibs"
Отправлено XuniL , 14-Окт-04 13:47 
проблема номер 2 тоже решена.
помогло прописание Session-Timeout в таблице packets (база постгрес)