Mikrotik : Praktikum Cek Mangle dengan Packet Mark dan Queue Tree

🎯 Tujuan

Setelah mengikuti praktikum ini, kamu diharapkan bisa:

  • mengecek hasil kerja mangle lewat counter dan daftar connection;
  • membuktikan bahwa packet mark benar-benar "nempel" pada trafik yang kita mau;
  • memasang Queue Tree di atas mark yang sudah dibuat di materi pagi;
  • membaca statistik queue (rate, bytes, queued, dropped) dan mengartikannya;
  • menelusuri kenapa sebuah trafik "tidak masuk queue" β€” penyebab paling sering adalah FastTrack.

Praktikum ini adalah lanjutan langsung dari Mikrotik : Firewall Mangle Dasar. Kalau kamu belum membaca materi itu, baca dulu supaya istilah seperti `mark-connection` dan `mark-packet` tidak terasa asing.

πŸ“ Konteks nyata

Bayangkan petugas gudang sudah menempelkan stiker label pada paket kiriman. Masalahnya, banyak orang melupakan langkah setelahnya: memastikan paket benar-benar masuk ke jalur khusus yang sesuai labelnya.

Analogi mudahnya begini:

  • mangle = petugas yang menempelkan stiker warna;
  • Queue Tree = jalur/lorong khusus yang hanya menerima paket dengan stiker warna tertentu;
  • verifikasi = inspeksi: benarkah paket berstiker itu benar-benar lewat lorongnya, bukan lewat jalur biasa?

πŸ”₯ Kasus nyata: Sebuah lab komputer SMK memasang Queue Tree untuk membatasi trafik streaming 5 Mbps. Setelah dipasang, streaming tetap kencang dan batasnya tidak terasa sama sekali. Setelah dicek, ternyata rule FastTrack bawaan masih aktif. Paket yang sudah difast-track melewati mangle dan queue sepenuhnya β€” jadi mark-nya tidak pernah dibuat dan jalur khususnya kosong. Solusinya sederhana: matikan FastTrack untuk trafik yang mau di-queue, lalu batasnya langsung bekerja.

πŸ’‘ Tips: sebelum menyalahkan konfigurasi queue, selalu cek dua hal lebih dulu: counter mangle naik atau tidak, dan FastTrack aktif atau tidak.

🧠 Konsep singkat

Menurut dokumentasi resmi MikroTik, Queue Tree adalah mekanisme antrean hierarkis berbasis algoritma HTB (Hierarchical Token Bucket). Ia tidak memilih trafik berdasarkan IP, melainkan sepenuhnya bergantung pada packet mark dari `/ip firewall mangle`.

πŸ“Š Angka penting: jumlah packet mark di RouterOS dibatasi maksimal 4096 entri. Kalau lewat, RouterOS melempar error `bad new packet mark`.

Setiap antrean punya dua angka penting:

| Parameter | Arti sederhana | Analogi | |---|---|---| | `limit-at` | jatah minimum yang dijamin dapat | kursi yang sudah dipesan | | `max-limit` | batas maksimum yang boleh dipakai | langit-langit kecepatan | | `priority` (1–8) | siapa yang didahulukan saat rebutan | antrean prioritas bandara |

πŸ“Š Angka penting: `priority` 1 adalah yang paling tinggi, 8 paling rendah. Priority hanya berpengaruh saat bandwidth sedang rebutan β€” ia tidak menambah jaminan `limit-at`.

Titik tempel queue tree ditentukan oleh parent. Inilah tiga pilihan yang paling sering dipakai di lab:

| Parent | Dipakai untuk | |---|---| | `global` | membatasi trafik upload (keluar total) | | `global-in` | membatasi trafik download (masuk total) | | nama interface | membatasi per-interface, misalnya `ether1` |

πŸ’‘ Tips: pakai nama interface sebagai parent kalau ingin lebih simpel β€” trafik upload otomatis lewat interface WAN dan download lewat interface LAN, jadi cukup satu set mark.

🧩 Istilah penting

  • packet mark β€” label yang ditempel mangle ke paket; hanya hidup di dalam router, tidak ikut terkirim ke jaringan.
  • HTB β€” algoritma pembagi bandwidth berjenjang; diibaratkan sistem lorong bertingkat.
  • peer/brother queue β€” antrean anak yang berbagi bandwidth milik parent yang sama.
  • borrow / lend β€” mekanisme pinjam-meminjam jatah bandwidth antar antrean saat ada yang menganggur.
  • FastTrack β€” fitur percepatan paket yang melewati mangle, queue, dan sebagian firewall.
  • queue type β€” algoritma di dalam antrean, misalnya `pcq`, `sfq`, `fifo`; menentukan paket mana yang dikirim lebih dulu.
  • queued-bytes β€” besarnya data yang sedang menunggu di antrean; kalau naik terus, biasanya tanda antrean penuh atau limit terlalu kecil.

πŸ”§ Praktik: Cek Packet Mark dan Queue Tree

Praktik ini menganggap kamu sudah punya konfigurasi dasar yang berjalan: interface WAN, bridge LAN, DHCP, dan NAT (lihat materi Mikrotik : NAT Masquerade agar Client Bisa Internet).

πŸ”Ή Persiapan lab

  1. Catat dulu topologi dan nilainya:
    • interface WAN: `ether1`
    • bridge LAN: `bridge-LAN`
    • alamat server ujian (contoh): `192.168.88.10`
    • kapasitas internet contoh: 10 Mbps
  2. Buat salinan konfigurasi sebelum bereksperimen:
/export file=sebelum-praktikum-queue
/system backup save name=sebelum-praktikum-queue

⚠️ Hati-hati: selalu export konfigurasi sebelum mengubah queue dan firewall. Salah satu salah ketik di `parent` bisa membuat router lambat, bukan cepat.

πŸ”Ή Langkah 1 β€” Cek FastTrack lebih dulu

  1. Tampilkan rule FastTrack:
/ip firewall filter print where action=fasttrack-connection
  1. Kalau ada rule FastTrack yang mengenai trafik uji, nonaktifkan sementara:
/ip firewall filter disable [find action=fasttrack-connection]
  1. Catat nomor rule-nya supaya bisa diaktifkan lagi setelah praktikum.

πŸ”₯ Kasus nyata: di banyak sekolah, FastTrack bawaan wizard MikroTik masih hidup. Akibatnya semua praktikum queue dan mangle "tidak berefek" walau konfigurasinya benar. Ini bukan bug β€” FastTrack memang dirancang melewati kedua subsistem itu.

πŸ”Ή Langkah 2 β€” Pastikan rule mangle sudah ada

  1. Tampilkan rule mangle yang menandai trafik uji:
/ip firewall mangle print stats
  1. Perhatikan kolom packets dan bytes pada rule `mark-packet`. Kalau masih 0, mark-nya belum pernah kena trafik.
  2. Kalau kamu belum punya rulenya, buat dulu β€” pola hemat: tandai koneksi, lalu tandai paket:
/ip firewall mangle
add chain=forward connection-state=new src-address=192.168.88.10 action=mark-connection new-connection-mark=conn-ujian passthrough=yes
add chain=forward connection-mark=conn-ujian action=mark-packet new-packet-mark=pmark-ujian passthrough=no

πŸ’‘ Tips: pakai `passthrough=no` di rule `mark-packet` terakhir supaya paket tidak diperiksa rule berikutnya tanpa perlu. Ini menghemat beban CPU router.

πŸ”Ή Langkah 3 β€” Reset counter supaya pengukuran bersih

  1. Nolkan counter mangle dan queue:
/ip firewall mangle reset-counters
/queue tree reset-counters
  1. Setelah itu, minta client uji mengakses server ujian atau melakukan download uji.

πŸ”Ή Langkah 4 β€” Bangun Queue Tree dari mark tersebut

  1. Batasi trafik ujian download 4 Mbps dengan jaminan 1 Mbps, lewat HTB incoming:
/queue tree
add name=q-ujian-download parent=global-in packet-mark=pmark-ujian max-limit=4M limit-at=1M priority=1
  1. Ulangi untuk arah upload lewat HTB outgoing:
/queue tree
add name=q-ujian-upload parent=global packet-mark=pmark-ujian max-limit=2M limit-at=512k priority=1

πŸ“Š Angka penting: aturan praktis HTB β€” jumlah `limit-at` semua anak tidak boleh melebihi `max-limit` parent. Sisakan ruang supaya antrean lain tetap bisa bergerak.

πŸ”Ή Langkah 5 β€” Baca statistik queue

  1. Tampilkan statistik antrean:
/queue tree print stats
  1. Cocokkan nama antrean dengan mark-nya, lalu baca kolom berikut:

| Kolom | Arti | Tanda sehat | |---|---|---| | `rate` | kecepatan saat ini | berubah mengikuti trafik | | `bytes` | total data yang lewat | bertambah saat uji jalan | | `queued-bytes` | data yang sedang menunggu | kecil/sesaat saja | | `dropped` | paket dibuang | 0 saat trafik di bawah limit |

πŸ§ͺ Uji cepat: kalau `rate` antrean ujian masih 0 padahal client sedang transfer, berarti mark-nya tidak kena ke paket tersebut β€” kembali ke Langkah 1 dan 2.

πŸ”Ή Langkah 6 β€” Uji skenario trafik rebutan

  1. Buat antrean pembanding untuk trafik lain:
/queue tree
add name=q-lain-download parent=global-in packet-mark=pmark-lain max-limit=6M priority=8
  1. Jalankan download besar di dua client sekaligus.
  2. Amati: antrean dengan `priority=1` mencapai max-limit lebih dulu, sedangkan `priority=8` tertahan lebih dahulu saat bandwidth mulai sempit.

πŸ”Ή Langkah 7 β€” Kembalikan kondisi lab

  1. Aktifkan kembali FastTrack setelah praktikum selesai:
/ip firewall filter enable [find action=fasttrack-connection]
  1. Ingat: kalau FastTrack hidup, queue hanya bekerja untuk trafik yang tidak difast-track.

🏭 Dipakai di dunia kerja

  • Sekolah:** lab 30 PC dan ujian berbasis komputer. Trafik server ujian ditandai mangle lalu diberi `priority` tinggi di Queue Tree, sehingga nilai siswa tidak hilang walau ada yang streaming di jam yang sama.
  • Kantor:** rapat online putus-putus karena ada karyawan mengunduh file besar. Mark untuk trafik VoIP/meeting diprioritaskan, trafik unduhan ditahan di prioritas rendah. Hasilnya rapat lancar tanpa harus memblokir unduhan.
  • ISP kecil / RT-RW Net:** paket pelanggan dibagi per kelas layanan. Queue Tree memastikan pelanggan kelas "prioritas" tetap mendapat jatah minimum, sementara pengguna lain memakai sisa bandwidth.
  • Warnet / game center:** game dan voice chat butuh latensi rendah. Mark khusus pada trafik game membuatnya menang rebutan saat ada yang mengunduh update besar.
  • Industri / CCTV jaringan:** video monitoring harus stabil. Trafik CCTV diberi jaminan `limit-at` supaya tidak pernah kalah dengan trafik kantor biasa.

βœ… Verifikasi

Jalankan urutan ini setelah konfigurasi. Semuanya harus lolos sebelum kamu bilang "selesai".

  1. Rule mangle ada dan kena trafik
/ip firewall mangle print stats
  1. Mark muncul di daftar packet mark
/ip firewall mangle print where new-packet-mark=pmark-ujian
  1. Queue Tree membaca mark yang benar
/queue tree print stats
  1. FastTrack tidak sedang membypass
/ip firewall filter print where action=fasttrack-connection
  1. Trafik benar-benar melewati antrean
/tool torch interface=bridge-LAN
  1. Torch menampilkan alamat IP dan protokol yang sedang ramai. Cocokkan dengan mark-mu β€” kalau IP uji ramai di Torch tapi antreannya 0, berarti masalahnya di mark atau FastTrack.

πŸ§ͺ Uji cepat: cara paling meyakinkan adalah sebelum/sesudah. Ukur kecepatan tanpa queue, lalu dengan queue. Kalau angkanya tidak berubah, queue belum bekerja.

⚠️ Kesalahan umum & troubleshooting

  • ⚠️ Hati-hati: antrean tidak membatasi sama sekali β†’ cek FastTrack (paling sering), lalu cek `passthrough` dan chain mangle.
  • ⚠️ Hati-hati: packet mark tidak ada isinya β†’ rule mangle salah arah. Ingat: download menuju LAN ditandai di chain `forward`, upload menuju WAN juga di `forward`.
  • ⚠️ Hati-hati: queue jalan tapi lambat berlebihan β†’ `limit-at` terlalu kecil atau parent `max-limit` lebih kecil dari total kebutuhan. Naikkan bertahap, jangan langsung drastis.
  • ⚠️ Hati-hati: `queued-bytes` terus menumpuk dan `dropped` naik β†’ antrean kelebihan beban; turunkan jumlah antrean atau naikkan `max-limit`.
  • ⚠️ Hati-hati: trik "batasi YouTube 5M" gagal β†’ address-list `www.youtube.com` hanya berisi sebagian IP. YouTube memakai banyak alamat; masukkan beberapa alamat atau pakai pendekatan per-IP client.
  • πŸ’‘ Tips: pesan error `bad new packet mark` berarti kamu melewati batas 4096 mark. Rapikan mark lama yang tidak terpakai.
  • πŸ’‘ Tips: jangan pakai `mark-routing` untuk trafik yang sedang di-FastTrack. FastTrack hanya bekerja di tabel routing `main`.

Metode diagnosis yang rapi:

  1. cek rule mangle (counter naik atau tidak);
  2. cek FastTrack (aktif atau tidak);
  3. cek mark vs queue (nama mark samakah? typo satu huruf bikin antrean kosong);
  4. cek parent (global untuk upload, global-in untuk download);
  5. cek Torch untuk memastikan trafik memang lewat jalur yang diperiksa.

πŸ” Catatan keamanan & etika

  • Praktikum ini hanya untuk lab milik sendiri atau jaringan yang kamu punya izin kelola. Membatasi trafik perangkat orang lain tanpa izin masuk ranah pelanggaran.
  • Melihat trafik pengguna itu sensitif. Gunakan Torch secukupnya untuk diagnosis, jangan untuk mengintip isi aktivitas orang.
  • Jangan menyalakan fitur sniffing (misalnya `sniff-tzsp` ke Wireshark) di jaringan produksi tanpa izin tertulis β€” di jaringan sekolah hal ini bisa melanggar privasi siswa.
  • Simpan hasil `export` konfigurasi di tempat yang aman; file export memuat detail topologi dan bisa dipakai orang lain untuk memetakan jaringanmu.

πŸ“Œ Kesimpulan

Mangle dan Queue Tree adalah satu paket kerja: mangle menempelkan label, Queue Tree memakai label itu untuk mengatur antrean.

Kunci praktikum ini ada tiga:

  1. pastikan FastTrack tidak membypass trafik uji;
  2. buktikan packet mark benar-benar kena lewat counter dan daftar connection;
  3. baca statistik queue β€” `rate`, `bytes`, `dropped` β€” bukan sekadar percaya konfigurasi.

Langkah berikutnya yang paling nyambung adalah mempelajari Queue Tree bertingkat dengan parent berjenjang dan tipe antrean PCQ untuk membagi bandwidth rata antar banyak pengguna, lalu masuk ke policy routing untuk memilih jalur internet. Kombinasi inilah yang membentuk dasar traffic engineering di jaringan nyata.

πŸ”— Materi terkait

πŸ“š Referensi