刚刚完成,记录一下。
相关说明:freeradius的版本是2.1.10,无线ap是TP-LINK的300M的,不过都不是重点。
1.安装
sudo apt-get install freeradius freeradius-mysql vim
sudo apt-get install mysql-server用mysql来存储相关数据,安装vim是为了使用语法高亮方便一点,不是必须的。
2.freeradius说明
控制开启和关闭的命令为:
sudo service freeradius start/stop 或
sudo /etc/init.d/freeradius start/stop调试的命令为:
sudo freeradius -X
配置文件在/etc/freeradius,安装时可能遇到的问题是权限不足无法访问,解决的办法是:
sudo chmod 755 -R /etc/freeradius
cd /etc/freeradius
3.freeradius测试
freeradius提供了测试功能,命令是
radtest Username Password ServerIP Port Secretfreeradius默认是不是用数据库的,用户信息,保存在users
sudo vi users找到下图中的内容,反注释掉
测试的时候,开两个终端,一个终端是服务器,另一个是客户机,输入
radtest steve testing localhost 1812 testing1231812是默认端口,testing是用来验证身份的,在clients.conf中写明
如果出现Access Accept的提示,测试成功!
4.建立数据库
本来freeradius已经写好一套相关的sql文件,用户不用自己创建,直接导入即可,但是不知道为什么,使用自动创建的数据库插入数据的时候,提示权限不足,原因不明。所以干脆自己动手。
用root登陆数据库
mysql -uroot -p输入安装时设置的密码
建立radius数据库
create database radius;将权限分配给超级管理员radius,同时设置密码
grant all on radius.* to radius@localhost identified by radpass;在用户信息的表中插入一条数据
insert into radcheck (username,attribute,value,op) values('test','Cleartext-Password','test123',':=');
5.mysql连接
将上图中的内容注释掉,同时我们需要修改相关配置文件,启用数据库
相关的文件有:radiusd.conf:大概85%的地方,将INCLUDE sql.con反注释
sql.conf :确保database的值是mysql,同时注意到数据库名称radius,管理员radius和密码radpass。
sites-available/default :将authorize字段下的files注释掉,sql反注释,accounting和session,post-auth字段下的sql反注释
sites-available/inner-tunnel:将authorize地段下的files注释掉,sql反注释,session和post-auth字段下的sql反注释
clients.conf:需要添加ap的信息
clients 192.168.6.0/24 {//AP所在网段,如果知道具体地址,也可以写地址
secret = testing123//随意写,只需和AP中的secret相符即可
require_message_authenticator = no//为了兼容性,以防万一
}设置完这些,可以用radtest再测试一下。
6.配置ap
比较简单,选择WPA/WPA2方式,写明radius服务器的ip地址,注意要能访问的到,端口写1812,密码写testing123,保存。