首先介绍一下背景:几天来我一直在断断续续地调试这个问题,但结果却令人沮丧。我有一台装有 DD-WRT v24/SP2 Giga 的 NetGear r6300,并且配置了 SSH 以登录控制台。
我正在尝试(但失败了)设置 WPA2 Enterprise Wi-Fi,为此我使用了内置版本的 FreeRadius。我的本地计算机上安装了 Ubuntu 13.04。
- 我已经通过路由器上的 GUI 配置了 FreeRadius、Radius 和无线安全信息。
- 我已成功通过 SSH 控制台使用 radtest 测试用户身份验证
- 我已经从 /etc/freeradius/certs 文件夹下载了 ca.pem 证书
- 我已经从 /etc/freeradius/certs/clients 文件夹下载了 TestUser-cert.P12、TestUser-cert.pem、TestUser-key.pem、TestUser-req.pem 证书
这是我的路由器设置:
服务/FreeRadius
服务器证书:
- 国家代码:CA
- 州或省: 安大略省
- 地区: 多伦多
- 组织/公司: 测试公司
- 电子邮件地址:[电子邮件保护]
- 常用证书名称:测试半径证书
- 有效期:365 天
- 密码:TestCertificatePassphrase
设置
- 半径端口:1812
客户:
- 127.0.0.1 测试Radius共享密钥
- 192.168.1.0 测试Radius共享密钥
用户:
- 用户 1
- 用户名:TestUser1
- 密码:TestPassword
- 下降速度:9999999
- 升级种子:9999999
- 有效期(天数):365
- 已启用:已勾选
无线/无线安全
- 安全模式:WPA2 企业版
- WPA 算法:TKIP+AES
- Radius 服务器地址:127.0.0.1
- Radius 身份验证端口:1812
- Radius 共享密钥:TestRadiusSharedSecret
- 密钥更新:3600
无线/Radius
- MAC Radius 客户端:启用
- MAC 格式:aabbccddeeff
- Radius Auth 服务器地址:127.0.0.1
- Radius Auth 服务器端口:1812
- 最大未认证用户数:0
- 密码格式:共享密钥
- Radius Auth 共享密钥:TestRadiusSharedSecret
从 SSH 控制台我得到了 RadTest 的以下输出:
$radtest TestUser1 TestPassword 127.0.0.1 0 TestRadiusSharedSecret
Sending Access-Request of id 231 to 127.0.0.1 port 1812
User-Name = "TestUser1"
User-Password = "TestPassword"
NAS-IP-Address = 192.168.1.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=231, length=68
WISPr-Bandwidth-Max-Down = 1650064384
RP-Downstream-Speed-Limit = 9999999
WISPr-Bandwidth-Max-Up = 1650064384
RP-Upstream-Speed-Limit = 9999999
当我radiusd -d /jffs/etc/freeradius -X
从控制台运行并尝试使用以下设置将我的机器连接到 Wi-Fi 时:
连接失败...
从日志摘录中,我发现这是与我的 Radius 客户端和 FreeRadius 之间的 SharedSecret 有关的东西,但我无法弄清楚是什么或为什么,因为 Radius 客户端和 FreeRadius 配置中的共享密钥是相同的……
rad_recv: Access-Request packet from host 127.0.0.1 port 37619, id=6, length=80
User-Name = "c48508cf0a6c"
NAS-Port = 1
NAS-Port-Type = Wireless-802.11
User-Password = "TestRadiusSharedSecret"
# Executing section authorize from file /jffs/etc/freeradius/sites-enabled/default
+- entering group authorize {...}
++[mschap] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[files] returns noop
[pap] WARNING! No "known good" password found for the user. Authentication may fail because of this.
++[pap] returns noop
ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
Failed to authenticate the user.
Login incorrect: [c48508cf0a6c/TestRadiusSharedSecret] (from client DD-WRT-RADIUS port 1)
Using Post-Auth-Type REJECT
WARNING: Unknown value specified for Post-Auth-Type. Cannot perform requested action.
Delaying reject of request 3 for 1 seconds
Going to the next request
我好像遗漏了一些东西,但我不确定那是什么。有人能看出我可能遗漏了什么吗?
答案1
您缺少 EAP 模块配置。我猜这是 freeradius 3?无论如何,请查看您的日志。EAP 模块没有运行。这意味着没有什么可做的。如果您使用的是 PEAP,您必须拥有带有证书密码的 eap 模块。