使用 freeRadius 进行 MySQL MAC 地址验证

Zac*_* S. 3 authentication mac-address ieee802.1x freeradius

我已经启动了 freeRadius 并使用 mysql 扩展运行。目前,我正在使用存储在文本文件中的 mac 地址来验证设备(根据http://wiki.freeradius.org/Mac-Auth)。我想将 mac 地址移至 mysql 数据库中。解决这个问题的最佳方法是什么?任何见解将不胜感激。

Zac*_* S. 5

想出了一个使用 SQL xlat 的方法。FreeRadius wiki 有一个额外的“导致 sql xlat 失败。解决方案如下:

转至FreeRadius wiki。您可以跳过标有“raddb/modules/file”和“raddb/authorized_macs”的部分。当您到达最后一部分“raddb/sites-available/default post-auth{}”时,请改用以下代码:

if("%{sql:SELECT COUNT(macaddr) FROM radmacauth WHERE macaddr ='%{User-Name}'}" > 0){
  ok
} 
else{
  reject
}
Run Code Online (Sandbox Code Playgroud)

您需要在 Radius 数据库中创建一个名为“radmacauth”的表,其中包含一个名为“macaddr”的字段。