freeradius简介:
freeradius一般用来进行账户认证管理,记账管理,常见的电信运营商的宽带账户,上网账户管理,记账,都是使用的radius服务器进行鉴权记账的。
daloradius简介:
一个FreeRADIUS的Web挂历程序。
准备工作(我这里是虚拟机):
主机地址为172.17.250.177
1,一台Centos系统的计算机#地址是172.17.250.189
2,一台ROS#第一个地址是172.17.250.190 第二个地址是内网地址。
3,一台客户机#地址是内网地址
第一步,安装Freeradius
1,安装需求包
yum -y install httpd mysql mysql-devel mysql-server php php-mysql php-gd php-imap php-odbc php-pear php-xml php-xmlrpc
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel
2,简单设置下http和mysql
chkconfig httpd on #将http设置永久开启
chkconfig mysql on #将mysql设置永久开启
/etc/init.d/httpd start #启动http
/etc/init.d/mysqld start #启动mysql
mysqladmin -u root password yuzhijian #设置mysql的root密码是yuzhijian
vi /var/www/html/test.php#建立php测试文件,保存退出
<?php phpinfo(); ?>
setenforce 0 #关闭selinux
service iptables stop#关闭防火墙
用主机访问http://172.17.250.189/test.php
出现这个页面就可以了。
第二步,安装raidus,并配置mysql
1,安装并测试raidus
yum install -y freeradius freeradius-mysql freeradius-utils #安装radius
vi /etc/raddb/users #配置本地用户测试
radius testuser Cleartext-Password := "testpassword" #在文件的最后一行加入 ,保存退出
/etc/init.d/radiusd restart #重启radius服务
radtest testuser testpassword localhost 1812 testing123
#测试radius服务器的配置,如果看到下面内容,说明服务器配置成功
2,radius配置mysql验证
cp /etc/raddb/clients.conf /etc/raddb/clients.conf.bak #备份radius的客户端配置文件
grep -v \# /etc/raddb/clients.conf.bak > /etc/raddb/clients.conf #将clients.conf.bak 中的注释行过滤掉,并输出到clients.conf中
vi /etc/raddb/clients.conf #编辑客户端文件,内容如下
vi /etc/raddb/users #编辑用户文件,注释掉刚才添加的测试用户
# testuser Cleartext-Password := "testpassword" #将该测试用户注释掉
cp /etc/raddb/sql/mysql/admin.sql /etc/raddb/sql/mysql/admin.sql.bak #备份admin.sql文件
grep -v ^# /etc/raddb/sql/mysql/admin.sql.bak > /etc/raddb/sql/mysql/admin.sql #将admin.sql.bak 中的注释行过滤掉并输出到admin.sql中
vi /etc/raddb/sql/mysql/admin.sql #修改admin.sql文件,内容如下
CREATE USER 'radius'@'localhost';
SET PASSWORD FOR 'radius'@'localhost' = PASSWORD('radpass');
GRANT ALL ON radius.* TO 'radius'@'localhost';
#以上内说明“ 数据库为radius,密码为radpass”如果要自己设置,设置完成后还要修改sql.conf把密码改为自己设置的
vi /etc/raddb/sql.conf #找到
#login = "radius" ---> 登录用户名,可以在这里修改登录radius数据库的用户名
#password = "radpass" --->登录用户密码 ,可以在这里修改登录radius数据库的密码
3,导入radius数据库
mysql -u root -p #登录mysql数据库,输入之前设置的root密码。
create database radius; # 创建radius表
exit; #退出mysql数据库
mysql -u root -p radius < /etc/raddb/sql/mysql/admin.sql
#输入这行的时候,可能会出现
“ ERROR 1396 (HY000) at line 2: Operation CREATE USER failed for 'radius'@'localhost' ”
这个表示radius帐号已经存在,可以不用理会。
mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql #导入schema.sql 文件
mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql #导入nas.sql文件
mysql -u root -p radius < /etc/raddb/sql/mysql/ippool.sql #导入ippool.sql文件
mysql -u root -p #登录mysql数据库。
flush privileges; #使刚才导入的配置生效
#
使刚才导入的配置生效
vi /etc/raddb/radiusd.conf #编辑radius配置文件,使其使用sql认证,去掉前面的#号
$INCLUDE sql.conf #保存退出
vi /etc/raddb/sql.conf #修改sql.conf,只修改下面的内容
server = "localhost"
port = 3306
login = "radius"
password = "radpass"
radius_db = "radius"
readclients = yes #保存退出
4,修改认证的方式。
vi /etc/raddb/sites-enabled/default #编辑radius默认的认证文件
# authorize { --->找到这一行,将其注释掉,并把结束的“}”也注释掉 # }
# accounting { ---->找到这一行,将其注释掉,并把结束的“}”也注释掉 # }
# session { ---->找到这一行,将其注释掉,并把结束的“}”也注释掉 # }
#然后到文件的末尾添加如下内容,保存退出
authorize { preprocess
chap
mschap
suffix
eap
sql
pap }
accounting { detail
sql }
session { radutmp
sql }
5,插入测试数据 。
mysql -u root -p #登录mysql数据库
use radius; #使用radius库
INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('user1', 'Password','password1'); #插入测试帐号“user1”和“password1” exit; #退出mysql数据库
radtest user1 password1 localhost 1812 testing123 #用测试帐号测试一下radius的mysql认证是否成功,如果看到下图的内容,则说明已经配置成功了
第三步,安装daloradius。
wget http://download.pear.php.net/package/DB-1.7.14RC2.tgz #下载软件包
pear install DB-1.7.14RC2.tgz #安装软件包
wget http://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz #下载软件包
tar -zxvf daloradius-0.9-9.tar.gz #安装软件包
mv daloradius-0.9-9 daloradius #将文件daloraidus-0.9-9重命名
cp -rf daloradius/* /var/www/html/ #复制daloradius/*所有文件到html下
chown apache:apache -R /var/www/html/ #将html文件夹极其下面的所有文件设置为apache组和apache用户所拥有
chmod 644 /var/www/html/library/daloradius.conf.php #将daloraidus.conf.php文件的权限设置为rw-r--r--
cd /var/www/html/contrib/db/ #进入/var/www/html/contrib/db/目录
mysql -u root -p radius < mysql-daloradius.sql #将mysql-daloradius.sql 导入到mqsql中radius数据库中
vi /var/www/html/library/daloradius.conf.php #修改daloradius.conf.php ,将以下涉及到的内容更改,其他的别动
$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'testing123';#最重要这条·,保存退出。
touch /tmp/daloradius.log #建立daloraidus的日志文件
chown apache.apache /tmp/daloradius.log #将其文件设置为apache组及apache用户拥有
安装完后打开Http://172.17.250.189 就可以看到daloradius了,登录的用户名密码为 username: administrator password: radius
第四步,进行ROS PPPOE验证
1,添加RADIUS客户端:
vi /etc/raddb/clients.conf#新加一个客户端
2,ROS下PPPOE服务器配置
ip pool add name=pppoe ranges=192.168.2.2-192.168.2.254 #新建PPPOE客户端IP池
ppp profile set default local-address=pppoe remote-address=pppoe dns-server=8.8.8.8,4.4.4.4 #新建PPPOE模板
interface pppoe-server server add service-name=pppoe interface=ether2 authentication=pap \default-profile=default one-session-per-host=yes keepalive-timeout=10 disabled=no#开启并设置PPPOE服务器
ppp secret add name=user password=passwd service=pppoe #使用本地pap验证,新建PPPOE用户
3,ROS端配置使用RADIUS验证:
ppp aaa set use-radius=yes #允许使用RADIUS认证
radius add address=192.168.1.22 secret=root service=ppp authentication-port=1812 \
accounting-port=1813 disabled=no #设置RADIUS服务器地址,验证端口,验证服务
radius incoming set accept=yes port=1700 #允许RADIUS端断开用户PPP连接
4.daloRADIUS端配置,新建NAS,即ROS客户端:
Management——Nas
5,新建用户,即PPPOE客户:
Management——users
6,下面的xp客户机连接ros拨号