Wifidog的协议梳理

上篇文章结合wifidog的协议,讲解了如何实现wifi认证。这篇文章会详细讲解一下wifidog的协议。

wifidog的认证流程图

wifidog

  • 用户连接WIFI会跳转到以下地址:
1
2
3
4
5
6 7 
http://auth_server/login?gw_id=[GatewayID, default: "default"]gw_address=[GatewayAddress, internal IP of router]gw_port=[GatewayPort, port that wifidog Gateway is listening on] url=[user requested url]  auth_server #即认证的域名 gw_id #配置的网关名称 gw_address #回调的内网地址 gw_port #回调的端口 

在这个阶段需要返回登录的页面,即授权的首页,并且需要将所有涉及跳转的第三方地址加入白名单

  • 当验证用户身份之后,即用户登录成功之后重定向到网关地址
1
2
3
http://GatewayIP:GatewayPort/wifidog/auth?token=[auth token]  auth token #系统为用户生成的token 
  • 网关地址接受到消息后,会周期的发送用户信息,并确认是不是允许继续网络访问 请求地址
1
2
3
4
5
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 
http://auth_server/auth/index.php? stage=counters ip= mac= token= incoming= outgoing=   ip,mac,token为用户的基本信息,incoming/outgoing为用户的连接计数信息,用来限定用户是否可以继续连接  此时auth_server需要返回该请求: 0——拒绝,删除防火墙内用户以及用户的信息 6——用户验证失败,超时,会删除防火墙内信息(即会重新要求登录) 1——用户验证通过,并跳转到http://auth_server/portal/?gw_id=%s 5——用户需要验证,允许规则内的访问进行验证 -1——用户验证出错,用户可以继续访问网络  返回数据格式: Auth: <number from user status list> Auth: 1 #中间有个空格 
  • 系统会周期性发送心跳包,用来确认网关验证和认证服务器的正常工作请求地址
1
2
3
4
5
6 7 8 9 
http://auth_sever/ping/? gw_id=%s sys_uptime=%lu sys_memfree=%u sys_load=%.2f wifidog_uptime=%lu  auth_server此时需要返回“Pong可以通过该心跳包来监控整个认证的工作 

相关资料:
认证流程图:http://dev.wifidog.org/wiki/doc/developer/FlowDiagram
认证的login协议: http://dev.wifidog.org/wiki/doc/developer/LoginProtocol
认证的客户端协议:http://dev.wifidog.org/wiki/doc/developer/ClientProtocol
认证过程中的心跳包协议:http://dev.wifidog.org/wiki/doc/developer/PingProtocol

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装和配置wifidog的步骤如下: 1.首先在OpenWRT路由器上安装wifidog,可以通过以下命令进行安装: ```shell opkg update opkg install wifidog ``` 2.安装完成后,需要进行配置。首先需要编辑wifidog的配置文件`/etc/config/wifidog`,可以使用vi或nano等编辑器进行编辑。在配置文件中,需要设置以下几个参数: - `interface`: 设置wifidog所监听的网络接口,一般为无线接口,例如`wlan0`。 - `gateway_interface`: 设置wifidog所使用的网关接口,一般为有线接口,例如`eth0`。 - `auth_server`: 设置wifidog所连接的认证服务器的地址和端口号,例如`http://authserver.com:8080/wifidog/auth`。 - `auth_server_port`: 设置wifidog所连接的认证服务器的端口号,例如`8080`。 - `auth_server_path`: 设置wifidog所连接的认证服务器的路径,例如`/wifidog/auth`。 - `gateway_interface_ip`: 设置wifidog所使用的网关接口的IP地址,例如`192.168.1.1`。 - `check_interval`: 设置wifidog检查客户端是否在线的时间间隔,单位为秒,例如`30`。 3.配置完成后,需要启动wifidog服务。可以使用以下命令启动wifidog: ```shell /etc/init.d/wifidog start ``` 4.启动wifidog后,需要在防火墙中添加相应的规则,以允许wifidog正常工作。可以使用以下命令添加规则: ```shell iptables -I zone_wan_input -p tcp --dport 80 -j ACCEPT iptables -I zone_wan_input -p udp --dport 53 -j ACCEPT iptables -I zone_wan_forward -p tcp --dport 80 -j ACCEPT iptables -I zone_wan_forward -p udp --dport 53 -j ACCEPT ``` 5.配置完成后,可以通过以下命令查看wifidog的状态: ```shell /etc/init.d/wifidog status ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值