为什么 FreeRadius 不允许 WPA2 Enterprise/PEAP Wi-Fi 连接?

为什么 FreeRadius 不允许 WPA2 Enterprise/PEAP Wi-Fi 连接?

首先介绍一下背景:几天来我一直在断断续续地调试这个问题,但结果却令人沮丧。我有一台装有 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 时:

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

这里是wifi 连接尝试的完整 Radius 日志

我好像遗漏了一些东西,但我不确定那是什么。有人能看出我可能遗漏了什么吗?

答案1

您缺少 EAP 模块配置。我猜这是 freeradius 3?无论如何,请查看您的日志。EAP 模块没有运行。这意味着没有什么可做的。如果您使用的是 PEAP,您必须拥有带有证书密码的 eap 模块。

相关内容