wifidog配置网关注意事项
用户超时
跟其它解决方法不同,Wifidog无需一直打开认证页面用脚本来保持连接。网关只会在数秒中没有获得任何来自客户端的流量时,才判断为超时断开连接。确保客户端没有因为闲置而超时,网关将会在每个时间间隔来重新ping每个客户端来检测流量。遗憾的是,有些所谓防火墙设置很讨厌,防ping,造成检测时完全丢包被误判为离线。这也是经常超时的原因。
Wifidog网关网站界面
网关只有最小化的网站界面,为用户提供了很少的信息。这样就不会与门户相混淆,门户必须由认证服务器进行管理。以下信息可以直接从网关得到:
http://gateway_ip:gateway_port/wifidog/
- 网关版本
- 节点ID
http://gateway_ip:gateway_port/wifidog/status
- 网关版本
- 网关正常运行时间
- 网关是否具有网络连通性
- 是否与认证服务器相连接
- 获得此服务的用户编码
- 已连接的用户编码
- 用户列表
IP
MAC
Token
下载字节
上传字节 - 目前使用的认证服务器
http://gateway_ip:gateway_port/wifidog/about
OLSR和Wifidog网关
问题:如果你选择只安装一个Wifidog网关服务器,那么所有用户的MAC地址都将被最近的OLSR路由器所“掩饰”。
解决办法:
在OLSR节点安装Wifidog。允许HTTP在OLSR节点间流动,可以通过用Cron在所有节点启用以下脚本来实现。
ipkg install ip
#!/bin/sh
#
# Script to bypass HTTP interception for traffic forwarded by OLSR
# bms 9-Aug-2005
# Licensed under GPL
#
rm -f /tmp/get_neighbors.awk
cat > /tmp/get_neighbors.awk <<__HERE1__
BEGIN {
while("route -n"|getline) {
if (/^[0-9]/) {
if (0 < \$5) {
if (\$3 == "255.255.255.255 <http://255.255.255.255>") {
printf "%s\n", \$1;
}
}
}
}
}
__HERE1__
iptables -t nat -D WiFiDog_Unknown -j OlsrNeighbors 2>&1 >/dev/null
iptables -t nat -F OlsrNeighbors 2>&1 >/dev/null
iptables -t nat -X OlsrNeighbors 2>&1 >/dev/null
iptables -t nat -N OlsrNeighbors
neighbors=$(awk -f /tmp/get_neighbors.awk)
for _neighbor in ${neighbors} ; do
_mac=$(grep "^${_neighbor}" /proc/net/arp | awk '{print $4}')
echo ${_mac}
iptables -t nat -A OlsrNeighbors -m mac --mac-source ${_mac} \
-p tcp --dport 80 -j ACCEPT
done
iptables -t nat -I WiFiDog_Unknown -j OlsrNeighbors
本文章由 http://www.wifidog.pro/2015/03/13/wifidog%E9%85%8D%E7%BD%AE%E7%BD%91%E5%85%B3%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.html整理编辑,转载请注明出处