相比普通的wifi,搭建wpa2企业级认证的wifi,主要有两个大的步骤:
- 用freeradius搭建一个认证系统,用于用户认证
- 在路由器或AP上配置RADIUS认证参数,添加radius服务器,包括认证服务器和计费服务器。
安装freeradius
我刚开始用的是apt-get安装,然后修改配置文件的方式,可以参考:
配置尤其复杂,我搞了半天。
与其手动配置,不如用docker来拉取别人配置好的镜像。
最后我是用的这个docker配置:
https://github.com/marcelmaatkamp/docker-compose-applications/tree/master/freeradius
只需要修改clients.conf和users文件。
修改clients.conf:
client 10.255.255.1/24 { secret = your_secrect } client 192.168.0.45 { secret = your_secrect }
其中ip,192.168.0.45和10.255.255.1/24修改成你自己的ip,应该配置成你wifi路由器或AP的ip地址,因为到时候用户连接wifi时,是路由器和AP来请求radius服务器的。
修改users:
username Cleartext-Password := "user_password", MS-CHAP-Use-NTLM-Auth := 0
其中用户名与密码修改成你自己的。这个用户密码就是普通用户连接该wifi时,需要输入的认证信息。
我配置了另一台192.168.0.45 ubuntu,用来做测试,ssh登陆到 192.168.0.45上面,然后用下面的命令测试:
radtest username user_password 192.168.0.30 1812 your_secrect
其中 192.168.0.30 为我们radius服务器所在的ip地址。
连接成功后,会有如下提示:
Sending Access-Request of id 168 to 192.168.0.30 port 1812 User-Name = "username" User-Password = "user_password" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Accept packet from host 192.168.0.30 port 1812, id=168, length=20
安装好radius服务器后,就需要在路由器上配置wifi的认证方法了。
配置路由或AP
我是用的H3C的AP设备,你自己的路由或AP设备,可能不太一样。
我参考的是文档:
http://www.h3c.com/cn/Service/Document_Center/Wlan/WA/WA2600/Configure/User_Manual/H3C_WCG-6W105/201611/958733_30005_0.htm
首先在左边菜单进入 认证->RADIUS,新建一个
- 服务类型选择 Extended
- 用户名格式选择 保持用户原输入
- 分别添加一个主认证服务器,与主计费服务器,ip地址即为我们上面配置好的radius server的ip地址,密钥为刚我们在clients.conf文件中配置的secrect值。
左边菜单进入 认证->AAA
- 在认证、授权、计费三个配置页面中,都设置LAN-access认证为RADIUS,参考如图:
左边菜单进入 无线服务->接入服务
- 选择你要修改的SSID,先把wifi关闭掉,然后修改设置
- 在安全设置下面的端口安全配置中,端口模式选择 userlogin-secure-ext
- 域名选择system,认证方法选择EAP
保存后,重新启用wifi,不出意外,wpa2企业级认证就可以连接了。
如果连接有问题,可以用
sudo freeradius -X
命令来启动radius,开启调试模式,并观察日志输出。