ROS hotspot 门店应用实例

By | 2025-12-16

以下是适配普通AP的ROS扫码放行+时长限制的完整详细配置,适配ROS v7版本,全程用Winbox操作,步骤清晰且无复杂依赖,普通AP或家用路由纯AP模式均适用:

 

前提准备

 

1. 连接ROS:用网线连接电脑与ROS路由器LAN口,打开Winbox,通过ROS的MAC地址或IP连接设备。

 

2. AP部署:将普通AP(或家用路由切纯AP模式)用网线连ROS的LAN口,AP仅需设置SSID(如“门店免费WiFi”),关闭DHCP和路由功能,仅做无线信号转发。

 

第一步:配置ROS基础网络(保障内网通信)

 

1. 配置内网IP

 

1. 点击左侧【IP】-【Addresses】,点击“+”新建;Address填192.168.3.1/24(内网网关),Interface选ROS连接AP的LAN口(如ether2),点击OK。

 

2. 点击【IP】-【Routes】,新建默认路由:Dst.Address填0.0.0.0/0,Gateway填外网网关(如运营商给的10.0.0.1),确保ROS能上网。

 

2. 配置DHCP服务器(给终端分配IP)

 

1. 点击【IP】-【Pool】,新建地址池:Name填wifi_pool,Addresses填192.168.3.10-192.168.3.200,点击OK。

 

2. 点击【IP】-【DHCP Server】,点击“DHCP Setup”向导;选择内网接口(ether2)→地址池选wifi_pool→网关填192.168.3.1→DNS填223.5.5.5→租约时间默认即可,完成向导。

 

第二步:搭建Hotspot基础框架(拦截未认证终端)

 

1. 点击【IP】-【Hotspot】,点击“Hotspot Setup”启动向导:

 

1. Interface选内网接口(ether2);Local Address填192.168.3.1;Address Pool选wifi_pool。

 

2. Certificate选none;DNS保持223.5.5.5;后续管理员账号可默认,完成向导生成Hotspot服务(默认名为hotspot1)。

 

2. 双击生成的hotspot1服务,在General标签页勾选Enabled,Idle Timeout设为00:05:00(未认证终端5分钟空闲断开),点击OK。

 

第三步:制作并上传扫码放行页面

 

1. 编写简易认证页面

新建文本文档,改后缀为login.html,内容如下(仅提示扫码),保存到电脑:

<html>

<body style=”text-align:center;padding-top:50px;”>

<h2>请扫描门店二维码上网</h2>

<a href=”http://192.168.3.1:8080/scan_ok” style=”font-size:18px;”>扫码后点击此链接上网</a>

</body>

</html>

2. 上传页面到ROS

 

1. 在Winbox左侧点击【Files】,进入hotspot文件夹;

 

2. 拖动电脑上的login.html到该文件夹,完成上传。

 

3. 生成门店二维码:用在线二维码生成器,输入页面中的链接http://192.168.3.1:8080/scan_ok,生成后打印作为门店立牌。

 

第四步:配置扫码放行脚本与服务(核心功能)

 

1. 新建放行脚本(控制上网时长)

 

1. 点击【System】-【Scripts】,点击“+”新建;Name填scan_allow。

 

2. 脚本内容如下(timeout=2h为上网时长,可改1h、4h等),粘贴后点击OK:

:local clientIp [/ip hotspot active get [find where server=hotspot1] address]

# 添加设备到放行列表,设置时长

/ip firewall address-list add address=$clientIp list=wifi_allowed timeout=2h comment=”扫码放行”

# 记录放行日志

:local logMsg (“放行设备IP:” . $clientIp . ” 时间:” . [/system clock get time])

/log info $logMsg

2. 新建服务接收扫码请求

 

1. 点击【IP】-【Services】,点击“+”新建;Name填wifi_auth_service,Port填8080,Protocol选tcp。

 

2. 在脚本下拉框选scan_allow,点击OK,实现访问8080端口链接时触发放行脚本。

 

第五步:配置防火墙规则(管控上网权限)

 

1. 放行已扫码设备流量

 

1. 点击【IP】-【Firewall】-【Filter Rules】,点击“+”新建;General标签:Chain选forward,Src.Address List选wifi_allowed。

 

2. Action标签:Action选accept;Comment填“放行扫码设备”,点击OK。

 

2. 阻断未认证设备流量

 

1. 再新建一条规则;General标签:Chain选forward,Src.Address填192.168.3.0/24。

 

2. Action标签:Action选drop;Comment填“阻断未扫码设备”,点击OK。

 

3. 重定向到认证页面

 

1. 新建规则;General标签:Chain选dstnat,Src.Address填192.168.3.0/24,Src.Address List选!wifi_allowed,Dst.Port填80,443。

 

2. Action标签:Action选redirect,To Ports填80;点击OK,确保未放行设备连WiFi后自动跳认证页。

 

第六步:关联认证页面与Hotspot

 

1. 点击【IP】-【Hotspot】-【Server Profiles】,双击默认的default配置文件。

 

2. 切换到HTML标签,Login Page填login.html,HTML Directory默认hotspot(与上传页面的文件夹一致),点击OK。

 

第七步:功能测试与参数调整

 

1. 测试流程:手机连“门店免费WiFi”→自动跳认证页→扫门店二维码打开链接→触发脚本后正常上网。

 

2. 调整时长:若要改上网时长,只需编辑【System】-【Scripts】中的scan_allow,修改timeout参数即可。

 

3. 查看记录:点击【System】-【Log】,可查看所有设备的扫码放行时间和IP记录。

發佈留言