Posted on 2013-09-14 20:19
H2O 阅读(735)
评论(0) 编辑 收藏
freeradius
freeradius一般用来进行账户认证管理,记账管理,常见的电信运营商的宽带账户,上网账户管理,记账,都是使用的radius服务器进行鉴权记账的。
Freeradius包含一个radius服务器和radius-client,可以对支持radius协议的
网络设备进行鉴权记账,常见的开源路由器操作系统:如Openwrt,DD-wrt等,都支持radius协议,对PPPOE,热点,VPN等服务器进行账户管理认证,记账。
freeradius功能十分强大,支持众多的数据库。
Freeradius操作稍显麻烦,内置diaup_admin简单web管理,需要更简单易用的管理功能可以使用第三方的管理程序对Freeradius进行账户管理,
系统配置等
官网:
http://freeradius.org/download.html下载地址:
ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.0.tar.gz配置:
tar zxvf
freeradius-server-2.2.0.tar.gz
cd freeradius-server-2.2.0
./configure
make
make install
安装完后,可以使用命令#radiusd -x 进入radiusd服务器的调式,
安装成功后freeradius的配置文件的路径是:usr/local/etc/raddb/
日志文件的路径是:usr/local/var/log
测试freeradius是否安装成功:
取消/etc/raddb/users从steve开始到Framed-Compression = Van-Jacobsen-TCP-IP为止的注释符 # radtest steve testing localhost 1812 testing123 出现Access-Accept字样则说明成功。 测试成功后 把/etc/raddb/users那些去掉的注释符改回去。
Radiusd.conf 主要是定义环境变量和其他配置文件和日志文件的位置
Clients.conf 用来配置哪些NAS可以访问radius
Eap.conf 用来配置与eap相关的参数,如使用哪种认证方法
Users 包含了每个用户的配置和认证信息
登陆mysql #mysql -u root -p
创建数据库:creat database radius
进入usr/local/etc/raddb/sql/mysql下
#mysql -u root -p radius <scheme.sql 把表导入到数据库中
导入后,可以在用命令
#use radius
#show tabels;查看到导入的数据库表
修改usr/local/etc/raddb/site_enabled下的defoult文件,把authorize{} 、accounting {}中的sql前面的 #去掉,并把authorize{} 中的files前加#;
修改与mysql数据库连接的配置文件/usr/local/etc/raddb/sql.conf,
server = "localhost"
login = "root"
password = "数据库root的登陆密码111111"
radius_db = "radius" //radius为数据库名
修改客户端信息配置文件:/usr/local/etc/raddb/clients.conf
添加
Client 127.0.0.1 {
secret = testing123
shortname = localhost
nastype = other
}
修改radiusd.conf 去掉#include sql前的注释
建立用户信息:
mysql> insert into radcheck (username,attribute,op,value) values (‘zhang','User- Password',':=',‘user');
将用户加入组中:
mysql> insert into usergroup (username,groupname) values (‘zhang','user');
输入命令
#radiusd –X
再打开一个终端输入命令
#radtest zhang user localhost 0 testing123
Sending Access-Request of id 222 to 127.0.0.1 port 1812
User-Name = “zhang"
User-Password = “user"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=222, length=38
Service-Type = Framed-User
Framed-IP-Address = 255.255.255.255
Framed-IP-Netmask = 255.255.255.0
如果显示如上信息,,freeradius和mysql安装配置成功。
1、sql方式测试
用MySQL数据库中加入的用户进行测试
执行命令,启动Freeradius的调试模式:
#Radiusd -X
另开终端执行命令,测试新增的用户: radtest zhang user localhost 0 testing123
测试成功话会收到下面信息
Sending Access-Request of id 113 to 127.0.0.1 port 1812 User-Name = “zhang" User-Password = “user" NAS-IP-Address = 127.0.1.1 NAS-Port = 0 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=113, length=20
2、测试SQL方式的EAP-MD5
执行命令
( echo "User-Name = /"sqluser/""; echo "Cleartext-Password = /"it580.com/""; echo "EAP-Code = Response"; echo "EAP-Id = 210"; echo "EAP-Type-Identity = /"sqluser/""; echo "Message- Authenticator = 0×00"; ) | /usr/local/bin/radeapclient -x 127.0.0.1 auth testing123
如果得到下面的结果说明测试成功
EAP-Id = 211 EAP-Code = Success