Jump to content

Recommended Posts

Posted (edited)

Собственно сабж:

имеется:

FreeRADIUS2

MySQL

 

в MySQL -- таблица соответствия логин--пароль--IP

 

При передачи запроса на авторизацию в Access-Request передаётся помимо имени пользователя/пароль передаётся Calling-Station-ID, содержащие MAC-адрес клиента

Нужно при успешном прохождении аутентификации запомнить МАК в таблицу

Затем по приходу DHCP-запроса с клиента через модуль SQL выполнить что то типа DHCP-Client-IP-Address:=SELECT ip FROM athtbl WHERE MAC='%{DHCP-Client-Identifier}'; при этом если запрос вернёт отсутствие совпадений, то надо выделить произвольный IP из диапазона 192.168.0.1/24, не занятый и пометить его занятие и соответствующие ему маски и шлюз;

и отправить в ответ необходимые параметры:

DHCP-Client-IP-Address;

DHCP-Router-Address:=192.168.1.1;

DHCP-Domain-Name-Server:=8.8.8.8, 8.8.4.4;

DHCP-Subnet-Mask:=255.255.255.0;

 

как я понимаю, rlm_sql уже это поддерживает?:

http://freeradius.1045715.n5.nabble.com/dhcp-integrated-in-rlm-sql-td4726284.html#a4726880

или это не то и я не въехал, или патч не включён в релиз?

 

С конфигом упорно ничего хорошего не получается :(

 

Помогите составить конфиг, плз, я явно торможу....

Edited by NewUse
Posted

Забейте на модули и сделайте что вам нужно на анленге.

 

ДХЦП сервер лучше не фрирадиусный юзать, а взять мой перловый или на сях, тоже на этом форуме обсуждается.

 

 

Posted

а можно простенький примерчик аналогичного конфига (как на un-lang-е вызывать SQL в присвоении параметра? и как быть с iopool? )

Posted

В радиус конф:

 

modules {

sql acc_sw_sql {

#

# Set the database to one of:

#

# mysql, mssql, oracle, postgresql

#

database = "mysql"

 

 

...

 

instantiate {

 

 

...

 

acc_sw_sql

 

...

 

}

 

 

 

 

В отдельном файле, который в сайтес енаблед:

 

# Process the request

 

 

update control {

Tmp-Integer-0 = "%{acc_sw_sql: SELECT level FROM device_admins WHERE login = '%{request:User-Name}' AND passwd = '%{request:User-Password}'}"

}

 

if ("%{control:Tmp-Integer-0}" != 0) {

 

 

....

 

 

 

 

Устанавливать не пробовал (или забыл чем кончилось).

 

На крайний случай есть перловый модуль, в котором что угодно можно вытворять.

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.