FreeRadius+Mysql+EAP认证身份认证系统安装及配置


使用FreeRadius,Mysql及EAP认证可以搭建用于无线、有线、VPN链路等的统一身份认证系统。

环境:Ubuntu 8.04.2-Server

各软件版本:

安装

**1.Mysql
**

执行命令:

sudo apt-get install mysql-server mysql-common mysql-client

2.OpenSSL

执行命令:

sudo apt-get install openssl libssl0.9.8 libssl-dev ca-certificates

3.FreeRadius

执行命令:

sudo apt-get install  debhelper  libltdl3-dev libpam0g-dev libmysqlclient15-dev build-essential libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp autotools-dev dpatch  libperl-dev libtool dpkg-dev libpq-dev libsnmp-dev

cd /usr/local/src/

sudo wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.6.tar.gz

sudo tar -xzvf freeradius-server-2.1.6.tar.gz

cd freeradius-server-2.1.6

sudo ./configure –prefix=/usr/local/freeradius

sudo make

sudo make install

配置

1.Mysql

执行命令:

mysqladmin -u root -p create radius

mysql –u root –p radius < /usr/local/freeradius/etc/raddb/sql/mysql/schema.sql

配置权限:

mysql –u root –p

grant all on radius.* to radius@localhost identified by “it580.pass”;

exit

2.FreeRadius

执行命令:

sudo nano /etc/ld.so.conf

加入如下内容:

include /usr/local/freeradius/lib

执行命令:

sudo ldconfig

adduser radiususer

sudo chown -R radiususer:radiususer /usr/local/freeradius/

执行如下命令,看FreeRadius是否能够启动起来

sudo /usr/local/freeradius/sbin/radiusd –X

如果看到如下内容,说明FreeRadius启动正常。

Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /usr/local/freeradius/var/run/radiusd/radiusd.sock
Listening on proxy address * port 1814
Ready to process requests.

执行测试一(1.User文件方式认证),确认radius user方式认证正常。

通过后开始加入数据库支持。

执行命令:

nano /usr/local/freeradius/etc/raddb/sql.conf

修改里面的用户名和密码:

login = “radius”
password = “it580.pass”

执行命令,编辑radiusd.conf:

nano /usr/local/freeradius/etc/raddb/radiusd.conf

首先,将执行Freeradius的用户修改为:

user = radiususer
group = radiususer

开启sql支持,将以下的内容前的#去除:

$INCLUDE sql.conf

执行命令,编辑default:

nano /usr/local/freeradius/etc/raddb/sites-available/default

将以下的内容前的#去除:

sql

执行测试二(2.SQL方式认证),确认radius SQL认证正常。

通过后开始启动EAP支持。

检查/usr/local/freeradius/etc/raddb/sites-available/default,eap前的#是否去除。可以使用如下命令:

cat /usr/local/freeradius/etc/raddb/sites-available/default |grep -v ‘#’

执行测试三(3.EAP-MD5方式认证),确认radius EAP-MD5认证正常。

通过后开始启动EAP-PEAP。

执行命令:

nano /usr/local/freeradius/etc/raddb/eap.conf

修改md5为peap,显示如下,并保存:

default_eap_type = peap

检查证书是否存在,使用命令:

ls /usr/local/freeradius/etc/raddb/certs/*.pem

如果没有ca.pem文件,就执行命令,如果有的话,请不必执行该命令:

/usr/local/freeradius/etc/raddb/certs/bootstrap

执行测试四(4.EAP-PEAP方式认证),确认radius EAP-PEAP认证正常。

通过后开始启动EAP-TTLS-MD5。

执行命令:

nano /usr/local/freeradius/etc/raddb/eap.conf

修改peap为ttls-md5,显示如下并保存:

default_eap_type = ttls

执行测试五(5.TTLS-MD5方式认证),确认radius TTLS-MD5认证正常。

通过后开始启动TTLS-MSCHAPV2。

执行命令:

nano /usr/local/freeradius/etc/raddb/eap.conf

修改md5为mschapv2,显示如下并保存:

default_eap_type = mschapv2

执行测试六(6.TTLS-MSCHAPV2方式认证),确认radius TTLS-MSCHAPV2认证正常。

全文完。

测试

1.User文件方式认证

执行命令:

nano /usr/local/freeradius/etc/raddb/users

在该文件底部加入如下内容,增加一个用户radiususer,密码为it580.com:

radiususer Cleartext-Password := “it580.com”

执行命令,启动Freeradius的调试模式:

/usr/local/freeradius/sbin/radiusd –X

执行命令,测试新增的用户:

/usr/local/freeradius/bin/radtest radiususer it580.com localhost 0 testing123

如果输出如下内容,说明该用户验证成功:

Sending Access-Request of id 180 to 127.0.0.1 port 1812
User-Name = “radiususer”
User-Password = “it580.com”
NAS-IP-Address = 127.0.1.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=180, length=20

2.SQL 方式认证

执行命令:

mysql –u radius –p radius

insert into radcheck(username,attribute,value,op) values(‘sqluser’,‘Cleartext-Password’,‘it580.com’,’:=‘);

执行命令,启动Freeradius的调试模式:

/usr/local/freeradius/sbin/radiusd –X

执行命令,测试新增的用户:

/usr/local/freeradius/bin/radtest sqluser it580.com localhost 0 testing123

如果输出如下内容,说明该用户验证成功:

Sending Access-Request of id 113 to 127.0.0.1 port 1812
User-Name = “sqluser”
User-Password = “it580.com”
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

3.EAP-MD5方式认证

执行命令,启动Freeradius的调试模式:

/usr/local/freeradius/sbin/radiusd –X

执行命

comments powered by Disqus