我们公司有以下设置:一台装有 CentOS (gw) 的网关 PC,运行 Radius 和一些流量过滤程序。我们所有的员工都通过无线方式连接,并且我们已部署 WPA2 Enterprise 加密。用户位于 gw 上的 MySQL 数据库中,并且在那里定义了他们的用户角色 - 决定哪个用户可以访问哪个 SSID。我们有 4 个 SSID(因此有 4 个 VLAN),因此目前有 4 个用户组 - 每个用户组都有自己的 QoS、带宽限制等规则。
网络运行良好,除了一个问题 - 当用户错误验证时,他得不到任何反馈。WiFi 客户端(每个人都在使用 iMac 和 Macbook,IT 部门只有几台 Windows/Linux 机器)陷入了某种困境,他说他已连接,但没有有效的 IP,因此无法访问互联网。由于 MacOS 默认记住密码,他得出结论,他已成功连接,并且再也不会要求输入密码。这意味着任何进行无效登录的人都会被困在这种状态,直到他们从档案中删除记住的密码。你可以想象,对于一家拥有 80 多名员工的快速增长的公司来说,这是非常繁琐的。
我们的 AP 是 WRT54GL,安装了 DD-WRT 作为固件。
似乎 AP 上的 radius 客户端没有向员工计算机上的 WiFi 客户端发送任何正确的反馈。有人有这种设置的经验吗?如何解决这个无反馈问题?更好的 AP 会是答案吗?我一直在研究思科的 WAP2000。成本不是问题。
这是我们的 eap.conf 文件中 mschapv2 上方的注释:
#
# This takes no configuration.
#
# Note that it is the EAP MS-CHAPv2 sub-module, not
# the main 'mschap' module.
#
# Note also that in order for this sub-module to work,
# the main 'mschap' module MUST ALSO be configured.
#
# This module is the *Microsoft* implementation of MS-CHAPv2
# in EAP. There is another (incompatible) implementation
# of MS-CHAPv2 in EAP by Cisco, which FreeRADIUS does not
# currently support.
#
答案1
获取支持“监控”或“rfmon”模式的无线网卡,并将其与 Wireshark 结合使用,以查看网络流量中的 802.11 标头。这在很大程度上取决于芯片组、操作系统和驱动程序,但 Wireshark 有一些不错的文档为您指明正确的方向。您正在寻找的是实际的 802.11 管理标头,而不仅仅是“翻译的”以太网第 2 层信息(再次参见 Wireshark 文档)。听起来您的网络主要通过 802.11,因此花在弄清楚这一点上的时间以后可能是值得的 - 您需要查看实际的 802.11 标头最终以进行故障排除。
确认这实际上是您的接入点的问题(很可能是)。使用“802.11”作为链路层类型启动 Wireshark,然后针对接入点进行身份验证并故意输入错误的密码。看看会发生什么。您可能还需要查看 Radius 服务器和接入点之间发生了什么。如果您在解释结果数据时遇到问题,您可以随时将其保存为 pcap 并在此处提供。您可能只是想在花费大量资金购买接入点之前确认这是 radius 客户端的问题。
一旦你确认这是接入点的问题,就去购买一些不错的“企业级”接入点。我们使用 D-Link DWL3200,就接入点而言,这是一个相当中庸的接入点。我唯一真正的抱怨是他们的命令行界面糟透了但另一方面,它们每个只需 300 美元左右,所以我不能期望太多。
底线:在你开始花钱解决问题之前(即使你有很多钱可以花),先弄清楚什么是实际上错了先。
答案2
You didn't mention which authentication protocol you are using. "WPA2 Enterprise" is an umbrella term. Are you using EAP-TLS? Or PEAP-MSCHAPv2? Do you have client certificates in place or just the CA certificate + username/password? Depending on the actual protocol, the authentication error happens at a different protocol stack level.
If you are using PEAP-MSCHAPv2 (most likely given your hint at passwords), make sure the Radius server is configured to send the MS-CHAP-Error message back to the client. I think it's disabled by default in some versions of freeradius. Look for this in eap.conf:
mschapv2 { # Prior to version 2.1.11, the module never # sent the MS-CHAP-Error message to the # client. This worked, but it had issues # when the cached password was wrong. The # server *should* send "E=691 R=0" to the # client, which tells it to prompt the user # for a new password. # # The default is to behave as in 2.1.10 and # earlier, which is known to work. If you # set "send_error = yes", then the error # message will be sent back to the client. # This *may* help some clients work better, # but *may* also cause other clients to stop # working. # #send_error = no }
and change it to yes.
答案3
If you are sure about that cost is not an issue then get a real Cisco access point (like cisco aironet) avoid linksys if you can.
http://www.cisco.com/en/US/products/hw/wireless/index.html
Linksys is ok for home and small offices. It is not recommended for anything bigger however.
You can even get a WLC (wireless lan controller). It's a bigger investment, but it worth it. You can manage your aps from a central place and the wireless clients can also benefit as it manages your channel settings, antenna power levels and client roaming.
Update (reply to comment): I use wrt54gl at home it works great in general, but if I download with high speed the wireless part can die (which is fixable with a reboot). The switch fuction is implemented in CPU. If you copy a large file from one machine to another cpu usage goes up significantly. With high cpu usage it is not that stable.
update2: No WLC is not strictly necessary. I do not even have one at work, but I would like to because it just makes things easier. To test if your AP is causing the trouble get a Cisco (standalone) Aironet AP (just one) and test it with the same setup to see if it solves your problem. I am sure you can get a test drive from a decent vendor.
答案4
I think may be a problem with MacOSX as I have a similar issue but it's not using radius or Linksys gear.
Have you got a another OS to test it with? see if it does it with an iphone or windows pc.