OpenWrt 系统系统如何控制设备定时断网

2023-07-28 09:28:59 +08:00
 vicalloy
之前小米路由器可以给连接路由器的终端设置定时断网。最近新换了个京东云,没有这个功能了。
好在这个路由器基于 OpenWrt 系统,而且很容易就破解了 SSH 登录,可以折腾一下。
不知道有没有什么办法可以实现定时断网功能。
另外不知道是否有办法把 OpenWrt 自的那套 web 管理软件安回去。
2446 次点击
所在节点    OpenWrt
10 条回复
huangmingyou
2023-07-28 09:41:41 +08:00
命令行用 iptables 可以
Chihaya0824
2023-07-28 10:26:07 +08:00
Corntab + iptables?
用的 mac address 去做的区分
22 点断网
0 22 * * * /usr/sbin/iptables -A FORWARD -m mac --mac-source AA:BB:CC:DD:EE:FF -j DROP
17 点联网
0 17 * * * /usr/sbin/iptables -D FORWARD -m mac --mac-source AA:BB:CC:DD:EE:FF -j DROP
放到 crontab 里就行了,但是 mac 地址很容易被直接改掉,如果真的要断网就两个 wifi ,一个到点了就把 wan 给 down 了,另一个没限制你用这样更好
vicalloy
2023-07-28 11:00:15 +08:00
目前看下来用 cron+iptables 是最可行的方案了。就是用起来不方便,无法通过 web 进行管理(比如临时放开限制)。
考虑自己封装一个简单的 web 管理界面用来做控制。
cq65617875
2023-07-28 11:06:14 +08:00
crontab 方法最简单
可以直接操作 arp table
然后放开的时候清空下整个表
Metre
2023-07-28 11:06:44 +08:00
luci-app-accesscontrol
yolee599
2023-07-28 13:00:49 +08:00
看看是什么 CPU 的,到 openwrt 官网看看有没有固件包,刷了就有 luci 界面了
nitmali
2023-07-28 13:30:54 +08:00
我直接 red node + home assistant 通过远程 ssh 命令做成开关桥接到 homekit
lovelylain
2023-07-28 13:50:09 +08:00
将 iptables 命令包装成脚本,用 command_line 接入 homeassistant 做成开关,在 HA 界面上打开开关断网关闭开关恢复,还能用 HA 的自动化设置各种自动断网条件,例如定时断网定时恢复,打开电视多长时间后断网,断网多长时间后恢复。相关文档:
iptables 控制上网: https://github.com/4IceG/luci-app-timecontrol/blob/main/luci-app-timecontrol/root/etc/init.d/timecontrol#L43
command_line 接入: https://www.home-assistant.io/integrations/command_line/
HA 自动化: https://www.home-assistant.io/docs/automation/basics/
a90405
2023-07-28 14:50:54 +08:00
Openwrt 防火墙自带流量控制:

Web interface instructions
Adjust the parameters according to your configuration.

Navigate to LuCI → Network → Firewall → Traffic Rules.
Click Add and specify:
Name: Filter-Parental-Controls
Protocol: Any
Source zone: lan
Destination zone: wan
Action: reject
(Optional) If you want to add a MAC or IP limitation, on the Advanced Settings tab specify:
Source MAC address: 00:11:22:33:44:55
Source IP address: 192.168.1.2
On the Time Restrictions tab specify:
Week Days: Monday, Tuesday, Wednesday, Thursday, Friday
Start Time: 21:30:00
Stop Time: 07:00:00
Click Save, then Save & Apply.
You can add another rule to apply time restrictions on weekend.
vicalloy
2023-07-31 20:49:33 +08:00
加个后续。
最终方案:

1. 使用 uci 命令修改 wireless 配置文件,将需要管控的设备加入/移出 Wi-Fi 黑明单。
2. 使用 crontab 创建定时任务,实现定时控制。
3. 在路由器的黑明单中无法查看到通过修改 wireless 加入黑明单的设备。但可以通过将设备加入黑名单再移除的方式对设备进行临时解禁。

具体过程见:
https://haoluobo.com/2023/07/jd-cloud-wireless-treasure-openwrt-controls-client-timing-disconnection/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960414

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX