我知道我可能面临一个不可能完成的任务。我想要的是radidd写下在访问请求中收到的每个mac,以便稍后拒绝访问这些MAC。
我知道策略文件是用 unlang 编写的,坏消息是 radiusd 对任何 conf 文件都没有任何写权限......
无论如何,是否有人能够在 FreeRADIUS 的政策处理中写入文件?
我想要实现的是这样的:
raddb/站点可用/默认
authorize {
rewrite_calling_station_id
unauthorized_macs
if(ok) {
reject
}
else {
update control {
Auth-Type := Accept
}
GET MAC FROM CALLIN_STATION_ID ATTRIBUTE
WRITE THIS F***ING MAC TO unauthorized_macs FILE
}
}
感谢 Arran,我可以通过以下方式解决这个问题:
authorize {
rewrite_calling_station_id
authMac
if(ok) {
reject
}
else {
linelog
update control {
Auth-Type := Accept
}
}
}
其中linelog配置如下: raddb/mods-enabled/linelog
linelog {
filename = /path/to/hell/authMac
format = "%{Calling-Station-ID}"
}