在学习FreeRadius2中遇到的问题,和解决。 使用的是2.2 版本,测试的系统是Centos6.7
radtest 没有响应
radiusd 启动正常,测试如下命令不好使
[root@orangleliu raddb]# radtest alice passme 127.0.0.1 100 testing123
radclient:: Failed to find IP address for orangleliu
radclient: Nothing to send.
这个问题就是主机是 orangleliu
可是呢,radtest找不到对应的IP,解决办法是 添加 /etc/hosts
一个记录
cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 orangleliu
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
仔细思考下,这个问题可能和 radiusd 服务启动绑定有关。radtest 模拟的是个NAS设备,这个请求都没发出去,说明跟Radius服务器关系不大,应该是radtest某些机制 。问题解决了,原因没找到。
user配置错误无法启动
这个一般就是学习的时候才会发生,错误日志大概这样子
....
/etc/raddb/users[3]: Syntax error: Previous line is missing a trailing comma for entry alice
Errors reading /etc/raddb/users
/etc/raddb/modules/files[7]: Instantiation failed for module "files"
/etc/raddb/sites-enabled/default[170]: Failed to load module "files".
/etc/raddb/sites-enabled/default[69]: Errors parsing authorize section.
其实根据提示就能知道个大概了,我这里是user配置错了
错误的
"alice" Cleartext-Password := "passme"
Framed-IP-Address = 192.168.59.103
Reply-Message = "Hello, %{User-Name}"
right one
正确的
"alice" Cleartext-Password := "passme"
Framed-IP-Address = 192.168.59.103,
Reply-Message = "Hello, %{User-Name}"
看到了吗,就是第二行少了个逗号,语法问题,所以文档看仔细喽
配置多个数据库
例如 多个NAS 服务于不同的系统,用户数据并不统一,而是分布在多个数据库中, 又或者是认证和计费的数据库不在一起(也许有吧。。)
配置方法请 参考freeradius-checking-account-on-multiple
测试了下,挺好使。