|
马上注册成为ROSABC会员,随时发帖回复。
您需要 登录 才可以下载或查看,没有账号?会员注册
x
Simple Queue 简单队列
限制数据率的 IP 地址和子网的最简单方法就是使用简单队列。你也可以使用简单队列建立高级 QoS 应用:
-- P2P 流量队列
-- 在选定时间间隔执行队列规则
-- FIFO 优先级
-- 从 /ip firewall mangle 使用多重包标记
-- 形成双向流量(对上传和下载的带宽限制)
属性描述
burst-limit (整数/整数) - 当脉冲串以 in/out(目标上传/下载)形式激活时可以达到的最大数据率
burst-threshold (整数/整数) - 用于计算是否允许脉冲串。如果上一次脉冲时间的平均数据率低于 burst-threshold 则 实际数据率可能达到 burst-limit。以 in/out(目标上传/下载)的形式。
burst-time (整数/整数) - 用于计算平均数据率。以 in/out(目标上传/下载)的形式。
direction (非同时上传和下载) - 流量控制方向
none – 队列停止有效的工作
both – 队列同时限制目标上行和目标下行
upload – 队列仅限制目标上行,下行的数据不会被限制
download - 队列仅限制目标下行,上行的数据不会被限制
dst-address (IP 地址/子网掩码) - 要匹配的目标地址 dst-netmask (子网掩码) - dst-address 的掩码 interface (文本) - 队列应用的对象端口。
limit-at (整数/整数) – 该队列以 in/out(目标上传/下载)的形式约定的数据率
max-limit (整数/整数) - 在有足够带宽情况下可以达到的数据率,以 in/out(目标上传/下载)的形式。
name (文本) - 队列的描述性名称
p2p (any | all-p2p | bit-torrent | blubster | direct-connect | edonkey | fasttrack | gnutella | soulseek | winmx)
– 控制匹配的 P2P 流量类型
all-p2p – 匹配的所有 P2P 传输
any – 匹配任何数据包(即不会检查该属性)
packet-marks (名称; 默认: "") - /ip firewall 中的数据包标记
mangle 更多数据包标记使用逗号(",")搁开。
parent (名称) - 父队列在等级制度中的名称。只能是其他简单队列
priority (整数: 1..8) -队列的优先级。 1 是最高级的,8 是最低的
queue (名称/名称; 默认: default/default) - 以 in/out(目标上传/下载)的形式来自/queue type 的队列名称
target-addresses (IP 地址/子网掩码) - 限制目标 IP 地址(源地址)。使用多地址用逗号分搁开
time (时间,sat | fri | thu | wed | tue | mon | sun{+}; 默认: "") - 限制队列在一个特定时间段的影响
total-burst-limit (整数) - global-total 队列的脉冲串限制
total-burst-threshold (整数) - global-total 队列的脉冲串门限
total-burst-time (时间) - global-total 队列脉冲串时间
total-limit-at (整数) - 限制累计的上传和下载为 total-limit-at bps
total-max-limit (整数) - global-total 队列的限制上限 (限制累计的上传和下载为 total-max-limit bps)
total-queue (名称) - global-total 队列的队列规则
应用举例
下面假设我们想要对网络 192.168.0.0/24 流量限制为:下行 1Mb 上行 512kb,这里我们需要让服务器 192.168.0.1不受流量控制。网络的基本设置如图:
这里我们使用(simple queue)简单队列,首先我们配置 RouterOS 的 IP 地址、网关和 NAT 等基本网络参数:
[RouterOS@ROSABC] ip address> print
Flags: X – disabled, I – invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.254/24 192.168.0.0 192.168.0.255 Local
1 10.5.8.104/24 10.5.8.0 10.5.8.255 Public
[RouterOS@ROSABC] ip address>
路由配置:
[RouterOS@ROSABC] ip route> print
Flags: X – disabled, A – active, D – dynamic,
C – connect, S – static, r – rip, b – bgp, o - ospf
# DST-ADDRESS G GATEWAY DISTANCE INTERFACE
0 ADC 10.5.8.0/24 Public
1 ADC 192.168.0.0/24 Local
2 A S 0.0.0.0/0 r 10.5.8.1 Public
[RouterOS@ROSABC] ip route>
最后不要忘记在 ip firewall nat 中配置 src-nat 的伪装或 nat,做地址转换操作。
为网络 192.168.0.0/24 的所有客户端添加一个限制下载流量为 2Mb 上传流量 1Mb 的简单队列规则。
[RouterOS@ROSABC] queue simple> add name=Limit-Local target-address=192.168.0.0/24 max-limit=1000000/2000000
[RouterOS@ROSABC] queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="Limit-Local" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0
parent=none priority=8 queue=default/default limit-at=0/0 max-limit=1000000/2000000 total-queue=default
[RouterOS@ROSABC] queue simple>
max-limit 限制了最大可用带宽,从客户的角度看,参数 target-addresses 定义限制带宽的目标网络或者主机(也可 以用逗号分隔开网络段或主机地址)。
这里不想让服务器受到我们添加上面规则的任何流量限制,我们可以通过添加一个没有任何限制的规则(max-limit=0/0代表没有任何限制)并把它移到列表的顶部:
[RouterOS@ROSABC] queue simple> add name=Server target-addresses=192.168.0.1/32
[RouterOS@ROSABC] queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="Limit-Local" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=65536/131072
total-queue=default
1 name="Server" target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=0/0
total-queue=default
[RouterOS@ROSABC] queue simple> move 1 0
[RouterOS@ROSABC] queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="Server" target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default
limit-at=0/0 max-limit=0/0 total-queue=default
1 name="Limit-Local" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default
limit-at=0/0 max-limit=65536/131072 total-queue=default
[RouterOS@ROSABC] queue simple>
|
|