假设你有一个使用 OpenWrt 的公开 Wifi 想部署 WifiQRCode,并且路由器的 LAN 口地址为 192.168.1.1,你就可以根据这个教程快速部署 WifiQRCode
一、安装软件包
使用 SSH 登录到 OpenWrt 上,执行以下命令:
# opkg update # opkg install iptables-mod-conntrack-extra ipset zoneinfo-asia wget unzip php5-cgi php5-mod-gd php5-mod-session php5-mod-sockets
二、配置软件包
首先编辑 uhttpd 的配置文件 /etc/config/uhttpd,在文件头部先增加 portal 服务器相关配置
config uhttpd 'portal' list listen_http '0.0.0.0:11990' list interpreter ".php=/usr/bin/php-cgi" option home '/www/portal' option error_page ‘/error.html' option index_page 'error.html'
然后再修改原有 main 服务器的配置,增加以下 2 行
list interpreter ".php=/usr/bin/php-cgi" option index_page 'index.php'
三、配置防火墙
打开防火墙的配置文件 /etc/firewall.user,增加以下配置
ipset destroy WifiQRCode ipset create WifiQRCode bitmap:ip,mac range 192.168.1.0-192.168.1.255 iptables -t nat -A prerouting_lan_rule -m set ! --match-set WifiQRCode src,src -j SET --del-set WifiQRCode src,src iptables -t nat -A prerouting_lan_rule -m set ! --match-set WifiQRCode src,src -m recent --remove --name WifiQRCode3600 --rsource iptables -t nat -A prerouting_lan_rule -m set ! --match-set WifiQRCode src,src -m recent --remove --name WifiQRCode14400 --rsource iptables -t nat -A prerouting_lan_rule -m set ! --match-set WifiQRCode src,src -m recent --remove --name WifiQRCode32400 --rsource iptables -t nat -A prerouting_lan_rule -p tcp -m recent --rcheck --seconds 3600 --name WifiQRCode3600 --rsource -j ACCEPT iptables -t nat -A prerouting_lan_rule -p tcp -m recent --rcheck --seconds 14400 --name WifiQRCode14400 --rsource -j ACCEPT iptables -t nat -A prerouting_lan_rule -p tcp -m recent --rcheck --seconds 32400 --name WifiQRCode32400 --rsource -j ACCEPT iptables -t nat -A prerouting_lan_rule ! -d 192.168.1.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 11990 iptables -t filter -A input_lan_rule -p tcp -m state --state NEW -m tcp --dport 80 -j SET --add-set WifiQRCode src,src iptables -t filter -A output_lan_rule -p udp --dport 3600 -m recent --set --name WifiQRCode3600 --rdest -j ACCEPT iptables -t filter -A output_lan_rule -p udp --dport 14400 -m recent --set --name WifiQRCode14400 --rdest -j ACCEPT iptables -t filter -A output_lan_rule -p udp --dport 32400 -m recent --set --name WifiQRCode32400 --rdest -j ACCEPT iptables -t filter -A forwarding_lan_rule -m recent --update --seconds 3600 --name WifiQRCode3600 --rsource -j ACCEPT iptables -t filter -A forwarding_lan_rule -m recent --rcheck --seconds 14400 --name WifiQRCode14400 --rsource -j ACCEPT iptables -t filter -A forwarding_lan_rule -m recent --rcheck --seconds 32400 --name WifiQRCode32400 --rsource -j ACCEPT
四、下载WifiQRCode
# cd /www # wget https://github.com/wuwx/wifiqrcode/archive/basic.zip --no-check-certificate # unzip basic.zip # mv wifiqrcode-basic portal # rm basic.zip
五、测试WifiQRCode
安装完成后重新启动一次路由器,然后连上路由器Wifi,打开浏览器访问任何网址,都会被跳转到带二维码的网页,用其他手机扫描二维码,打开二维码所在网址,则会提醒你输入用户名密码(默认是admin/password),就可以对用户进行授权了。
如果需要修改密码,可以修改 /www/portal/application/controllers/authorization.php