Ubuntu下freeradius的EAP-MD5,PEAPv0/EAP-MSCHAPv2,EAP-TTLS/MD5,EAP-TTLS/MSCHAPv2方式认证(基于mysql)
基于freeradius+mysql,今天验证下freeradius的EAP认证:1.EAP-MD5;2.EAP-PEAP
一、EAP-MD5方式认证
1.修改配置文件
(1)/usr/local/etc/raddb/sites-available/default 去掉eap前面的# (2)/usr/local/etc/raddb/eap.conf 确认default_eap_type=md5
2.在数据库中加入Auth-Type为EAP的测试账号
#mysql -u root -p
Enter password:456456
mysql> use freeradius;
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('eap','Auth-Type',':=','EAP');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('eap','Service-Type',':=','Framed-User');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('eap','Framed-IP-Address',':=','255.255.255.255');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('eap','Framed-IP-Netmask',':=','255.255.255.0');
mysql> insert into radcheck (username,attribute,op,value) values ('eap','User-Password',':=','eap');
mysql> insert into radusergroup (username,groupname) values ('eap','eap');
mysql> insert into radreply (username,attribute,op,value) values ('eap','Reply-Message',':=','eap OK!');
3.开始测试
#radiusd -X
#(echo "User-Name = \"eap\""; echo "Cleartext-Password = \"eap\""; echo "EAP-Code = \"Response\""; echo "EAP-Id = 210"; echo "EAP-Type-Identity = \"eap\""; echo "Message-Authenticator = 0x00";) | radeapclient -x localhost auth testing123
Sending Access-Request packet to host 127.0.0.1 port 1812, id=16, length=0
User-Name = "eap"
Cleartext-Password = "eap"
EAP-Code = Response
EAP-Id = 210
EAP-Type-Identity = 0x656170
Message-Authenticator = 0x00
EAP-Message = 0x02d2000801656170
Received Access-Challenge packet from host 127.0.0.1 port 1812, id=16, length=107
Reply-Message = "eap OK!"
Service-Type = Framed-User
Framed-IP-Address = 255.255.255.255
Framed-IP-Netmask = 255.255.255.0
EAP-Message = 0x01d30016041008dabb8375e60ff9a515084acdce2e49
Message-Authenticator = 0x323977ef5d8f99e19c0f915225dc91fe
State = 0x622ff79862fcf31bc6a72392057197f7
EAP-Id = 211
EAP-Code = Request
EAP-Type-MD5-Challenge = 0x1008dabb8375e60ff9a515084acdce2e49
Sending Access-Request packet to host 127.0.0.1 port 1812, id=17, length=53
User-Name = "eap"
Cleartext-Password = "eap"
EAP-Code = Response
EAP-Id = 211
Message-Authenticator = 0x00000000000000000000000000000000
EAP-Type-MD5-Challenge = 0x10e968e2d801bc965f23c6e515ef2f8861
State = 0x622ff79862fcf31bc6a72392057197f7
EAP-Message = 0x02d300160410e968e2d801bc965f23c6e515ef2f8861
Received Access-Accept packet from host 127.0.0.1 port 1812, id=17, length=76
Reply-Message = "eap OK!"
Service-Type = Framed-User
Framed-IP-Address = 255.255.255.255
Framed-IP-Netmask = 255.255.255.0
EAP-Message = 0x03d30004
Message-Authenticator = 0x190af2672a849e7ddee425f18c01dd2c
User-Name = "eap"
EAP-Id = 211
EAP-Code = Success
二、PEAPv0/EAP-MSCHAPv2方式认证
1.安装测试工具eapol_test
#cd /usr/local/src/
#wget http://hostap.epitest.fi/releases/wpa_supplicant-0.6.9.tar.gz
#tar –xzvf wpa_supplicant-0.6.9.tar.gz
#cd wpa_supplicant-0.6.9/wpa_supplicant/
#cp defconfig .config
#make eapol_test
#cp eapol_test /usr/local/bin/
2.修改配置文件
(1)/usr/local/etc/raddb/sites-available/default 去掉eap前面的# (2)/usr/local/etc/raddb/eap.conf 确认default_eap_type=peap
3.查看证书是否存在
#ls /usr/local/etc/raddb/certs/*.pem
正常 列表中含有ca.pem 若没有ca.pem文件,则执行以下命令:
#/usr/local/etc/raddb/certs/bootstrap
4.创建测试配置文件 ~/peap.test
#~/peap.test
network={ //注意:"="前后无空格
eap=PEAP
eapol_flags=0
key_mgmt=IEEE8021X
identity="eap" //注意:该测试账号是之前用sql建立在数据库中的,所以可以直接使用
password="eap"
ca_cert="/usr/local/etc/raddb/certs/ca.pem"
phase2="auth=MSCHAPV2"
anonymous_identity="anonymous"
}
5.开始测试
#radiusd -X
#eapol_test -c peap.test -s testing123 //peap.test在~/目录下,所以该命令也要在~/目录下进行。需保持一致。
eapol_sm_cb: success=1
EAPOL: Successfully fetched key (len=32)
PMK from EAPOL – hexdump(len=32): d9 2f f7 04 41 7c 74 66 5b b3 e7 7c ea 77 21 72 04 94 cd 7f e1 c9 a0 6b 08 34 b1 b2 25 55 6f 53
EAP: deinitialize previously used EAP method (25, PEAP) at EAP deinit
ENGINE: engine deinit
MPPE keys OK: 1 mismatch: 0
SUCCESS
三、EAP-TTLS/MD5方式认证
1.修改配置文件
(1)/usr/local/etc/raddb/sites-available/default 去掉eap前面的# (2)/usr/local/etc/raddb/eap.conf 确认default_eap_type=ttls
2.创建测试配置文件 ~/ttlsmd5.test
~/ttlsmd5.test
network={
eap=TTLS
ssid="test" //可更改
key_mgmt=WPA-EAP
identity="eap"
password="eap"
ca_cert="/usr/local/etc/raddb/certs/ca.pem"
phase2="auth=MD5"
anonymous_identity="anonymous" //可更改
}
3.开始测试
#radiusd -X
#eapol_test -c ttlsmd5.test -s testing123
eapol_sm_cb: success=1
EAPOL: Successfully fetched key (len=32)
PMK from EAPOL – hexdump(len=32): 91 b2 66 fb da ff bd 7d 95 91 2a c5 82 a8 86 bb 18 14 ac 9f 30 e4 7e 21 9f 28 b8 00 35 62 ff f2
EAP: deinitialize previously used EAP method (21, TTLS) at EAP deinit
ENGINE: engine deinit
MPPE keys OK: 1 mismatch: 0
SUCCESS
四、EAP-TTLS/MSCHAPv2方式认证
1.修改配置文件
(1)/usr/local/etc/raddb/sites-available/default 去掉eap前面的# (2)/usr/local/etc/raddb/eap.conf 确认default_eap_type=ttls
2.创建测试配置文件 ~/ttlsmschapv2.test
~/ttlsmschapv2.test
network={
eap=TTLS
ssid="test" //可更改
key_mgmt=WPA-EAP
identity="eap"
password="eap"
ca_cert="/usr/local/etc/raddb/certs/ca.pem"
phase2="auth=MSCHAPV2"
anonymous_identity="anonymous" //可更改
}
3.开始测试
#radiusd -X
#eapol_test -c ttlsmschapv2.test -s testing123
eapol_sm_cb: success=1
EAPOL: Successfully fetched key (len=32)
PMK from EAPOL – hexdump(len=32): 91 b2 66 fb da ff bd 7d 95 91 2a c5 82 a8 86 bb 18 14 ac 9f 30 e4 7e 21 9f 28 b8 00 35 62 ff f2
EAP: deinitialize previously used EAP method (21, TTLS) at EAP deinit
ENGINE: engine deinit
MPPE keys OK: 1 mismatch: 0
SUCCESS
$$$至此,参照http://blog.sina.com.cn/s/blog_5d2184eb0100hibt.html《FreeRadius+Mysql+EAP认证身份认证系统安装及配置》;
$$$其他认证方式,请参照http://blog.csdn.net/madding/article/details/17277197/《radius系列:freeradius测试》;
Ubuntu下freeradius的EAP-MD5,PEAPv0/EAP-MSCHAPv2,EAP-TTLS/MD5,EAP-TTLS/MSCHAPv2方式认证(基于mysql)的更多相关文章
- Ubuntu下安装Redis并实现远程访问
之前的一篇随笔写到Redis在Windows下的安装,但目前好多大数据处理的服务是在Linux上的,所以想以Redis为例并实现在Windows上利用C#代码远程访问. 以在Ubuntu下为例,步骤如 ...
- 在ubuntu下如何验证文件的MD5码 (转载)
转自:http://blog.csdn.net/david_xtd/article/details/7641682 在windows下可以使用专用的工具软件如WinMD5等来查看文件的MD5码, 在u ...
- Ubuntu下freeradius-server的安装与mysql-server的关联
1.创建freeradius数据库 #service mysql start ... #mysql -u root -p Enter password: 456456 ... mysql> cr ...
- ubuntu下postgreSQL安装配置
一.安装并配置,并设置远程登陆的用户名和密码 1.安装postgreSQL sudo apt-get update sudo apt-get install postgresql-9.4 在Ubunt ...
- Ubuntu下postgresql安装
第一步:在Ubuntu下安装Postgresql 1.使用 apt-get install 安装 zhang@ubuntu:~/protgresql#sudo apt ...
- ubuntu下安装postgres
PostgreSQL 是一款强大的,开源的,对象关系型数据库系统.它支持所有的主流操作系统,包括 Linux.Unix(AIX.BSD.HP-UX,SGI IRIX.Mac OS.Solaris.Tr ...
- ubuntu下mysql提示Changed limits: max_open_files:1024解决办法
在配置我的md5解密网站cmd5.la的时候,mysql5.7出现了max_open_files: 1024, max_connections: 214,warning: Changed limits ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- 在Ubuntu下搭建Spark群集
在前一篇文章中,我们已经搭建好了Hadoop的群集,接下来,我们就是需要基于这个Hadoop群集,搭建Spark的群集.由于前面已经做了大量的工作,所以接下来搭建Spark会简单很多. 首先打开三个虚 ...
随机推荐
- sql 查看某用户的连接数 以及 如何删除该用户的会话
--查看不同用户的连接数 select TERMINAL from v$session where username='username' and machine='machine' ---查询用户会 ...
- python成长之路【第十一篇】:网络编程之线程threading模块
一.threading模块介绍 threading 模块建立在 _thread 模块之上.thread 模块以低级.原始的方式来处理和控制线程,而 threading 模块通过对 thread 进行二 ...
- Java 中如何原样输出转义符号
Java 中的转义字符有好几种,常见的有: 八进制转义字符,格式:\ + 1到3位八进制数字,如\1, \20,范围为 \0 ~ \377,即最大值为255. Unicode转义字符,格式:\u + ...
- ssh启动报错:org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: connect
ssh项目启动报错: org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection t ...
- mysql的操作
关系型数据库是表格形式,比普通文件存储访问数据的速度更快,更容易查阅和提取满足特定条件的数据 关系数据库具有内置的权限系统 每一条数据对应唯一的标识 1,打开XAMPP继承的数据库 打开mysql ...
- latex 竖排子图的生成
latex命令如下: 需要的包为: \usepackage{graphicx} \usepackage{subfigure} \begin{figure*}%加*的作用是跨栏(双栏和单栏latex的区 ...
- i.
史上最全web.xml配置文件元素详解 一.web.xml配置文件常用元素及其意义预览 <!--servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立.修改和删除会话或 ...
- js判断数据类型
1.判断一个数字是否是无穷的 isFinite()例:var aa=Number.POSITIVE_INFINITY; if(isFinite(aa)){ alert("aa不是无穷的&qu ...
- MDI窗体容器、权限设置
一.MDI窗体容器: 1.功能: 它可以让其它窗体在它的内部打开,无法超出它的范围 将某个窗体的属性:IsMdiContainer设置为true - 窗口样式 2.问题: (1)如何将其它窗体在它的内 ...
- Linux vi
修改linux服务器中的文件内容,使用vi编辑器 1.#vi [文件名] 2.点击i,进入编辑模式 3.要退出按ESC,进入中间模式,按冒号 :后面跟命令 :q! (不保存并退出) :wq (保存 ...