现在位置:首页 » linux技术部 » raspberry pi 安装 freeradius 对 ddwrt 的路由器进行 802.1X EAP验证

raspberry pi 安装 freeradius 对 ddwrt 的路由器进行 802.1X EAP验证

时间:2016-6-25 | 作者:楼台听枫雨 | 分类:linux技术部 | 评论(0) | 浏览(5958) | uedbet最新网站: raspberrypi Raspbian radius 802.1X


硬件及环境:
raspberry pi安装了rasbian,        IP地址设置为192.168.1.133
路由是941N v2,刷了ddwrt, IP地址设置为192.168.1.3
PC端安装的是win8,               IP地址设置为192.168.1.10

安装过程:
一、用putty登陆到cubian安装freeradius及必要的软件
1、安装sudo apt-get install freeradius freeradius-mysql php5
2、安装sudo apt-get install mysql-server
      安装过程中请自行配置root的密码
3、测试radius
   radtest sqltest testpwd localhost 1812 testing123
  若提示:
rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=19, length=20
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
     证明radius服务正常运行,只是拒绝访问,其中  sqltest testpwd 为错误的账号密码,testing123为默认的radius连接密码,可以在clients.conf文件中的secret更改。

4、添加允许访问radius的设备,在/etc/freeradius/clients.conf文件末尾处添加,一般是AP的地址,secret是AP连接radius的密码,由于后面需要用win8进行测试,所以我添加了client win8 这一项,请对应修改
#这是路由的
client router {
    ipaddr = 192.168.1.3
    secret = test
}
#这是win8下测试用的,测试成功后可以删除
client win8 {
    ipaddr = 192.168.1.10
    secret = test
}
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

 
二、启用MySQL模块支持
1、编辑/etc/freeradius/radiusd.conf,查找”sql.conf”,去掉#号,变成如下
  $INCLUDE sql.conf
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
2、修改/etc/freeradius/sql.conf,设置MySQL数据库的端口,radius数据库的用户名密码等内容。取消如下一行的注释,使FreeRadius从数据库读取客户端信息,变成如下
  readclients = yes
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

由于 /etc/freeradius/sql/mysql文件夹下的众多sql脚本文件用于构建FreeRadius的数据库,首先在admin.sql里修改数据库名称,用户名和密码等内容,这些内容必须 和/etc/freeradius/sql.conf的设置相同,我这里是使用默认的用户radius和默认radius名称的数据库,所以只用sed命令修改radius帐号的默认密码。

cd /etc/freeradius/sql/mysql
sudo sed -i 's/radpass/test/g' admin.sql
sudo sed -i 's/radpass/test/g' /etc/freeradius/sql.conf
其中admin.sql文件中radius的默认密码为radpass请把test修改为你需要的密码,此密码用作登陆mysql所用。 admin.sql修改后
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
sql.conf修改后
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

3、然后对/etc/freeradius/sites-enabled/default做如下修改
    找到authorize {}模块,注释掉files,去掉sql前的#号
    找到accounting {}模块,注释掉radutmp,注释掉去掉sql前面的#号。
    找到session {}模块,注释掉radutmp,去掉sql前面的#号。
    找到post-auth {}模块,去掉sql前的#号;    去掉Post-Auth-Type REJECT内的sql前的#号。
    对/etc/freeradius/sites-enabled/inner-tunnel做如下修改
    找到authorize {}模块,注释掉files,去掉sql前的#号。
    找到session {}模块,注释掉radutmp,去掉sql前面的#号。
    找到post-auth {}模块,去掉sql前的#号,去掉Post-Auth-Type REJECT内的sql前的#号。

4、创建radius数据库
首先修改/etc/freeradius/sql/mysql的权限,否则进不到里面创建数据表
sudo chmod 755 /etc/freeradius/sql/mysql
sudo chmod 644 /etc/freeradius/sql/mysql/*.sql

然后到cd /etc/freeradius/sql/mysql目录下
输入之前安装mysql时候的root的登录密码  mysql -u root -p
登陆后如此提示:
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
创建radius数据库,记得后面有个分号“;
create database radius;
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

然后通过导入SQL初始化数据库,依次执行
use mysql;
source admin.sql;
use radius;
source cui.sql;
source ippool.sql;
source nas.sql;
source schema.sql;
source wimax.sql;

然后插入一条测试radius用的账户跟密码到radius数据库中
insert into radcheck (username,attribute,op,value) values ('user1','Password','==','password1');
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

重启radius服务
sudo /etc/init.d/freeradius restart

测试radius服务
radtest user1 password1 localhost 1812 testing123

若出现
Sending Access-Request of id 155 to 127.0.0.1 port 1812
        User-Name = "user1"
        User-Password = "password1"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=155, length=20
证明radius调用mysql数据库,刚才插入的user1 password1验证成功。如下图:
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

但是现在还有一个问题,就是认证是在本地上进行的,其他机器调用本机的radius能否正常呢?所以上面在/etc/freeradius/clients.conf文件中添加了两个允许访问的客户
端,一个是路由的,一个是win8的,所以现在先在win8下测试能否远程调用radius。所需工具NTRadPing,填写如下:

RADIUS Server/port: 192.168.1.133     1812
RADIUS Secret key : test
User-Name:user1
Password:password1
Request type:Authentication Request

解析:RADIUS Server/port填写radius服务器的IP地址及端口
 
      RADIUS Secret key  就是填写在/etc/freeradius/clients.conf文件中client win8 的密码,这里是test 
      
      User-Name  就是插入到radius数据库表格radcheck的账号,这里是user1
    
      Password   就是插入到radius数据库表格radcheck的密码,这里是password1
若出现response:Access-Accept证明远程访问radius成功,如下图所示:
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

三、配置刷了ddwrt的路由
    
    1、先进入刷入ddwrt的路由,我这里路由的IP地址是192.168.1.3,先到“无线”->“基本设置”,我的设置图如下图所示,请自行修改“无线网络名(SSID)”,这里设置为AD。
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
2、然后选择“无线”>“无线安全”。

将显示“无线安全”页面。
“安全模式”选择“WPA2 Enterprise Mixed”选项卡。

“WPA算法”选择“TKIP+AES”
“Radius鉴权服务器地址”,输入 RADIUS 服务器的 IP 地址,这里就是cubietruck的IP地址。
Radius鉴权服务器端口”文本框中,输入RADIUS的端口号。 默认端口号为 1812。 
Radius鉴权共享秘钥 ”文本框中,输入无线路由和 RADIUS 服务器之间的共享密码。 这里设置为test
Radius Auth Backup Server Address ”这里输入 RADIUS 服务器的 IP 地址
Radius Auth Backup Server Port ”输入Radius服务器的端口。
Radius Auth Backup Shared Secret ”输入无线路由和 RADIUS 服务器之间的共享密码。 
“Radius计账”选用“禁用”。

按我理解,本来Radius Auth Back Up Server Address 、Radius Auth Backup Server Port 、Radius Auth Backup Shared Secret 这三项应该不用填的,因为这应该是“备份服务器”才需要设置的,但将IP设置为0.0.0.0会提示出错,所以直接填回cubietruck的Radius服务器IP地址、端口、秘钥了。
具体设置如下图所示:
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
四、配置手机,手提等无线客户端
Android手机,看到AD的信号了,并且提示通过802.1X进行保护,跟下面的WPA/WPA2保护不一样的
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share

输入测试用的user1和password1后按连接就可以了
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
cubietruck安装freeradius对刷了ddwrt的路由器进行802.1X EAP验证 - liaowake - collect share
本文固定链接:http://www.fengtec.net/?post=31
本文由楼台听枫雨原创或编辑,互联分享,尊重版权,转载请以链接形式标明本文地址

发表评论:

  • 最新文章

  • Deepin Linux 检测串口并查看串口消息
  • U-NAS 下VirtualBox虚拟化-自启动服务
  • 有办法自动整合VMware快照?
  • Linux下使用vsftp搭建FTP服务器实现文件共享
  • 转vSphere Data Protection 6.1.2部署与配置
  • 分类

  • 文艺(2)
  • 生活(0)
  • 技术空间(0)
  • linux技术部(36)
  • windows技术部(7)
  • vmware虚拟化技术部(5)
  • uedbet最新网站

  • 人类的意识从何而来
  • VMware
  • linux
  • vpn
  • centos
  • 7
  • mysql
  • 安装
  • iptables
  • ntp
  • SERVER
  • 2003域控
  • 2012域控
  • 2008R2
  • DFS分布式文件系统
  • raspberry
  • pi
  • rasbian
  • raspberrypi
  • Raspbian
  • vsftp
  • centos7
  • 迅雷远程下载
  • NAS
  • 2008
  • 密码找回
  • oracle
  • 11g2
  • linx
  • RPM包依赖关系
  • apache
  • php
  • oracle11gR2安装
  • rpm安装
  • version
  • radius
  • 802.1X
  • ssh防暴力破解
  • 安全策略
  • LVM
  • Samba
  • NFS
  • raid
  • iscsi
  • tab补全
  • tab补全命令
  • tab命令补全
  • userhome
  • autofs
  • ipa-server
  • WIN2012激活
  • 源码安装软件
  • .zip
  • .7z
  • .rar
  • ubuntu
  • ufw
  • ibm_dsa_vmware_esxi日志
  • KMS服务器
  • enable
  • service
  • /usr/bin/perl:
  • office2013vol激活
  • semanage
  • selinux
  • vmtools
  • bad\interpreter
  • dns-server
  • bind-chroot
  • vcenter-client乱码改中文
  • VDP
  • ftp
  • linuxCOM
  • unas
  • virtualbox
  • 自动启动虚拟机
  • 口配置
  • Deepinlinuxcom口配置