我们有一间小办公室,里面大约有 20 个人,每个人都使用 MacBook,也可以选择使用手机连接。以前我们使用共享密钥的普通 Wi-Fi,但最近我将其重新配置为 WPA Enterprise,所有用户都会收到自己的凭据:登录名/密码对。身份验证通过freeradius
AWS EC2 盒上运行的服务进行。
RADIUS 服务器未配置为使用任何证书,每个用户在/etc/freeradius/users
文件中都有一个如下所示的条目:
john.doe Cleartext-Password := "my_password"
RADIUS 客户端已以极简方式配置 - 以下是我们的/etc/freeradius/clients.conf
client RADIUSClient {
ipaddr = <our office external IP>
secret = <secret key shared with the Access Point>
require_message_authenticator = no
}
此设置似乎适用于所有手机和大多数 MacBook。MacBook 首先会抱怨自签名证书不受信任(这是可以理解的),但在将此证书设置为受信任后,一切都运行正常。
然而,有些 MacBook 在成功连接后,会在随机间隔(1-30 分钟)内开始显示身份验证错误:
Authentication failed on network “Network SSID”.
The authentication server is unresponsive. Contact your network administrator to check the network infrastructure.
此对话框中只有一个“断开连接”按钮。然而,在用户按下此按钮之前,MacBook 保持完美连接。窗口可以移离屏幕,但它会一次又一次地弹到屏幕中央,让用户感到恼火。单击“断开连接”会断开笔记本电脑与 Wi-Fi 的连接,然后在几秒钟内,Mac 会重新连接到同一网络,并在 RADIUS 服务器日志中留下成功登录的记录。
在尝试调查时,我发现当连接到 WPA Enterprise 网络时,MacBook 在网络设置中显示了名为802.1X。正常连接时,自连接以来一直显示“通过 EAP-PEAP (MSCHAPv2) 进行身份验证”(查看屏幕截图)。点击“断开连接”按钮会立即断开笔记本电脑与 Wi-Fi 的连接。
对于那些存在身份验证问题窗口弹出问题的笔记本电脑,经过一段随机时间后,“通过...验证”消息消失,并开始新的身份验证尝试(查看屏幕截图)。一段时间后,消息变为“身份验证服务器没有响应”。我查看了 RADIUS 服务器日志:每次用户连接到 Wi-Fi 时,都会有一次成功的身份验证记录,但在“802.1X”部分下显示的这些身份验证尝试期间没有任何记录。
在“正在验证...”和“验证服务器没有响应”消息之间循环几次之后,对话框会弹出。
由于这种情况只发生在几台笔记本电脑上,我不认为这是服务器问题,但我不知道如何为遇到此问题的人解决问题。我最初没有遇到这个问题,但当我开始尝试切换网络、删除并重新创建网络时,我设法重现了这个问题,现在无法摆脱它 :)
有人可以建议正确的调查方向吗?
更新(2017 年 3 月 3 日)。最终决定改用企业级接入点。我们购买并安装了UniFi 亚太区专业版,问题就解决了。
答案1
这是 Mac 中一个众所周知的 bug,但他们几个月前就修复了它。如果您有最新更新,请检查路由器或购买便宜的路由器。设置时选择扩展器模式,然后设置后更改扩展器的名称,使其成为当前网络的某种桥梁。这样,当您连接到它时,路由器会不断将您的连接重定向到企业网络。
答案2
您是否对受影响的 Mac 之一运行过 WiFi 诊断?它可能会揭示网络之外的某些问题,例如附近的接入点没有正确配置其国家代码。当 FiveGuys 搬到楼下并设置了配置不正确的热点时,我们就遇到了这种情况。虽然您切换到 UniFi AP 是一个不错的选择,但仍然可能掩盖了根本原因。
答案3
另一种选择是 MacOS 喜欢定期扫描可用网络。为此,会短暂断开 WiFi 连接。Mac 中有一个设置可以自动连接到附近的网络,可以关闭此功能。还有一个 wifi 配置(我不记得了)可以防止它频繁尝试从一个 AP 跳转到另一个 AP。这些跳转可能会中断网络。