有时企业环境,或个人使用环境需要针对不同IP设置较多条不同限速,可以使用以下脚本批量处理后,再针对性的修改。
*脚本说明:“2 to 254”定义要设置受限IP的起始,后面“192.168.1.”定义IP段。后面的设置上传和下载,”128k/2M”中128k为上传限制,2M为下载限制。
6.X版本 突发限速
:for roszj from 2 to 254 do={/queue simple add target=("192.168.1." . $roszj) burst-threshold=128K/2M burst-time=15s/15s burst-limit=256K/4M max-limit=128K/2M}
6.X版本
:for roszj from 2 to 254 do={/queue simple add target=("192.168.1." . $roszj) limit-at=0/0 max-limit=128K/2M}
5.X版本 突发限速
:for roszj from 2 to 254 do={/queue simple add target-address=("192.168.1." . $roszj) burst-threshold=128K/2M burst-time=15s/15s burst-limit=256K/4M max-limit=128K/2M}
5.X版本
:for roszj from 2 to 254 do={/queue simple add target-address=("192.168.1." . $roszj) limit-at=0/0 max-limit=128K/2M}
脚本执行演示:
脚本说明
#脚本内容
:for roszj from 2 to 254 do={/queue simple add target=("192.168.1." . $roszj) burst-threshold=128K/2M burst-time=15s/15s burst-limit=256K/4M max-limit=128K/2M}
这个脚本的主要功能是批量创建MikroTik的简单队列(Simple Queue),对一个IP范围内的主机设置带宽限制和突发速率参数。
以下是脚本的逐步解析与详细说明:
1. :for roszj from 2 to 254 do={}
- 这是一个循环语句。
roszj
是循环变量,其值从2
增加到254
。- 每次循环,都会执行
{}
内的代码块。
2. /queue simple add
- 用于创建一个简单队列。
- 每次循环都会添加一个针对不同IP的队列。
3. target=("192.168.1." . $roszj)
- 指定目标IP地址。
"192.168.1."
是固定的网络部分。$roszj
是循环变量,每次循环将其值拼接到网络部分,生成完整的IP地址。- 例如:当
$roszj=2
时,目标IP为192.168.1.2
。
- 例如:当
4. burst-threshold=128K/2M
- 突发阈值,分为上传(128K)和下载(2M)。
- 当用户的带宽使用率达到此阈值时,突发功能会停止,恢复到正常速率。
5. burst-time=15s/15s
- 突发时间,分为上传和下载。
- 用户的流量在突发速率下可以持续的时间为15秒。
6. burst-limit=256K/4M
- 突发速率,分为上传(256K)和下载(4M)。
- 用户在满足突发条件时,流量可以达到的最大速率。
7. max-limit=128K/2M
- 最大速率,分为上传(128K)和下载(2M)。
- 在正常情况下,用户的流量速率不能超过此限制。
脚本功能概述
这个脚本为网络 192.168.1.2
到 192.168.1.254
中的所有IP创建简单队列。每个IP的流量速率配置如下:
- 最大带宽:
- 上传:128Kbps
- 下载:2Mbps
- 突发条件:
- 用户带宽使用未达到阈值时,可以进入突发模式。
- 突发速率:
- 上传:256Kbps
- 下载:4Mbps
- 突发时间:15秒
- 超过阈值后,用户带宽会恢复到最大限制。
应用场景
- 网络优化:限制每个用户的带宽,防止某些用户占用过多资源,影响其他用户的体验。
- 突发功能:允许用户在短时间内达到更高的速率(例如浏览网页或下载小文件),提升体验。