QOS With Mikrotik
Following are few scenarios for some examples : I will add more soon,1# Limit user traffic using PCQ (also useful for Hotspot Bypassed MAC address)
To limit all users 192.168.1.0/24 to 512kb epr user, using PCQ, use following script.
1
2
3
4
5
6
7
8
9
10
11
12
| /queue type add
kind=pcq name=download-512kb pcq-burst-rate=0 pcq-burst-threshold=0
pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32
pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=524288 \ pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000 add
kind=pcq name=upload-512kb pcq-burst-rate=0 pcq-burst-threshold=0
pcq-burst-time=10s pcq-classifier=src-address pcq-dst-address-mask=32
pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=524288 \ pcq-src-address-mask=32 pcq-src-address6-mask=64 pcq-total-limit=2000 /queue simple add
burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment="Limit
every Users at 512kb using PCQ. Can be used for hotspot BYPASSED macs
too. Can be used for multi purpose Syed Jahanzaib" \ direction=both
disabled=no interface=all limit-at=0/0 max-limit=0/0 name=512k-limit
packet-marks="" parent=none priority=8 queue=upload-512kb/download-512kb
target-addresses=192.168.1.0/24 \ total-queue=default-small |
Bandwidth example:
512k = 524288
1mb = 1048576
2mb = 2097152
4mb = 4194304
↓
Result as showed in the image below . . .
↓
↓
1# Allowing specific extension Low Priority over other traffic
In this example we are marking traffic via mangle rules. .iso extension is marked as low priority traffic , and all other traffic is marked as hi priority traffic.For example We have 256kb internet bandwidth in total. and we want that when users are downloading any .iso file, it gets low priority over other traffic i.e browsing etc. Use the following.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| /ip firewall mangle add
action=mark-connection chain=postrouting comment="Mark Conn for .iso
Ext" content=iso disabled=no new-connection-mark=iso-conn
passthrough=yes add
action=mark-packet chain=postrouting comment="Mark Pkts for iso-conn
Ext" connection-mark=iso-conn disabled=no
new-packet-mark=lo-prio-traffic-pkts passthrough=no add
action=mark-connection chain=postrouting comment="Mark Conn for all
other traffic" content=!iso disabled=no
new-connection-mark=hi-prio-traffic-conn passthrough=yes add
action=mark-packet chain=postrouting comment="Mark Pkts for all other
traffic" connection-mark=hi-prio-traffic-conn disabled=no
new-packet-mark=hi-prio-traffic-pkts passthrough=no /queue simple add name=wan_conn_limit interface=ether1 max-limit=256k/256k /queue simple add name=hi-prio-traffic interface=ether1 parent=wan_conn_limit packet-marks=hi-prio-traffic-pkts priority=1 /queue simple add name=lo-prio-traffic packet-marks=lo-prio-traffic-pkts interface=ether1 parent=wan_conn_limit priority=8 |
1# Allowing Specific File Extensions High / Limited / Unlimited Bandwidth
For example, You have a network and every user have there bandwidth limited at 256kb. Now you want that if a user is downloading .FLV video file , He can view/download it at unlimited speed regardless of his allowed speed limit, i.e 256kb package, Use the following.First mark all packets with .flv extention.
1
2
3
4
| /ip firewall mangle add
action=mark-connection chain=postrouting comment="Mark Conn for .flv
Ext" content=flv disabled=no new-connection-mark=flv-conn
passthrough=yes add
action=mark-packet chain=postrouting comment="Mark Pkts for flv-conn
Ext" connection-mark=flv-conn disabled=no new-packet-mark=flv
passthrough=no |
1
2
| /queue tree add
burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=100M
max-limit=100M name=Unlimited-Speed-4-Marked-Pkts packet-mark=flv
parent=global-out priority=1 queue=defaul |
2# Allowing Specific Ports High Priority over other traffic
First we need to mark protocols. (In this example we are using SMTP port 25 )
1
2
| /ip
firewall mangle add chain=prerouting protocol=tcp port=25
connection-state=new action=mark-connection
new-connection-mark=hi_prio_conn /ip firewall mangle add chain=prerouting connection-mark=hi_prio_conn action=mark-packet new-packet-mark=hi_prio_conn_pkts |
1
2
3
| /queue simple add name=wan_conn_limit interface=ether1 max-limit=2M/2M /queue simple add name=prio interface=ether1 parent=wan_conn_limit packet-marks=hi_prio_conn_pkts priority=1 /queue simple add name=other interface=ether1 parent=Internet priority=8 |
3# Equal Distribution of Bandwidth for a number of users using PCQ
If you have a 512 kbps WAN connection and you want to share this equally among your users but if only one pc is active it should have the full 512 kbps, if 2 pcs are active 256 kbps each and vise versa.As shown in the image below . . .
Use the following:
1
2
3
4
| /queue type add name="PCQ_download" kind=pcq pcq-rate=512k pcq-classifier=dst-address /queue type add name="PCQ_upload" kind=pcq pcq-rate=512k pcq-classifier=src-address /queue simple add queue=PCQ_upload/PCQ_download target-addresses=192.168.2.0/24 |
4# Limiting Single User Bandwidth via Simple QUEUE (Lookout for order number)
1
| /queue simple add name="Limiting Zaib to 256kb" target-addresses=192.168.2.6 max-limit=256k/256k |
0 comments:
Post a Comment