CentOS下搭建radius服务器进行EAP认证
CentOS 下搭建radius服务器进行EAP认证
Radius服务器端IP:10.0.12.38
AP端IP:10.0.12.39
一、安装mysql
#yum install mysql;
#yum install mysql-server
#yum install mysql-test
二、安装freeradius
#yum install freeradius
#yum install freeradius-mysql
安装完freeradius过后,测试freeradius是否安装成功。测试需要用户,因此先将/etc/raddb/users文件打开,将steve前的#去掉,变成:
steve Cleartext-Password := "testing"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = ,
Framed-IP-Netmask = .0,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "",
Framed-MTU = 1500,
Framed-Compression = Van-Jacobsen-TCP-IP
这样就有了用户steve及密码testing,可以进行测试了。
先启用radius:
#radiusd -X
如果程序正常运行,最后三行如下
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
# radtest steve testing localhost 1812 testing123
最后的testing123是在/etc/raddb/中定义的localhost的密码。
如果结果中出现Access-Accept,说明安装成功。
测试完成后将steve用户再恢复原样,即加上#注释
三、freeradius和mysql的集成
首先要启用mysql:
#/etc/rc.d/init.d/mysqld status 查看mysql是否已启动,如果没有
#/etc/rc.d/init.d/mysql start 启动mysql,然后:
(a)、创建数据库
# mysqladmin -u root -p create radius
(b)、将radius中的sql表导入到mysql的radius数据库中
# mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql
# mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql
# mysql -u root -p radius < /etc/raddb/sql/mysql/ippool.sql
# mysql -u root -p radius < /etc/raddb/sql/mysql/wimax.sql
(c)、授权
# mysql -u root –p
mysql> GRANT SELECT ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radpass';
mysql> GRANT ALL on radius.radacct TO 'radius'@'localhost';
mysql> GRANT ALL on radius.radpostauth TO 'radius'@'localhost';
//注意这里要选择radius数据库,不然不成功
(d)加入一些组信息:
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask','=','255.255.255.255');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
//注意这里要选择radius数据库,不然后出现 no database use
(e)加入用户信息:
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES
('zhoulin', 'Password', '123456');
(f)然后把用户加到组里:
mysql> insert into radusergroup(username,groupname)
values('sqltest','user');
mysql> select * from radcheck where UserName='zhoulin';
+----+----------+-----------+----+---------+
| id | username | attribute | op | value |
+----+----------+-----------+----+---------+
| 1 | zhoulin | Password | == | 123456 |
四、配置文件的修改
1、在/etc/raddb/client.conf里面添加:
client 10.0.12.39{
secret = testing123
shortname = 10.0.12.39
}
2、在/etc/raddb/eap.conf中default_eap_type = md5改为default_eap_type = peap
3、在/etc/raddb/site-enable/default中注释掉files,取消注释sql。
authorize {
sql //去掉前面的注释#
#files //前面加上注释#,一定要加
}
preacct {
..
# files //前面加上注释#,一定要加
}
accounting {
...
sql //去掉前面的注释#
}
4、更改sql.conf,设置与mysql相关的信息:
server = "localhost" //mysql服务器地址
login = "root" //mysql登录用户名root
password = "123456" mysql登录root用户的密码,已修改为123456
五、测试修改是否正确
先启用radius:
#radiusd -X
用配置过的帐号进行测试:
#radtest zhoulin 123456 localhost 1812 testing123
出现Access-Accept,说明成功
六、配置AP的Web端
配置AP的IP: 10.0.12.39
进入openWRT 点击Network->Wifi->Wireless Security进行设置
七、配置XP端无线网络设置
使用winxp客户端来验证,需要修改无线配置如下
认证的时候会在右下方出现一个提示输入用户名密码的气球,单击输入。
附:在搭建环境和测试的中常见问题及解决方法。
1、当你用radiusd –X进入调试模式的时候出现:
Failed binding to authentication address * port 1812: Address already in use
/etc/raddb/radiusd.conf[240]: Error binding to port for 0.0.0.0 port 1812 说明radius已经被启动,执行ps –ef 查看radius 运行的进程号,然后Kill 掉该进行,再重启执行radiusd –X
2、默认mysql的密码是空,执行mysql –u root –p 出现输入密码的对话栏,
只需回车就行了
3、在给创建的数据库授权的时候,首先需要选择数据库,不然授权不会成功,
mysql> use radius;
4、当执行的radtest zhoulin 123456 localhost 1812 testing123 时,radius
调试模式提示没有用到数据库的时候,就需要到
/etc/raddb/site-enable/default 中查看sql是否被注销掉了, sql 一定不能被注销!
5、所有的步骤都执行完后,但是你的无线路由器始终不能连接成功。连接路由
器的时候,发现radius调试模式下没有出现相应的信息。如果radius服务器能ping通无线路由器,就说明radius服务器那边已经开启了防火墙,需要把防火墙关掉才能成功。service iptables stop
参考文件:
1、https://www.360docs.net/doc/0a536123.html,/translate?hl=zh-CN&sl=en&tl=zh-CN&u
=http%3A%2F%https://www.360docs.net/doc/0a536123.html,%2Farticles%2Fhowto_incr emental_setup_freeradius_server_eap_authentications&anno=2
2、https://www.360docs.net/doc/0a536123.html,/post/841
联系方式QQ:406715875