我已经在服务器上安装了 freeradius 3,并且我尝试通过
测试 chapradtest -t chap ahmed test localhost 1812 testing123
我收到了“访问-接受”。
但是当我尝试使用相同的凭据通过强制门户进行连接时,它通过 PAP 进行身份验证,导致保存在 radpostauth 表中的密码保存为明文,这意味着 radius 是通过 PAP 进行身份验证的。
我还在文件 sites-enabled/default 的 Authentication 部分中阅读了该内容
本节列出了哪些模块可用于身份验证。 请注意,它并不意味着“按顺序尝试每个模块”。它的意思是 “授权”部分的模块添加了配置 属性“Auth-Type := FOO”。该身份验证类型是 用于从下面的列表中选择适当的模块。
当我尝试添加时
Auth-Type := CHAP
里面的身份验证是这样的
authenticate
{
Auth-Type := CHAP
}
它给了我一个错误
/etc/raddb/sites-enabled/default[452]: Entry is not a reference to a module
/etc/raddb/sites-enabled/default[444]: Errors parsing authenticate section.
那么我应该在哪里告诉 Radius 仅使用 CHAP 进行身份验证??
因为您发明了语法,而不是遵循文件中已有的示例。
您只需列出:
authorize {
chap
...
}
authenticate {
chap
}
而且它会工作得很好。
如果你想从sql表中拉取记录
authorize {
update control {
Cleartext-Password := "%{sql:SELECT <query to get password>}"
}
chap
}