Mangle pada Mikrotik RouterOS dapat berfungsi untuk membatasi bandwidth klien. jika klien yang ada tidak terlalu banyak mungkin tidak masalah untuk melakukan setup satu persatu. namun jika klien yang ada berjumlah puluhan bahkan ratusan akan lebih baik jika kita menggunakan script untuk dijalankan pada terminal yang tersedia pada Mikrotik RouterOS, sehingga mempercepat proses kerja.
adapun untuk script membuat mangle secara otomatis dapat dilihat sebagai berikut:
{
:local "ip"
:set ip 192.168.27.
:local "startip"
:set startip 5
:local "endip"
:set endip 30
/queue tree add name="DL-ALL" burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=20M packet-mark="" parent=ether5-lokal priority=8
/queue tree add name="UL-ALL" burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=5M packet-mark="" parent=ether1-internet priority=8
:for i from=$startip to=$endip do={
/ip firewall mangle add action=mark-connection chain=prerouting comment=($ip . $i) disabled=no \
dst-address-list=!internal new-connection-mark=("MARKCONN-" . $i) passthrough=yes \
src-address=($ip . $i)
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=("MARKCONN-" . $i) disabled=no \
new-packet-mark=("CONN-" . $i) passthrough=no
/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=1M \
max-limit=2M name=("DL-" . $i) packet-mark=("CONN-" . $i) parent=DL-ALL \
priority=5 queue=default
/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=1M \
max-limit=2M name=("UL-" . $i) packet-mark=("CONN-" . $i) parent=UL-ALL \
priority=5 queue=default
}
}