目前使用Freeradius 2.2.6 Linux CentOS release 6.9
目前Perl的程式已經寫好,但要把它塞進Freeradius中來進行authorize
但目前沒有頭緒該如何將資料傳進Perl程式中做確認
目前在site-enabled\default中有塞入perl,但似乎無法將參數塞入
ex. perl macfilter.pl %{Calling-Station-ID}
想請問語法該如何下?
有一陣子沒摸RADIUS了,不過FreeRADIUS的raddb/modules/perl預設是去呼叫raddb/example.pl,FreeRADIUS呼叫Perl時的引數印象中在$RAD_REQUEST{'xxxx'}中....
因目前是使用的程式是
authorize {
preprocess
rewrite_called_station_id
perl
if("%{sql:SELECT COUNT(*) FROM `radusergroup` WHERE username = '%{Calling-Station-ID}' AND groupname = '%{Called-Station-SSID}'}" >= 1){
ok
update control {Auth-Type := Accept}
}
else{reject }
想請問一下該如何將Calling-Station-ID丟到Perl做驗證?
Calling-Station-ID是FreeRadius呼叫Perl module時傳給module的,應該把參數放進Perl的變數就能驗啊(ex. my $station_id=$RAD_REQUEST{'Calling-Station-ID'},不過鵝其實也不熟Perl,上面的程式也是臨時抱佛腳出來的XD)....
後來測試出來了,跟跟你說的一樣,參數這樣帶入沒錯,只是大小寫要注意就是了