FreeRadius + Daloradius + Ubuntu Server 实现的无线802.1x的radius验证
介绍
FreeRadius 是目前开源应用中使用最广泛的软件。它支持目前普遍使用的各种验证协议,服务器是运行在PHP为基础的web平台上提供一种叫dialupadmin的用户管理工具。它为近500家企业提供了AAA访问需求提供了免费的解决方案。
daloRADIUS是高级的RADIUS页面管理应用目的是对于hotspots和ISP的部署进行管理。同时还提供了用户管理,图形化的报告、报表引擎以及于google地图的集成。
背景知识:
-基础的Linux命名行
-基础的网络知识
实现的软件环境:
OS: Ubuntu Server 14.04.1 LTS
Daloradius 0.9.9
LAMP
无线物理设备:
Zebar AP7522,只要是支持802.1x验证的无线设备都可以
安装LAMP
-Ubuntu服务器安装,运行下列命令:
sudo apt-get update #安装更新
sudo apt-get upgrade #安装升级
-Apache2: sudo apt-get install apache2
-PHP5: sudo apt-get install php5
sudo service apache2 restart
-Mysql 服务器:sudo apt-get install mysql-server
所有安装过程中可能需要你提供root的密码,下一步就是安装php和mysql的连接模块
sudo apt-get install php5-mysql
sudo service apache2 restart
Obs! 出现了一个错误提示,根据网络搜索必须要在/etc/apache2/apache2.conf中添加一行。命令如下:
sudo vim /etc/apache2/apache2.conf
然后添加 ServerName localhost
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2start
之后错误消失,系统一切正常。
安装配置FreeRadius
现在开始重头戏对freeradius软件的安装和配置。
sudoapt-get install freeradius-mysql freeradius-utils
下一步打开/etc/freeradius/eap.conf做一些配置修改。
sudo nano /etc/freeradius/eap.conf
default_eap_type = peap
现在对这个文件作一些修改/etc/freeradius/modules/mschap
sudo nano /etc/freeradius/modules/mschap
对下面的配置脚本去掉标注符号#:
use_mppe = yes
require_encryption = yes
require_strong = yes
with_ntdomain_hack = yes
保存文件并且用这条命令检测: sudoldconfig
创建验证数据库
$:mysql -u root -p
mysql> create database radius;
mysql> create user‘freeradius’@’localhost’ identified by ‘radius123’;
mysql> grant all on radius.* to‘freeradius’@’localhost’ identified by ‘radius123’;
mysql> flush privileges;
mysql> exit;
使用freeradius提供的标准库导入数据库路径/etc/freeradius/sql/mysql/
mysql -u freeradius -p radius </etc/freeradius/sql/mysql/schema.sql
mysql -u freeradius -p radius </etc/freeradius/sql/mysql/nas.sql
键入mysql的用户名和密码,用户名freeradius密码radius123
如果出现权问题可以用下面的授权命令来解决
sudo chmod 777/etc/freeradius/sql/mysql/schema.sql
sudo chmod 777/etc/freeradius/sql/mysql/nas.sql
下一步是更改freeradius对应的mysql配置文件,打开/etc/freeradius/sites-available/default
sudo nano /etc/freeradius/sites-available/default
取消以下的标注
in authorize section uncomment sql
in session section uncomment sql
in post-auth section uncomment sql
in accounting section uncomment sql
and comment files in authorize section #files
保存并且退出,下一步修改sql的配置文件加入登录的用户名和密码
login = “freeradius”
password = “radius123”
取消标注 readclient = yes
保存并退出下一步取消以下的标注:
sudo nano /etc/freeradius/radiusd.conf
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
保存后打开:
sudo nano /etc/freeradius/sites-available/inner-tunnel
在authorize section中取消标注 sql
保存退出重启freeradius。
安装和配置Daloradius
安装extra包
sudo apt-get install php-db php-pear php5-gd
下载Daloradius安装包
wget http://sourceforge.net/projects/daloradius/files/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
tar zxvf daloradius-0.9-9.tar.gz
– 在radius数据库中导入daloradius的数据库模版password radius123.
mysql -ufreeradius -p radius <daloradius-0.9-9/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
– 输入数据库用户名和密码
sudo nano daloradius-0.9-9/library/daloradius.conf.php
$configValues[‘CONFIG_DB_USER’] = ‘freeradius’;
$configValues[‘CONFIG_DB_PASS’] = ‘radius123’;
移动Daloradius:
sudo mv daloradius-0.9-9 /var/www/html/daloradius
安装phpmyadmin:sudo apt-get install phpmyadmin
Obs!C安装过程中弹出phpmyadmin数据库配置, 选择NO, 数据库已经在上一步配置过了.
测试打开网站
http://myserver/daloradius myserver请根据自己server的IP地址作替换。
登录用户名administrator秘密是radius.
现在你就可以建用户和服务了不过别忘记重启一下freeradius服务.
sudo service freeradius restart
可能会遇到的问题
-FreeRadius PID重启错误
解决方案:sudo killall freeradius & sudo service freeradiusstart
-Debug 模式: sudo freeradius–x
-NAS 设备没有正确的加到freeadius/clients.conf文件中
sudo nano /etc/freeradius/clients.conf
client 192.168.0.1/24
{
secret = password
shortname =tp
}
AP配置
WPA/WPA2 – Enterprise
Version:
Encryption:
Radius Server:你的服务器IP地址
Radius Port: 1812
Radius password:根据你在NAS或者Clients.conf配置文件中的设定。