从AP到WiFi客户端的半径反馈

我们在我们公司有以下设置:使用CentOS(gw)的网关PC,运行Radius和一些stream量过滤程序。 我们所有的员工都以无线方式连接,并且我们已经实施了WPA2企业级encryption。 用户位于gw的MySQL数据库中,并且在那里定义了用户angular色 – 决定哪个用户有权访问哪个SSID。 我们有4个SSID(4个VLAN),因此现在有4个用户组 – 每个用户组都有自己的QoS,带宽限制等规则。

networking效果很好,除了一个问题 – 当用户错误的authentication,他没有得到任何反馈。 WiFi客户端(每个人都在使用iMacs和Macbook,在这里只有几个Windows / Linux的盒子)被困在某种他说他已经连接的地方,但是没有有效的IP,因此没有互联网接入。 由于MacOS默认记住密码,因此他断定他已成功连接,并且再也不要求密码。 这意味着任何无效login的人都会被卡住,直到他们从存档中清除记住的密码。 这可以想见,对于一个拥有80多名员工的快速发展的公司来说,这是非常乏味的。

我们的接入点是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. 获取支持“Monitoring”或“rfmon”模式的无线网卡,并将其与Wireshark结合使用,以查看networkingstream量中的802.11报头。 这是非常的芯片组,操作系统和驱动程序的依赖,但Wireshark有一些很好的文档来指导你正确的方向。 你所追求的是实际的802.11pipe理标题,而不仅仅是“翻译”的以太网二层信息(同样参见Wireshark文档)。 这听起来像你的networking主要是通过802.11,所以花费的时间可能会在以后值得 – 你需要看看实际的802.11头, 最终出于故障排除的目的。

  2. 确认这实际上是您的接入点的问题(可能是)。 使用“802.11”作为链路层types启动Wireshark,然后对访问点进行validation,并故意input密码。 走着瞧吧。 您可能还需要查看Radius服务器和接入点之间发生的情况。 如果在解释结果数据时遇到问题,可以将其保存为pcap并在此处提供。 您可能只是想确认这是一个半径客户端的问题,然后再在接入点上花费一大笔钱。

  3. 一旦你确认这是接入点的问题,去购买一些不错的“企业”的。 就接入点而言,我们使用D-Link DWL3200,它们是道路接入点的中心。 我唯一真正的抱怨是,他们的命令行界面很糟糕,但另一方面,他们只有大约300美元,所以我不能期望太多。

底线:在你开始向这个问题抛钱之前(即使你有很多钱可以抛出)先弄清楚实际上是什么错误。

你没有提到你正在使用哪种authentication协议。 “WPA2企业”是一个总括术语。 你在使用EAP-TLS吗? 还是PEAP-MSCHAPv2? 你有客户证书吗?或者只有CA证书+用户名/密码? 根据实际的协议,authentication错误发生在不同的协议栈级别。

如果您使用的是PEAP-MSCHAPv2(很可能是您的密码提示),请确保Radius服务器configuration为将MS-CHAP错误消息发送回客户端。 我认为它在某些版本的freeradius中默认是禁用的。 在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 } 

并将其更改为是。

如果你确信这个成本不是问题,那么得到一个真正的思科接入点(如cisco aironet),如果可以的话,避免使用Linksys。

http://www.cisco.com/en/US/products/hw/wireless/index.html

对于家庭和小型办公室,Linksys是可以的。 不build议任何更大的东西。

你甚至可以得到一个WLC(无线局域网控制器)。 这是一个更大的投资,但它是值得的。 您可以从中心位置pipe理您的aps,无线客户端也可以受益,因为它可以pipe理您的频道设置,天线功率电平和客户端漫游。

更新 (回复评论):我在家里使用wrt54gl它一般工作得很好,但如果我高速下载无线部分可以死(这是可重新启动fixable)。 开关function在CPU中实现。 如果你从一台机器拷贝一个大文件到另一台机器,cpu的使用率将大大增加。 高CPU使用率并不稳定

更新2 :没有WLC不是严格必要的。 我甚至没有一个在工作,但我想,因为这只是让事情更容易。 要testing您的AP是否造成麻烦,请获取思科(独立)Aironet AP(只有一个),并使用相同的设置对其进行testing,看看是否可以解决您的问题。 我相信你可以从一个体面的供应商那里得到试用。

我认为可能是MacOSX的问题,因为我有类似的问题,但它不使用radius或Linksys的齿轮。

你有另一个操作系统来testing它吗? 看看它是否与iPhone或Windows PC。