OpenWrt能够支援radius,这使得我们可以用Windows AD的NPS服务来为无线提供基于域账户验证的无线连接认证支持,做到一人一账户,用户名密码随开机账号(或邮箱账号)变更而变更。
软件平台: OpenWrt 15.05.1 + wpad + Windows 2008 R2
硬件平台: TP-Link TL-WDR7500AC / Linksys WRT1900AC
很多企业级的无线路由或者AP能够支援radius作为认证后端,而一般的家用路由则不支持,其实一直以来作为路由器界Android的OpenWrt就可以做到这一点。Radius并不基于硬件,很多时候只是路由器厂商没有在固件中集成所需的模块罢了。
说了这么多,有必要说一下Radius能做什么?Radius能对账号进行认证,可以用来控制VPN的拨号认证,以太网的接入认证,无线网络的接入认证等等,总而言是就是对应的设备向客户端提示使用基于用户名和密码的认证,待用户输入凭据后,将凭据发送到Radius服务器进行认真,Radius服务器可以是单独的服务,如freeradius,也可以是集成的服务如Windows AD(活动目录),Radius服务器会将认证结果回送到设备,如果认证是通过的,那么设备就为客户端提供相应的服务,否则拒绝服务。
接下来我们从一个刚装完AD的Windows 2008讲起,讲解如何使用AD账号来作为无线登录的凭据。
1.首先在AD中建立一个安全组
在空白处右键,选择“新建”->“组”
接着键入组的名称,我们将其命名为“可连接无线”
接下来,双击刚才建立的安全组,打开属性对话框后点击“成员”选项卡,点击页面下方的“添加(D)”按钮来将允许连接无线网络的域用户加入到该组中
2.安装必要的服务
如果先前没有安装过证书服务,则从服务器管理器中,点击“添加角色”
然后选中“Active Directory证书服务”
保持默认
保持默认
保持默认
如果曾经有证书服务安装历史的,选择“使用现有私钥”,否则保持默认
安装即可
接下来,按下Ctrl-R,输入mmc,打开“控制台根节点”,从“文件(F)”菜单,选中“添加或删除管理单元”菜单项,在随后出现的“添加或删除管理单元”窗口中选中左侧窗格中的“证书”项,点击“添加(A)”按钮,添加证书窗格。
展开“证书(本地计算机)”->“个人”->“证书”,一般安装完证书服务会自动给本机颁发2张证书,一张是域颁发给自己的,一张是域颁发给本域控的。颁发给本域控的证书稍后将用于无线认证时加密通讯使用
3.安装认证服务
接下去安装NPS服务用于认证,仍然是添加角色
选中“网络策略和访问服务”
勾选“网络策略服务器”、“健康注册机构”、“主机凭据授权协议”
选中“使用本地CA为此HRA服务器颁发健康证书(C)”
保持默认
证书选择域颁发给域控的证书
4.配置认证服务
接下来设置无线认证,打开“网络策略服务器”窗格,在右侧的标准配置区域中选择“用于 802.1X 无线或有线连接的 RADIUS 服务器”,然后点击“配置 802.1X”
在随后出现的对话中选择“安全无线连接”并设置一个名称
接下来要添加Radius客户端,点击“添加(A)”按钮,为OpenWrt路由设置一个友好的名称,并填入路由的IP地址。设置一个预共享密钥(PSK)用于服务器与路由间相互认证。
EAP类型设置为PEAP
接下来指定哪个组中的域用户有权限连接无线,点击“添加(D)...”按钮,添加我们一开始建立的安全组“可连接无线”
5.配置认证服务
若要OpenWrt支持Radius认证方式,需要使用完整版wpad替换自带的wpad-mini,我编译的固件已经默认使用了wpad,如果你的固件使用的还是wpad-mini,可以使用以下命令来替换
#opkg update
#opkg remove wpad-min
#opkg install wpad
OpenWrt的配置就要简单多了,将无线的安全设置改为WPA-EAP,填入Raidus认证服务器的地址(也就是安装了网络策略和访问服务的那台服务器的IP地址,本例中由于该服务部署在域控dczero上,因此填入域控dczero的IP地址),最后填入先前在服务器的客户端对话框中设置的预共享密钥即可
至此,基于域验证的无线就建立完毕了。
请注意,本站的所有文章均要求阁下在转载时注明出处和原作者,阁下转载本站文章即表示阁下同意并遵守此规程,除非特别注明转载出处,否则文章即为其发布者所著。本站及文章作者保留文章的著作权并有权在阁下违反上述规程时予以追究。
本文链接地址: OpenWrt基于Windows AD的Radius无线认证
alex says :
2016年12月9日設置完手機連接時需要證書,無法連接
穿越蓝天 says :
2016年12月10日如果伺服器设置未有出现错误,则可能是智慧型手机在连接时未能正确识别认证方式,可以在手机连接时将认证方式设置为PEAP试下。阶段2认证设置为“无“,身份输入域账号,密码输入域密码,匿名身份留空。另外,如果是安卓6.0无法连接可能是openssl版本导致。