[转]OPENWRT无线使用【802.1x】方法认证

内容转自:https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=315225&page=1,根据自己情况有修改,特此说明。

1、安装wpad包,在线安装就行,是4百多K的,full的那个。
安装完后,在无线设置那里,密码设置就可以设置EAP了(先不要改),但是现在才是开始。
2、安装freeradius3认证服务软件相关的包,一共有29个,总共大概2M大小
建议使用控制台安装,(先opkg update更新源)可以

opkg install freeradius3 freeradius3-common freeradius3-democerts freeradius3-utils freeradius3-mod-always freeradius3-mod-attr-filter freeradius3-mod-chap freeradius3-mod-detail freeradius3-mod-digest freeradius3-mod-eap freeradius3-mod-eap-gtc freeradius3-mod-eap-leap freeradius3-mod-eap-md5

opkg install freeradius3-mod-eap-mschapv2 freeradius3-mod-eap-peap freeradius3-mod-eap-tls freeradius3-mod-eap-ttls freeradius3-mod-exec freeradius3-mod-expiration freeradius3-mod-expr freeradius3-mod-files freeradius3-mod-logintime

opkg install freeradius3-mod-mschap freeradius3-mod-pap freeradius3-mod-passwd freeradius3-mod-preprocess freeradius3-mod-radutmp freeradius3-mod-realm freeradius3-mod-unix

之所以分三次,我记得是一次装不完,可能opkg参数长度有限制。

3、修改freeradius配置

root@LEDE:~# vi /etc/freeradius3/clients.conf

ipaddr = 127.0.0.1 (如果不在同一个设备上,请写ap的ip地址)
secret = testing123
复制代码testing123是设置wpad进程访问认证服务器密码,可以自己修改。

root@LEDE:~# vi /etc/freeradius3/mods-enabled/eap

复制代码这里设置基于802.1x的认证协议类型
找到第一个default_eap_type = md5,改为default_eap_type = peap

3.3

root@LEDE:~# vi /etc/freeradius3/mods-config/files/authorize

这里设置802.11x认证账号,找到bob     Cleartext-Password :=处,修改为zhangsan    Cleartext-Password := “demima”

Reply-Message := “Hello, %{User-Name}”

zhangsan是用户名,demima是密码。注意要两行前面的#去掉

3.4

控制台运行 root@LEDE:~# radiusd -X

看到Ready to process requests说明安装包,配置没有大问题

如果有问题,查找下缺少的库文件补上就行了。

4、修改无线密码配置,如下图

5、手机连接

IOS:

用户名:zhangsan   密码:demima

然后询问证书点接受(信任)

Android:

身份:zhangsan   密码:demima  其余项目不填

部分游戏机、监控等不支持,那就再开一个wpa/wpa2给他们用吧。手机一律eap接入,防止万能钥匙(家里就中过奖,密码被分享出去了……)

[转]关于openwrt用于dhcp客户端协议突破iptv的dhcp+鉴权(ipoe)

内容转自http://koolshare.cn/forum.php?mod=viewthread&tid=149406&page=1&extra=,根据自己情况有修改,特此说明。

特别说明:我们这里(河北联通)部分家庭光猫拨号,所有已经都配置好,此方法不适用。

大家都知道,现在电信、移动、联通iptv,很多地方都改用dhcp+,也就是ipoe来认证iptv业务,光猫中itv配置为桥接,盒子为dhcp+鉴权,用户名密码采用加密方式认证来获取IP。目前比较常见的openwrt接入iptv,是抄下机顶盒成功认证拿到的IP信息,openwrt设置静态IP来实现的。

这次带来的是,openwrt建立接口“IPTV”,采用dhcp客户端的方式,直接过认证拿到IP。

本教程只是简单的讲述要点,其他像怎么抓包啊请自行百度。 首先,老规矩,咱们用Wireshark来抓个包,看下dhcp+的握手过程 我们来看下dhcp discover请求里,包含了option12跟60两个关键的信息,也就是说iptv只认证盒子名称跟帐号密码(我们这里联通iptv只需要option60正确就能下发ip)

option60,也就是包含了iptv帐号密码的数据,想都不用想了,肯定是加密的。

接下来在openwrt上新建“IPTV”口,我这里是单独把eth2设为itv口的,然后光猫的ITV口(设置桥接,绑定端口2,话说我们这里没有绑定mac,所以无所谓啦)连到openwrt的IPTV对应的物理口上。IPTV口设置dhcp客户端,为了不影响上网,最好设置一下网关跃点,其他像防火墙啊啥的这里不作为重点讲述了。

修改/etc/config/network中的IPTV参数

其中option hostname ‘XXXXX’填入我们抓包抓到的option12的明文信息,也就是机顶盒名称(我们这里不要求)

option sendopts ‘0x3c:00001f39…..’这个需要讲一下,因为option60是加密信息,我们抓包抓到的是16进制的信息,所以我们只能把抓到的信息原模原样发回去,所以用sendopts来发送,具体的用法可以自行查看udhcpc的用法说明。后面的0x3c,0x3c表示的是十六进制,也就是十进制的60,也就是我们发送option60信息。后面的00001f39…..就是上面抓包我让你们保存的option60的信息。

有的童鞋可能会问,我这里认证方式除了option60,还有其他,比如61,125,怎么办?

下面我来说一下option sendopts,抛砖引玉。抓包的数据,不管有没有加密,我们都能用sendopts来发送,比如,我拿到一个加密的option61,怎么办? option sendopts ‘0x3d:XXXXXXX…..’ 十六进制3d表示61,XXXX是抓包拿到的十六进制加密信息 option125怎么办? option sendopts ‘0x7d:XXXXXXX…..’ 十六进制7d表示125 当然了,这是发送十六进制的加密数据,那要是发送我上面说的明文option12呢? option sendopts ’12:XXXXXXX…..’ 是不是很简单?

获取到ip后udpxy、igmpproxy就自由发挥吧,不行的话设置下防火墙

PS:我这里没有做这一步就获取到了ip,照这个改完反而不行,怪异。

修改dhcp客户端服务的脚本 我们找到/lib/netifd/proto/dhcp.sh,找到下面这行

————不包含这一行————

${vendorid:+-V “$vendorid”} \

————不包含这一行————

改成

————不包含这一行————

-V ” \

————不包含这一行————