Jump to content

MOD_RADIUS for Stargazer


Recommended Posts

Ну если фрирадиус будет работать с БД старгейзера, то как понять, онлайн клиент, или оффлайн например?

А зачем это знать FreeRADIUS'у?

Link to post
Share on other sites
  • Replies 131
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Меня не настораживает. Все правильно. Текущий адрес перед отключением сбрасывается в 0.     По сравнению с 2.406 добавилась отложенная реакция на некоторые события. Надо бы собрать с дебагом и пос

Уже нашел ошибку. В плагине для мускула не проверяется вариант когда запрос не вернул ни одной строки. Считается что запрошенный логин всегда существует. Патч приведу позже. Может быть завтра.

Конечно отличаются. Во первых это отладочная сборка - они содержат в себе отладочную информацию. Во вторых при make install-bin копирование происходит средствами утилиты install которая делает strip в

это надо мне знать. Юзера ж коннектятся по пппое, и по сути старгейзер не получает информации о том. приконнектился юзер, или нет...

Link to post
Share on other sites

это надо мне знать. Юзера ж коннектятся по пппое, и по сути старгейзер не получает информации о том. приконнектился юзер, или нет...

Ну а если pppoe держать постоянно открытым а авторизовывать обычным авторизатором?

Link to post
Share on other sites

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

Link to post
Share on other sites

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

Ну тогда либо с монтировкой и какой-то матерью прикручивать mod_radius к новым версиям Stargazer либо использовать rlm_stg и FreeRADIUS.

Link to post
Share on other sites

2010-11-19 14:05:08 -- ---------------------------------------------

2010-11-19 14:05:50 -- Stg v. Stg 2.403b

2010-11-19 14:05:50 -- Message queue created successfully. msgKey=5555 msgID=196608

2010-11-19 14:05:50 -- Timer thread started successfully.

2010-11-19 14:05:50 -- Storage plugin: mysql_store v.0.67. Loading successfull.

2010-11-19 14:05:50 -- Users started successfully.

2010-11-19 14:05:50 -- Traffcounter started successfully.

2010-11-19 14:05:50 -- Module: 'Radius modul version 0.72alpha'. Start successfull. 18

2010-11-19 14:05:50 -- Module: 'InetAccess authorizator v.1.1'. Start successfull. 50

2010-11-19 14:05:50 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 70

2010-11-19 14:05:50 -- Module: 'Pinger v.1.01'. Start successfull. 100

2010-11-19 14:05:50 -- Module: 'Stg configurator v.0.05'. Start successfull. 220

2010-11-19 14:05:50 -- Stg started successfully.

2010-11-19 14:05:50 -- +++++++++++++++++++++++++++++++++++++++++++++

Пока будет так. Потом буду пытаться крутить к новой версии.

Link to post
Share on other sites

Заметил, что у стандартного rlm_stg фича(бага):

когда у юзера "минус", или отключен или заморожен - он все равно авторизует логин на ВПН-сервере.

Это так и должно быть?

Link to post
Share on other sites

Заметил, что у стандартного rlm_stg фича(бага):

когда у юзера "минус", или отключен или заморожен - он все равно авторизует логин на ВПН-сервере.

Это так и должно быть?

Странно. Я бы сказал что такого не может быть. Для определения того, авторизовывать пользователя или нет, используется вызов USER::IsInetable, который как раз и обрабатывает disabled, passive, freeMb, credit и cash. Прошу еще раз внимательно это проверить.

Link to post
Share on other sites

1000 извинений, наверное я что-то не так сделал, а именно:

не использую "родной" OnConnect на NAS-е, и форвард на клиентский ip осуществляю уже на нем самом, своим скриптом.

По правильному надо через rscriptd видимо, что бы оно не обрабатывало OnConnect.

Пока подставил "костыль" в скрипт на NAS-е с проверкой на баланс и "отключенность".

Link to post
Share on other sites

1000 извинений, наверное я что-то не так сделал, а именно:

не использую "родной" OnConnect на NAS-е, и форвард на клиентский ip осуществляю уже на нем самом, своим скриптом.

По правильному надо через rscriptd видимо, что бы оно не обрабатывало OnConnect.

Пока подставил "костыль" в скрипт на NAS-е с проверкой на баланс и "отключенность".

Стоп-стоп, а при чем тут OnConnect? Это ж два разных механизма.

Запрос на авторизацию через FreeRADIUS поступает на mod_radius (не тот про который говорит топикстартер) и там принимается решение об авторизации пользователя. Если пользователь авторизуется - к FreeRADIUS "улетает" подтверждение и, параллельно срабатывают скрипты OnConnect (локально и через rscriptd). Я так понимаю, ты писал о том что FreeRADIUS ведет себя так как будто получено подтверждение авторизации вне зависимости от состояния счета?

Link to post
Share on other sites

....вне зависимости от состояния счета?

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

Модуль да у меня стандартный, я так понимаю: если минус - должна же быть ошибка авторизации?

Link to post
Share on other sites

....вне зависимости от состояния счета?

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

Модуль да у меня стандартный, я так понимаю: если минус - должна же быть ошибка авторизации?

Да, кроме случаев когда сервис описан в секции AuthServices. Для таких сервисов проверяется только логин-пароль. Чтобы выполнялась авторизация и проверки состояние счета и т.д. необходимо указать сервис как AcctServices. В документации это описано. Проверь этот момент.

Link to post
Share on other sites

.... Проверь этот момент.

вот секция Accounting моего /etc/raddb/radiusd.conf

#
#  Accounting.  Log the accounting data.
#
accounting {
#
#  Create a 'detail'ed log of the packets.
#  Note that accounting requests which are proxied
#  are also logged in the detail file.
#<----->detail
#<----->daily
#
#  For Simultaneous-Use tracking.
#
#  Due to packet losses in the network, the data here
#  may be incorrect.  There is little we can do about it.
#<----->radutmp

stg

}

делал все по документации вроде

Link to post
Share on other sites

.... Проверь этот момент.

вот секция Accounting моего /etc/raddb/radiusd.conf

#
#  Accounting.  Log the accounting data.
#
accounting {
#
#  Create a 'detail'ed log of the packets.
#  Note that accounting requests which are proxied
#  are also logged in the detail file.
#<----->detail
#<----->daily
#
#  For Simultaneous-Use tracking.
#
#  Due to packet losses in the network, the data here
#  may be incorrect.  There is little we can do about it.
#<----->radutmp

stg

}

делал все по документации вроде

Я имел в виду настройи mod_radius в stargazer.conf

 

Вот это:

<Module radius>
   Password = 123456
   ServerIP = 127.0.0.1
   Port = 6666
   AuthServices = Login-User
   AcctServices = Framed-User
</Module>

Link to post
Share on other sites

у меня тоже самое:

    <Module radius>
       Password = pass
       ServerIP = 127.0.0.1
       Port = 6666
       AuthServices = Login-User
       AcctServices = Framed-User
   </Module>

Так а используется-то что? Framed-User или Login-User?

Попробуй оба загнать в AcctServices.

Link to post
Share on other sites

то есть надо:

AcctServices = Login-User Framed-User

 

так?

Подозреваю что достаточно

AcctServices = Login-User

но предлагаю проверить

Link to post
Share on other sites

Подозреваю что достаточно

AcctServices = Login-User

но предлагаю проверить

Проверил, с

AcctServices = Login-User

691я у всех

остановился пока на первом варианте

AcctServices = Login-User Framed-User

Link to post
Share on other sites

немного влезу в ваш разговор, у вас получилось связать стг и freeradius версии выше 2, я правильно понимаю? подкиньте мануальчик если это так, или хотя бы объясните что к чему

Link to post
Share on other sites

связать стг и freeradius версии выше 2, я правильно понимаю?

[root@stg ~]# rpm -q stargazer freeradius
stargazer-2.406-20100416
freeradius-1.1.3-1.6.el5

стг с патчами до ..407-rc1

Делал все по инструкциям отсюда.

 

2madf:

остановился пока на первом варианте

при этом, все равно авторизует с "минусом"

Link to post
Share on other sites

немного влезу в ваш разговор, у вас получилось связать стг и freeradius версии выше 2, я правильно понимаю? подкиньте мануальчик если это так, или хотя бы объясните что к чему

Нет, неправильно. Для FreeRADIUS 2.* плагина пока нет. Есть наработки которые компилируются, но я не проверял их работоспособность.

Link to post
Share on other sites

связать стг и freeradius версии выше 2, я правильно понимаю?

[root@stg ~]# rpm -q stargazer freeradius
stargazer-2.406-20100416
freeradius-1.1.3-1.6.el5

стг с патчами до ..407-rc1

Делал все по инструкциям отсюда.

 

2madf:

остановился пока на первом варианте

при этом, все равно авторизует с "минусом"

А покажи отладочный вывод FreeRADISU (запуском radiusd -X) в момент авторизации пользователя с отрицательным балансом.

Link to post
Share on other sites
rad_recv: Access-Request packet from host 10.9.1.7:57829, id=115, length=146
       Service-Type = Framed-User
       Framed-Protocol = PPP
       User-Name = "drakon"
       MS-CHAP-Challenge = 0x46d81e6ca8ff55c3352f16e2c0cec3a9
       MS-CHAP2-Response = 0x4000c2a78a2270a6a4c10f4ff02bac89ac180000000000000000d94cdcbfe7d8b52831f86fd82b7701f567e8a43016e21e8b
       Calling-Station-Id = "10.9.0.248"
       NAS-IP-Address = 10.9.1.7
       NAS-Port = 53
 Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
 modcall[authorize]: module "preprocess" returns ok for request 0
 modcall[authorize]: module "chap" returns noop for request 0
 rlm_mschap: Found MS-CHAP attributes.  Setting 'Auth-Type  = mschap'
 modcall[authorize]: module "mschap" returns ok for request 0
 rlm_eap: No EAP-Message, not doing EAP
 modcall[authorize]: module "eap" returns noop for request 0
rlm_stg: stg_authorize()
rlm_stg: stg_authorize() user name defined as 'drakon'
rlm_stg: stg_authorize() request username field: 'drakon'
rlm_stg: stg_authorize() Service-Type defined as 'Framed-User'
 modcall[authorize]: module "stg" returns updated for request 0
modcall: leaving group authorize (returns updated) for request 0
 rad_check_password:  Found Auth-Type MS-CHAP
auth: type "MS-CHAP"
 Processing the authenticate section of radiusd.conf
modcall: entering group MS-CHAP for request 0
rlm_stg: stg_authenticate()
rlm_stg: stg_authenticate() Service-Type defined as 'Framed-User'
 modcall[authenticate]: module "stg" returns noop for request 0
 rlm_mschap: Told to do MS-CHAPv2 for drakon with NT-Password
rlm_mschap: adding MS-CHAPv2 MPPE keys
 modcall[authenticate]: module "mschap" returns ok for request 0
modcall: leaving group MS-CHAP (returns ok) for request 0
 Processing the post-auth section of radiusd.conf
modcall: entering group post-auth for request 0
rlm_stg: stg_postauth()
rlm_stg: stg_postauth() Service-Type defined as 'Framed-User'
rlm_stg: stg_postauth() ip = '10.9.248.128'
 modcall[post-auth]: module "stg" returns updated for request 0
modcall: leaving group post-auth (returns updated) for request 0
Sending Access-Accept of id 115 to 10.9.1.7 port 57829
       MS-CHAP2-Success = 0x40533d41313143454638303946313046423931373145373537434531443338383641443934343145433735
       MS-MPPE-Recv-Key = 0x28f10eac8d8ab031dd936e950b56dd2c
       MS-MPPE-Send-Key = 0x6c5269867e00e7e924adcff891c378b2
       MS-MPPE-Encryption-Policy = 0x00000001
       MS-MPPE-Encryption-Types = 0x00000006
       Framed-IP-Address := 10.9.248.128
Finished request 0
Going to the next request
--- Walking the entire request list ---
Waking up in 6 seconds...
rad_recv: Accounting-Request packet from host 10.9.1.7:36399, id=116, length=110
       Acct-Session-Id = "4CEF80062C6800"
       User-Name = "drakon"
       Acct-Status-Type = Start
       Service-Type = Framed-User
       Framed-Protocol = PPP
       Calling-Station-Id = "10.9.0.248"
       Acct-Authentic = RADIUS
       NAS-Port-Type = Async
       Framed-IP-Address = 10.9.248.128
       NAS-IP-Address = 10.9.1.7
       NAS-Port = 53
       Acct-Delay-Time = 0
 Processing the preacct section of radiusd.conf
modcall: entering group preacct for request 1
 modcall[preacct]: module "preprocess" returns noop for request 1
rlm_acct_unique: Hashing 'NAS-Port = 53,Client-IP-Address = 10.9.1.7,NAS-IP-Address = 10.9.1.7,Acct-Session-Id = "4CEF80062C6800",User-Name = "drakon"'
rlm_acct_unique: Acct-Unique-Session-ID = "1d58bd6578ee6fde".
 modcall[preacct]: module "acct_unique" returns ok for request 1
modcall: leaving group preacct (returns ok) for request 1
 Processing the accounting section of radiusd.conf
modcall: entering group accounting for request 1
rlm_stg: stg_accounting()
Acct-Status-Type := Start
rlm_stg: stg_accounting() Service-Type defined as 'Framed-User'
 modcall[accounting]: module "stg" returns ok for request 1
modcall: leaving group accounting (returns ok) for request 1
Sending Accounting-Response of id 116 to 10.9.1.7 port 36399
Finished request 1
Going to the next request
--- Walking the entire request list ---
Waking up in 5 seconds...
--- Walking the entire request list ---
Cleaning up request 0 ID 115 with timestamp 4cef7f53
Waking up in 1 seconds...
--- Walking the entire request list ---
Cleaning up request 1 ID 116 with timestamp 4cef7f54
Nothing to do.  Sleeping until we see a request.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...