利用RouterOS实现按目的IP限速

思路:利用 【IP->Firewall->Mangle】规则的 【mark packet】功能标记相关目的地的数据包,然后在【Queues->Simple Queue->Advanced->packet marks】 调用被标记的数据包来实现限速。

具体步骤如下:

1.先利用mangle给需要限速的相关数据为打一个标签为(speed_limit)

/ip firewall mangle
add action=mark-packet chain=prerouting disabled=yes dst-address-list=Limit-list new-packet-mark=speed_limit passthrough=yes
add action=mark-packet chain=prerouting disabled=yes new-packet-mark=speed_limit  passthrough=yes src-address-list=Limit-list

2.利用Queues对被标记(speed_limit)的数据包限速。

/queue simple
add disabled=yes limit-at=2M/2M max-limit=2M/2M  packet-marks=speed_limit target=192.168.1.2/32

相关命令:
利用for循环批量添加限速配置(私网段及限速大小请根据实际情况调整)

:for limit from 2 to 254 do={/queue simple add target=("192.168.1." . $limit) limit-at=2M/2M max-limit=2M/2M packet-marks=speed_limit }

    原文作者:myyeti
    原文地址: https://segmentfault.com/a/1190000015694627
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞