找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 11335|回复: 80

【已自行解决】一直没找到这种限制上网时长的功能

  [复制链接]
发表于 2021-11-22 10:20 | 显示全部楼层 |阅读模式
本帖最后由 mylsmt 于 2022-1-11 17:06 编辑

想要一个限制某个IP或者mac地址单次上网固定时长的功能
效果是设定好了参数后
不论指定设备从何时开始联网 到达固定的时间就会断开网络  断开指定时间之后又可以联网

一直没看到这个功能  不知道有没有大神能搞定   啥路由系统支持都行



论坛没有找到这个功能    可能我这个功能比较小众    但是对于家里有小孩的来说   这样操作还是比较方便的   大人无需干预了
现在自己东拼西凑写了个脚本  在我的老毛子上测试可以执行  
其余路由系统未测试  现在的操作流程是手动启动脚本   或者添加到开机自启即可  
脚本会一直执行  关的话要手动kill进程(反正我也不关)
分享出来有需要的可以研究改造  

转载注明来源,别据为己有啊


附上执行日志 自我感觉良好
start         18:07:16 29 Nov 2021
offline       18:07:35 29 Nov 2021
start         18:09:35 29 Nov 2021
offline       18:09:54 29 Nov 2021
start         18:11:54 29 Nov 2021
disconnection 18:42:03 29 Nov 2021
connection    19:12:03 29 Nov 2021
start         19:14:03 29 Nov 2021
offline       19:14:22 29 Nov 2021
start         19:16:22 29 Nov 2021
offline       19:16:41 29 Nov 2021



#!/bin/sh
date | sed -n 1p | awk '{print "start         " $4,$3,$2,$6 }' >>/tmp/dw.log
#输出添加日志到/tmp/dw.log  观察脚本执行情况    日志尚未自动清理  一天大概50KB左右   缓存小的机器建议计划任务清理  或者去掉日志这几行
olinestatus=`ping  -q 192.168.123.211  -c 10  | sed -n  '4p'  | awk '{print $4}'`
#ping指定IP地址10次 获得接收返回包数值  将数值设定成变量
if [ "$olinestatus" -gt "6" ]
#判断是否收ping通是否超过6次  (视网络情况自行修改)
then
#ping通6次以上后执行下面的命令
sleep 30m
#睡眠30分钟后续集下一步动作 时间自行修改
iptables -I FORWARD  -s 192.168.123.211/32 -j DROP
#将指定ip加入到防火墙黑名单   断开网络
date | sed -n 1p | awk '{print "disconnection " $4,$3,$2,$6 }' >>/tmp/dw.log
#输出日志
sleep 30m
#继续睡眠30分钟
iptables -D FORWARD  -s 192.168.123.211/32 -j DROP
#移除禁止联网的IP 恢复网络
date | sed -n 1p | awk '{print "connection    " $4,$3,$2,$6 }' >>/tmp/dw.log
#输出日志
sleep 2m
sh /etc/storage/dw.sh
#循环执行脚本 脚本为绝对路径 自行修改 (如放到/etc/storage/dw.sh则无需修改)
exit
else
#没有ping通6次以上后执行下面的命令
date | sed -n 1p | awk '{print "offline       " $4,$3,$2,$6 }' >>/tmp/dw.log
#输出日志
sleep 2m
sh /etc/storage/dw.sh
#循环执行脚本 脚本为绝对路径 自行修改
exit
fi

上面的脚本执行之后会导致子进程越来越多,而主进程没有完全结束,最终的结果就是路由器的ram空间耗尽,cpu飙升

又修改了如下的脚本,没有问题了,而且只要一个脚本,设置成开机自启就行了
#
duanwang()
{
date | sed -n 1p | awk '{print "start         " $4,$3,$2,$6 }' >>/tmp/dw.log
olinestatus=`ping  -q 192.168.123.211 -c 10  | sed -n  '4p'  | awk '{print $4}'`
if [ "$olinestatus" -gt "6" ]
then
sleep 30m
iptables -I FORWARD  -s 192.168.123.211/32 -j DROP
date | sed -n 1p | awk '{print "disconnection " $4,$3,$2,$6 }' >>/tmp/dw.log
sleep 25m
iptables -D FORWARD  -s 192.168.123.211/32 -j DROP
date | sed -n 1p | awk '{print "connection    " $4,$3,$2,$6 }' >>/tmp/dw.log
sleep 1m
else
date | sed -n 1p | awk '{print "offline       " $4,$3,$2,$6 }' >>/tmp/dw.log
sleep 1m
fi
}
while :
do
date | sed -n 1p | awk '{print "retry         " $4,$3,$2,$6 }' >>/tmp/dw.log
sleep 1m
duanwang
done






只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
 楼主| 发表于 2021-11-22 10:20 | 显示全部楼层

一直没找到这种限制上网时长的功能

想要一个限制某个IP或者mac地址单次上网固定时长的功能
效果是设定好了参数后
不论指定设备从何时开始联网 到达固定的时间就会断开网络  断开指定时间之后又可以联网

一直没看到这个功能  不知道有没有大神能搞定   啥路由系统支持都行




只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2021-11-22 10:40 | 显示全部楼层
你是预防熊孩子玩手机吧

点评

熊孩子看电视  详情 回复 发表于 2021-11-22 10:47
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2021-11-22 10:43 | 显示全部楼层
爱快高恪都可以的

点评

在哪 我都装了 没看见  详情 回复 发表于 2021-11-22 10:47
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 10:47 | 显示全部楼层
xinyu1727 发表于 2021-11-22 10:40
你是预防熊孩子玩手机吧

熊孩子看电视   
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 10:47 | 显示全部楼层
周卫国 发表于 2021-11-22 10:43
爱快高恪都可以的

在哪 我都装了  没看见
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2021-11-22 10:52 | 显示全部楼层
这功能不是什么稀奇的东西,openwrt 里的其中一个app就是banmac

点评

这个:https://github.com/lunatickochiya/lunatic-lede/commit/376a2db3caed06f9dc88a5ceadb8323f1c8196d5 看了下,纯粹是禁MAC,没有定时的代码。 实在很需要可以开发。  详情 回复 发表于 2021-11-22 12:35
能详细说说吗 没搜到关于这个banmac的资料  详情 回复 发表于 2021-11-22 11:11
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2021-11-22 11:05 | 显示全部楼层
华硕路由就有这个功能,主要是能指定小孩的手机过滤暴力跟色情内容。

点评

这个更牛 能自动限制单次上网时长吗 不是那种自己设置好几点能上几点断网的  详情 回复 发表于 2021-11-22 11:09
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 11:09 | 显示全部楼层
无所不尽其极 发表于 2021-11-22 11:05
华硕路由就有这个功能,主要是能指定小孩的手机过滤暴力跟色情内容。

这个更牛  能自动限制单次上网时长吗       不是那种自己设置好几点能上几点断网的

点评

[attachimg]517995[/attachimg][attachimg]517996[/attachimg]  详情 回复 发表于 2021-11-22 13:01
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 11:11 | 显示全部楼层
xinyu1727 发表于 2021-11-22 10:52
这功能不是什么稀奇的东西,openwrt 里的其中一个app就是banmac

能详细说说吗 没搜到关于这个banmac的资料
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2021-11-22 11:21 | 显示全部楼层
华为家有这个功能,一般正经路由器都有这个功能吧

点评

具体说说 要的是到时间自动断开 而不是我自己设置几点到几点  详情 回复 发表于 2021-11-22 11:57
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 11:57 | 显示全部楼层
skkwnp 发表于 2021-11-22 11:21
华为家有这个功能,一般正经路由器都有这个功能吧

具体说说  要的是到时间自动断开  而不是我自己设置几点到几点

点评

华为路由器限制儿童上网,有按时段限制也有按上网时长限制  详情 回复 发表于 2021-12-14 12:53
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2021-11-22 12:35 | 显示全部楼层
xinyu1727 发表于 2021-11-22 10:52
这功能不是什么稀奇的东西,openwrt 里的其中一个app就是banmac

这个:https://github.com/lunatickochiy ... 5ceadb8323f1c8196d5
看了下,纯粹是禁MAC,没有定时的代码。
实在很需要可以开发。

点评

没开发的技术 要能搞出来肯定很多人需要  详情 回复 发表于 2021-11-22 13:30
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

发表于 2021-11-22 13:01 | 显示全部楼层
mylsmt 发表于 2021-11-22 11:09
这个更牛  能自动限制单次上网时长吗       不是那种自己设置好几点能上几点断网的


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

这也是定时的  详情 回复 发表于 2021-11-22 13:29
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 13:29 | 显示全部楼层
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应。胡乱输入灌水等操作将会被封禁ID。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-7-20 10:28

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表