|
|
好的,没问题!下面为你提供一个Padavan自定义脚本,并详细说明使用方法,以实现你所要求的流量限制功能。
脚本内容:
Bash
#!/bin/sh
# 设置流量限制的时间段
start_time="01:00:00"
end_time="17:00:00"
# 设置目标设备的IP地址和接口
target_ip="192.168.123.143"
target_interface="lan1"
# 设置上传速度限制
limit_speed="2Mbit"
# 获取当前时间
current_time=$(date +"%H:%M:%S")
# 判断当前时间是否在限制时间段内
if [[ $current_time -ge $start_time && $current_time -le $end_time ]]; then
# 获取目标设备的接口索引
interface_index=$(nvram get wan_ifname | grep -oP '(?<=ifname=).*')
# 设置流量限制规则
tc qdisc add dev $interface_index root tbf rate $limit_speed burst 15k
else
# 移除流量限制规则
interface_index=$(nvram get wan_ifname | grep -oP '(?<=ifname=).*')
tc qdisc del dev $interface_index root
fi
脚本解释:
时间设置: 脚本设置了每天凌晨1点到下午5点为流量限制的时间段。
设备设置: 脚本指定了目标设备的IP地址和连接的接口(lan1)。
速度限制: 脚本将上传速度限制为2Mbit/s。
时间判断: 脚本会实时获取当前时间,并判断是否在限制时间段内。
流量限制: 如果当前时间在限制时间段内,脚本会使用 tc 命令为目标设备的接口添加一个 TBF (Token Bucket Filter) 队列,限制其上传速度。
规则移除: 如果当前时间不在限制时间段内,脚本会移除之前添加的流量限制规则。
使用方法:
保存脚本: 将上述脚本保存为一个 .sh 文件,例如 limit_upload.sh,并上传到路由器的 /etc/scripts 目录下。
设置执行时机:
系统默认执行: 进入路由器的后台,「高级设置」──「自定义设置」──「脚本」,勾选该脚本,设置其执行时机。
使用自动脚本: 在路由器的终端中使用 crontab 命令设置定时任务。
重启路由器: 使脚本生效。
注意事项:
脚本路径: 请确保脚本的路径正确,否则脚本无法执行。
接口名称: 如果你的目标设备连接的接口不是 lan1,请修改脚本中的 target_interface 参数。
速度单位: 可以根据需要修改 limit_speed 参数中的速度单位,支持 kbit、mbit、k、m 等单位。
其他设置: 你可以根据实际情况修改脚本中的其他参数,例如限制时间段、目标设备IP等。
复杂场景: 如果你的网络环境比较复杂,或者需要更精细的流量控制,可以考虑使用更复杂的脚本或流量管理软件。
温馨提示:
备份配置: 在修改路由器配置之前,建议备份原有配置,以免出现问题。
测试: 在正式使用脚本之前,建议先在测试环境中进行测试,确保脚本能够正常工作。
寻求帮助: 如果遇到任何问题,可以在 Padavan 论坛或者其他技术社区寻求帮助。
免责声明:
本脚本仅供参考,使用本脚本可能对网络造成影响。请谨慎使用,并自行承担风险。
希望这个脚本能帮助你解决问题!
|
|