我按照这个指令强制freeradius使用mysql数据库。
并在debugging模式下运行freeradius。 但是拒绝所有authentication。
mysql数据库:
mysql> select * from radcheck; + ---- + ---------- + ----------- + ---- + --------- + | id | 用户名| 属性| op | 值| + ---- + ---------- + ----------- + ---- + --------- + | 1 | testing| 密码| == | test123 | | 2 | testing| Auth-Type | == | 本地| + ---- + ---------- + ----------- + ---- + --------- + 设置2行(0.02秒)
radtest命令:
#radtest test test123 localhost 0 testing123
将ID 235的访问请求发送到127.0.0.1端口1812
User-Name =“test”
User-Password =“test123”
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv:来自主机127.0.0.1端口1812的访问 - 拒绝包,ID = 235,长度= 20
半径debugging模式日志:
rad_recv:来自主机127.0.0.1端口51034的访问请求数据包,id = 235,长度= 74
User-Name =“test”
User-Password =“test123”
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0xbf111cbbae24fb0f0a558bfa26f53476
#执行文件/ usr / local / etc / raddb / sites-enabled / default中的节授权
+ - 进入组授权{...}
++ [预处理]返回OK
++ [chap]返回noop
++ [mschap]返回noop
++ [摘要]返回noop
[后缀]在User-Name =“test”中没有“@”,查找领域NULL
[后缀]没有这样的领域“NULL”
++ [后缀]返回noop
没有EAP消息,没有EAP
++ [eap]返回noop
++ [文件]返回noop
++ [过期]返回noop
++ [logintime]返回noop
[pap]警告! 没有为用户find“已知的好”密码。 validation可能因此失败。
++ [pap]返回noop
错误:未find请求的身份validation方法(身份validationtypes):拒绝用户
无法validation用户。
使用后validationtypes拒绝
#从文件/ usr / local / etc / raddb / sites-enabled / default中执行组
+ - input组REJECT {...}
[attr_filter.access_reject]展开:%{用户名} - >testing
attr_filter:第11行的匹配项DEFAULT
++ [attr_filter.access_reject]返回更新
推迟拒绝请求20 1秒
去下一个请求
在0.9秒醒来。
发送延迟拒绝请求20
将ID 235的访问拒绝发送到端口51034的127.0.0.1
在4.9秒醒来。
清理请求20 ID 235,时间戳+4325
准备好处理请求。
问题在哪里,我该如何解决?
可能是一个愚蠢的问题,但你有没有注释的路线
$INCLUDE sql.conf
?
我总是看到Cleartext-Password属性集,而不是Password ,并使用:=运算符,而不是== 。 另外,我相信设置Auth-Type几乎总是错误的,所以我build议你删除它。 在数据库表中尝试以下操作:
username="test", attribute="Cleartext-Password", op=":=", value="test123"