OpenWRT下建立通过802.1X协议保护的WiFi

说起802.1X,可能很多高校的学子对它没有好感,因为某捷、某三公司利用它限制了很多高校学生的网络使用。实际上,802.1X在用户认证方面是挺优秀的。相比传统路由中的WEP、WPA-PSK认证、甚至是Portal认证(即WEB认证)都有很多独有的特点。

手机搜索到的通过802.1X EAP进行保护的WIFI

 

手机搜索到的通过802.1X EAP进行保护的WIFI

手机搜索到的通过802.1X EAP进行保护的WIFI

使用802.1X协议的主要优点有:

  1. 加密方式安全多样,可以使用PAP(明文不加密)、EAP、CHAP、MSCHAPv2等加密方式。
  2. 接入用户的用户名和密码的管理十分科学。
  3. 相对于Portal认证,802.1X的计费方式更加实时高效。

但是用802.1X协议建立WIFI有如下限制:

  1. 需架设RADIUS SERVER,RADIUS服务器软件是一个认证计费服务器,由于RADIUS协议简单明确,可扩充,因此得到了广泛应用,包括普通电话上网、ADSL上网、小区宽带上网、IP电话、移动电话预付费等业务的计费。RADIUS SERVER存储着接入用户的用户名和密码,这些用户名和密码可以存储在文件里,也可以通过RADIUS SERVER拓展存储于SQL数据库或LDAP服务器中。当然,RADIUS SERVER也可以是OpenWRT路由器本身。

详细关于802.1X和RADIUS的介绍和架设可以参阅英文网站:

http://tldp.org/HOWTO/html_single/8021X-HOWTO/

经过查阅大量的OpenWrt官方的文件资料,发现Openwrt实际上是支持建立通过802.1X协议保护的WiFi的。OpenWRT有很多WIFI套件,详见http://wiki.openwrt.org/doc/howto/wireless.utilities,支持802.1X的套件是wpad和hostapd,OpenWRT原生携带了wapd-mini包,这个包精简了对802.1X的支持,只需安装完整版wpad即可,当然,利用hostapd也可以实现,不过这个还有待研究。

安装方法:

opkg remove wpad-mini #先卸载wpad-mini opkg update
opkg install wpad
		
安装完成之后,直接通过LUCI即可建立通过802.1X协议保护的WiFi。

接下来就是建立RADIUS SERVER,上图中的Radius认证服务器需要填写自己架设的Radius Server的IP地址或域名,如果Radius Server是OpenWRT本身,填写127.0.0.1.Radius认证端口默认1812即可,Radius认证密钥可以自己定义。Radius计费服务器如果没有计费需求,可以忽略。

Radius Server我选择在外部Linux服务器上利用freeradius软件建立,OpenWRT上也有提供freeradius2包,可以以相同的方法在OpenWRT上建立。

安装freeradius,可以利用Linux发行版的包管理器安装:

在RHEL/CengOS下:sudo yum install freeradius

在Ubuntu/Debain下:sudo apt-get install freeradius

当然,也可以到http://www.freeradius.org/下载源代码编译安装,不过编译时间会比较长。

安装完成后,使用命令:radiusd -X尝试运行freeradius,-X表示在前台运行,并输出调试信息,如果没有错误信息,证明正常运行。按Ctrl+C结束它。

/etc/raddb/radiusd.conf是freeradius的配置文件,一般保持默认即可,如有需要,根据里面的英文提示修改即可。

/etc/raddb/client.conf是列出允许连接freeradius的客户端的文件,编辑个文件,在末尾加入“

client ip{
       secret your_secret
       shortname localhost
}

其中,ip更改为你的路由器的IP,secret即再上图中填写的Radius认证密钥,shortname可以自定义。

/etc/raddb/users存储了接入用户的用户名和密码。

编辑它,在末尾加入行your_username Cleartext-Password:=”your_password”.

your_username、your_password根据需要自己定义,可以定义多个用户名和密码,不同用户通过不同用户名和密码登陆。

利用Radius,还可以把用户的用户名和密码存储于SQL数据库或LDAP服务器当中,可以对接入用户的接入时长进行统计、控制、甚至计费,可以使单个用户名和密码仅可以在一个设备上登陆,这有待于你的发掘。

本文章由作者:佐须之男 整理编辑,原文地址: OpenWRT下建立通过802.1X协议保护的WiFi
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐