Jump to content
Калькуляторы

freeradius, mikrotik с dhcp-сервером на нем, perl, mssql

freeradius-2.1.12-4

mikrotik 5.17

на микротике поднят dhcp-сервер, перед тем, как выдать адрес, микротик должен консультироваться с БД mysql, передавая туда в качестве входных параметров в разное время mac, ip коммутатора, порт коммутатора. Естественно, через freeradius.

На freeradius приходит запрос от микротика, с User-Name (mac) проблем никаких нет, можно использовать этот параметр при запросах к mysql базе, все ок.

А вот с коммутатором\портом (option 82) все хуже. Микротик кидает их в виде Agent-Circuit-Id = 0x000400c70009 (для примера).

попробовал прямо в sql запросе распарсить эту строку через conv, substring, right и пр. функции mysql. Но не тут-то было( Даже если пишешь в явной форме

select 2+2, то freeradius выдает не 4, а именно '2+2' при запуске -Xx.

Задействовал perl. Тут с парсингом никаких проблем... а вот как сделать запрос к mysql сложнее.... То-есть я решил сразу и example.pl обращаться к mysql и все проверять, в случае успеха делать $RAD_CHECK{'Auth-Type'} = "Accept";

или надо в перле просто распарсить, а потом юзать то, что sql.conf? тогда вопрос как)?

Edited by smile_2008

Share this post


Link to post
Share on other sites

если кому понадобится:

если на freeradius юзать perl, то отдельно sql.conf не надо, можно прямо из DBI: mysql устанавливать коннекты с базой, только юзать CLONE:

our $dbh ;

 

and then in CLONE

 

sub CLONE {

$dbh = DBI->connect("DBI:mysql:$database",$dbuser,$dbpass)

or die $DBI::errstr;

}

http://freeradius.1045715.n5.nabble.com/rlm-perl-CLONE-thread-identification-td2755054.html

Edited by smile_2008

Share this post


Link to post
Share on other sites

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.