找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 11523|回复: 10

openwrt安装coova-chilli客户端

[复制链接]
发表于 2015-5-6 18:00 | 显示全部楼层 |阅读模式
本帖最后由 dato 于 2015-5-6 19:51 编辑

今天准备写一篇有关openwrt下安装coova-chilli客户端的过程的具体文档。CoovaChilli是一个功能丰富的的接入访问控制器,提供一个认证网关/ captive portal 环境 使用radius或者http协议来实现接入计费记账。
    本来以为几小时解决的。。。第一次安装没什么经验,根据一些错误提示找不到解决方法。关键还有一些同样的问题遗留在网络上却没人解答为什么。写这篇文档方便有需要的朋友参考。

本文档在一个RTN16路由上安装OpenWrt Chaos Calmer r45203,准备实现在有线LAN接口使用往常的访问,而在无线WLAN接口实现captive portal功能。

1,重新配置接口
由于默认lan跟wlan接口是桥接在一起的,br-lan接口是由eth0.1跟wl0组成,所以我们要移除br-lan桥接接口,将设备ip指定给接口eth0.1,将wl0接口给CoovaChilli。这样将在wl0接口建立一个tunnel接口,实现eth0.1跟wl0之间的NAT流量,由Chilli程序决定流量将流向eth0.1还是wl0。

在/etc/config/network注释掉bridge选项

config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
     # option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.8.1'
        option netmask '255.255.255.0'
        option delegate '0'

在/etc/config/wireless注释掉network防止无线接口加入br-lan

       #option network 'lan'

然后重启,用ssh登录设备用ifconfig eth0.1看是否为网关ip 192.168.8.1。大家可以用ifconfig查看自己的接口,不同的设备接口不一样不一定是例子里的eth0.1或者wl0。

2,安装相关软件
>opkg update
>opkg install haserl coova-chilli
>cd /etc/chilli
>cp defaults config

config修改
------------------------------------------------------------------------------------------------
# HS_WANIF=eth0            # WAN Interface toward the Internet
HS_LANIF=wl0

# OpenDNS Servers
HS_DNS1=192.168.8.1
HS_DNS2=208.67.220.220

HS_NASID=nas01
HS_RADIUS=localhost
HS_RADIUS2=localhost
HS_UAMALLOW=www.coova.org
HS_RADSECRET=testing123    # Set to be your RADIUS shared secret
HS_UAMSECRET=testing123     # Set to be your UAM secret
HS_UAMALIASNAME=chilli
------------------------------------------------------------------------------------------------

安装的OpenWrt Chaos Calmer r45203 版本,coova-chilli并末包含/etc/init.d/chilli启动脚本。虽然在最新的coova-chilli包里出现了这个chilli脚本,结果真是莫名其妙,运行/etc/init.d/chilli start,最终根本没有chilli进程在运行当中。哈哈,浪费时间的过程开始了。

尝试
chilli -d -c /etc/chilli/config,出现提示:unrecognized option `--HS_LANIF=wlan0',将由defaults复制为config的文件只是一个模板文件需要经过程序转换,chilli本身根本就不认识config文件格式所以反复有这个提示。怎么转换,网上只有这段脚本可以它里面有两句writeconfig, radiusconfig。这样执行/etc/init.d/chilli start才会在/etc/chilli/目录根据config新生成 hs.conf local,conf main.conf 三个配置文件,哈哈,真是巨坑啊。这个coova-chilli包谁做的啊,这么多坑。

脚本位置
http://www.radiusdesk.com/user_guide/chilli/ubiquity_basic

将上面的启动脚本保存为/etc/init.d/chilli
>chmod +x /etc/init.d/chilli
>/etc/init.d/chilli start         
>ps|grep chilli                        >没看到chilli进程
>chilli --debug --fg                 >如果config文件配置正确,在终端里应该看到相应变化
>/etc/init.d/dnmasq restart    >解决重定向,具体原因未知CoovaChilli DHCP识别过程好像是用的wl0,但是估计还是新接口tun0的需要。

然后试一下登录无线,这里又遇到一个找不到 login.chi 文件的提示,这次并不是--enable-miniportal编绎选项的问题,从下面的包里直接将/etc/chilli/www里的文件覆盖相应文件就可以了。。。
http://ap.coova.org/chilli/coova-chilli_1.3.0_i386.deb

最终启动脚本,添加了进程启动过程,和去除了一些不必要的防火墙规则,不过不知道什么原因好像有程序执行了/etc/init.d/firewall restart过程,导致开机时最终并末看到新添加的防火墙规则,这个可能只是我本地的问题,大家可以具体测试看看。直接killall pppd是可以正常运行的。
------------------------------------------------------------------------------------------------
#!/bin/sh /etc/rc.common
# ============================================
# == Coova Chilli Startup Script =============
# == Hardware: Ubiquity PicoStation2 =========
# == OpenWRT version 12.09 ===================
# == Date 2013-07-03 =========================
# ============================================

START=80
STOP=85

. /etc/chilli/functions

start() {
    echo start
    # commands to launch application
    /sbin/modprobe tun > /dev/null 2>&1
    echo 1 > /proc/sys/net/ipv4/ip_forward
    writeconfig
    radiusconfig
#    iptables -F POSTROUTING -t nat
#    iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
    ifconfig $HS_LANIF 0.0.0.0


killall chilli;/usr/sbin/chilli --fg &
###########
sleep 8
/etc/init.d/dnsmasq restart

#iptables -D INPUT -i wl0 -j DROP
iptables -D INPUT -p icmp -i tun0 -d 10.1.0.1 -j ACCEPT
iptables -D INPUT -p udp --dport 53 -i tun0 -d 10.1.0.1 -j ACCEPT
iptables -D INPUT -p udp --dport 67:68 -i tun0 -d 10.1.0.1 -j ACCEPT
iptables -D INPUT -p udp --dport 67:68 -i tun0 -d 255.255.255.255 -j ACCEPT
iptables -D INPUT -p tcp --dport 4990 -i tun0 -d 10.1.0.1 -j ACCEPT
iptables -D INPUT -p tcp --dport 3990 -i tun0 -d 10.1.0.1 -j ACCEPT
iptables -D INPUT -i tun0 -d 10.1.0.1 -j DROP
iptables -D INPUT -i tun0 -d 10.1.0.1 -j ACCEPT
iptables -I INPUT 2 -i tun0 -d 10.1.0.1 -j ACCEPT

iptables -D FORWARD -i tun0 -o pppoe-wan -j ACCEPT
iptables -D FORWARD -i tun0 ! -o pppoe-wan -j DROP
#iptables -D FORWARD -i tun0 -j ACCEPT
#iptables -D FORWARD -o tun0 -j ACCEPT
#iptables -I FORWARD -i tun0 -j ACCEPT
#iptables -I FORWARD -o tun0 -j ACCEPT
#iptables -D FORWARD -i wl0 -j DROP
#iptables -D FORWARD -o wl0 -j DROP
iptables -D FORWARD -t mangle -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    checkrunning
}

stop() {
    echo stop
    killall chilli
}

checkrunning(){
    check=`/bin/pidof chilli`
    if [ -z $check ]
    then
        echo "Chilli not running"
        chilli
    else
        echo "Chilli runnig PID: "$check
    fi
}
------------------------------------------------------------------------------------------------


其它问题
ddwrt用的chillispot实现在win8进行无线连接是有提示是否有密码还是用网页打开验证,但是CoovaChilli却没任何提示,可能配置文件的问题吧。android 4.3.4.4下面都能弹出微型登录界面。



资源下载

这个文件的/et/chilli/www里包含了缺失的其它文件
http://coova.org/CoovaChilli/Binaries
http://ap.coova.org/chilli/coova-chilli_1.3.0_i386.deb

参考文档

WifiDocs/CoovaChilli
在Basic Configuration处提供了一些细节,突然恍然大悟
https://help.ubuntu.com/communit ... Basic_Configuration

Ubiquity with OpenWRT and CoovaChilli
http://www.radiusdesk.com/user_guide/chilli/ubiquity_basic

missing coovachilli login.chi
https://forum.openwrt.org/viewtopic.php?id=37053

https://github.com/openwrt/packages/tree/master/net/coova-chilli


* 2015年05月06日星期三
- 生成文档

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +1 收起 理由
TheKiller + 1 感谢分享

查看全部评分

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2015-5-6 22:24 | 显示全部楼层
先标记一个。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2015-5-6 23:36 | 显示全部楼层
支持一个~
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2015-5-6 23:47 | 显示全部楼层
教程不错。不过要看路由CPU的运算能力能不能扛住这么多用户接入。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2015-5-7 08:43 | 显示全部楼层
十分有用的教程,这两天正被这个问题困扰,特意注册前来感谢
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2015-5-7 09:35 | 显示全部楼层
看不懂啊。。。。应该就是一个认证上网功能的系统吧。服务端何在呢?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2015-5-11 15:55 | 显示全部楼层
楼主,在认证页面输入testing123 ,testing123 后还是不能认证通过呀

点评

。。。这篇文档只介绍了如何在openwrt下面安装coova-chilli客户端的实现。 后台还需要lighttpd+mysql+freeradius2+daloradius的集成。试着自己去google吧,这方面的文档网上已经很齐全。  详情 回复 发表于 2015-5-11 17:50
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2015-5-11 17:50 | 显示全部楼层
小溪芋头 发表于 2015-5-11 15:55
楼主,在认证页面输入testing123 ,testing123 后还是不能认证通过呀

。。。这篇文档只介绍了如何在openwrt下面安装coova-chilli客户端的实现。

后台还需要lighttpd+mysql+freeradius2+daloradius的集成。试着自己去google吧,这方面的文档网上已经很齐全。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2015-12-28 22:15 | 显示全部楼层
路由宝的潘多拉能装吗,搜索了软件列表里没有coova啊
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2017-12-27 14:34 | 显示全部楼层
writeconfig 这个脚本的链接失效了
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-11-14 11:24 | 显示全部楼层
厉害了
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-24 00:34

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表