RouterOS(ROS)简单限速/单IP限速脚本

有时企业环境,或个人使用环境需要针对不同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}

脚本执行演示:
simp-queues


脚本说明

#脚本内容
: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.2192.168.1.254 中的所有IP创建简单队列。每个IP的流量速率配置如下:

  • 最大带宽
    • 上传:128Kbps
    • 下载:2Mbps
  • 突发条件
    • 用户带宽使用未达到阈值时,可以进入突发模式。
    • 突发速率
      • 上传:256Kbps
      • 下载:4Mbps
    • 突发时间:15秒
  • 超过阈值后,用户带宽会恢复到最大限制。

应用场景

  1. 网络优化:限制每个用户的带宽,防止某些用户占用过多资源,影响其他用户的体验。
  2. 突发功能:允许用户在短时间内达到更高的速率(例如浏览网页或下载小文件),提升体验。