Topologi:
ether1 = WAN ke ISP
bridge1 = LAN (AP Ruijie + PC + HP + File Server + NVR)
Rule:
Limit hanya untuk traffic Internet (LAN ↔ WAN)
LAN ↔ LAN (File server, NVR) tidak ikut terlimit
Bandwidth total internet misalnya 100 Mbps download / 50 Mbps upload
Group A = Komputer (prioritas tinggi)
Group B = HP (prioritas lebih rendah)
1. Buat Address List untuk Group A dan B
Misalnya IP PC statis [Link]-20 → Group A, HP otomatis di Group B.
/ip firewall address-list
add list=GroupA address=[Link]
add list=GroupA address=[Link]
add list=GroupA address=[Link]
# dst untuk komputer lain
add list=GroupB address=[Link]-[Link]
# range DHCP untuk HP
Cara lain: bisa pakai DHCP Static Binding biar IP PC tetap
2. Buat Mangle untuk Tandai Traffic Internet
Pisahkan LAN ↔ WAN, tandai traffic Internet (LAN ↔ WAN), bukan LAN ↔ LAN
/ip firewall mangle
# Mark koneksi Internet (download/upload)
add chain=forward action=mark-connection connection-mark=no-mark \
in-interface=ether1 new-connection-mark=WAN_conn passthrough=yes
add chain=forward action=mark-connection connection-mark=no-mark \
out-interface=ether1 new-connection-mark=WAN_conn passthrough=yes
# Tandai paket download (Internet -> LAN)
add chain=forward connection-mark=WAN_conn in-interface=ether1 \
action=mark-packet new-packet-mark=download passthrough=yes
# Tandai paket upload (LAN -> Internet)
add chain=forward connection-mark=WAN_conn out-interface=ether1 \
action=mark-packet new-packet-mark=upload passthrough=yes
Karena mangle pakai forward, maka traffic LAN ↔ LAN tidak ikut ditandai → aman
3. Buat PCQ Queue Type
Supaya bandwidth terbagi rata otomatis per client
/queue type
add kind=pcq name=pcq-download pcq-classifier=dst-address pcq-rate=0
add kind=pcq name=pcq-upload pcq-classifier=src-address pcq-rate=0
pcq-rate=0 artinya unlimited per client, tapi nanti dikontrol oleh parent queue
4. Buat Queue Tree
Bagi bandwidth sesuai group + prioritas
/queue tree
# Parent total
add name="Download" parent=ether1 packet-mark=download max-limit=50M
add name="Upload" parent=ether1 packet-mark=upload max-limit=50M
# Group A (PC) - prioritas tinggi
add name="Download_GroupA" parent=Download packet-mark=download \
queue=pcq-download priority=1
add name="Upload_GroupA" parent=Upload packet-mark=upload \
queue=pcq-upload priority=1
# Group B (HP) - prioritas rendah
add name="Download_GroupB" parent=Download packet-mark=download \
queue=pcq-download priority=8
add name="Upload_GroupB" parent=Upload packet-mark=upload \
queue=pcq-upload priority=8
Aturan ini:
PCQ: otomatis membagi rata bandwidth ke setiap device dalam group.
Priority:
Kalau jaringan penuh → Group A (PC) tetap dapat lebih dulu.
Group B (HP) akan melambat karena kalah prioritas
(file server, NVR) tidak ikut dilimit karena queue hanya dipasang di ether1 (WAN).
Kalau Group A tidak pakai bandwidth penuh, Group B bisa ambil sisanya (dinamis).
Di dalam masing-masing group, PCQ akan membagi rata otomatis per user.
kalau mau ada jaminan minimal (guaranteed bandwidth) untuk komputer (Group A), kita bisa pakai
parameter limit-at di Queue Tree
Queue Tree
Dengan limit-at untuk jaminan minimal
/queue tree
# Parent total bandwidth
add name="Download" parent=ether1 packet-mark=download max-limit=50M
add name="Upload" parent=ether1 packet-mark=upload max-limit=50M
# Group A (PC) - prioritas tinggi, guaranteed 30 Mbps
add name="Download_GroupA" parent=Download packet-mark=download \
queue=pcq-download limit-at=30M max-limit=50M priority=1
add name="Upload_GroupA" parent=Upload packet-mark=upload \
queue=pcq-upload limit-at=30M max-limit=50M priority=1
# Group B (HP) - prioritas rendah, guaranteed 5 Mbps
add name="Download_GroupB" parent=Download packet-mark=download \
queue=pcq-download limit-at=5M max-limit=50M priority=8
add name="Upload_GroupB" parent=Upload packet-mark=upload \
queue=pcq-upload limit-at=5M max-limit=50M priority=8
Penjelasan
limit-at = bandwidth minimum yang dijamin.
o Group A selalu dapat ≥30 Mbps.
o Group B selalu dapat ≥5 Mbps.
max-limit = batas maksimum (kalau tidak ada rebutan).
o Bisa sampai 50 Mbps penuh kalau group lain idle.
priority:
o Group A priority=1 → paling didahulukan.
o Group B priority=8 → paling terakhir