RB941 hAP lite dengan CPU AR9344 650MHz dan RAM 32MB. Layer7 Protocol SANGAT MEMBERATKAN CPU karena harus inspect
isi packet. Untuk RB941, batasi maksimal 5-10 pattern L7 aktif bersamaan. Untuk kebutuhan DPI intensif, pertimbangkan
upgrade ke hAP ac^2 (717MHz, 128MB RAM) atau CCR series.
CPU
AR9344 - 650MHz
RAM
32 MB DDR2
STORAGE
16 MB FLASH
ETHERNET
4x 10/100 Mbps
WIRELESS
2.4GHz b/g/n
L7 PATTERN
5-10 MAX
L7 MAX BW
~20-30 Mbps
CLIENT MAX
~20 DEVICE
POWER
5V DC / USB
OS
RouterOS v6 L4
DIMENSI
113 x 89 x 28mm
BERAT
160 gram
LIMITASI LAYER7 RB941: Layer7 inspect isi packet = CPU intensive. RB941 dengan RAM 32MB terbatas. Jangan gabungkan L7 + hotspot + banyak queue tree. Monitor CPU load, jika >80% kurangi pattern atau upgrade hardware.
ALUR LAYER7: (1) Packet masuk dari client, (2) Mangle inspect isi packet dengan regex pattern, (3) Jika match -> mark connection, (4) Mark packet berdasarkan connection-mark, (5) Queue tree apply limit/block berdasarkan packet-mark.
ANIMASI DEEP PACKET INSPECTION
LIVE FLOW
Visualisasi DPI: packet dari client di-inspect oleh L7 engine, regex pattern match dengan konten packet,
lalu di-mark dan di-route ke queue tree yang sesuai (limit/block/allow).
Blocked (L7 Match)
Allowed (No Match)
Limited (L7 Match)
Request Packet
Response Packet
DEEP INSPECTION: L7 engine membuka isi packet (payload), bukan hanya header. Regex pattern mencocokkan dengan konten (domain, URL, dll). Jika match, packet di-mark dan di-route sesuai queue tree.
KONSEP DASAR LAYER7 PROTOCOL
FUNDAMENTAL
Layer7 Protocol di MikroTik adalah fitur Deep Packet Inspection (DPI) yang bekerja di
Layer 7 (Application Layer) model OSI. Berbeda dengan firewall biasa yang hanya melihat
header packet (IP, port), Layer7 membuka isi payload packet dan mencocokkan dengan
regex pattern untuk mengidentifikasi aplikasi.
MODEL OSI - LAYER 7
LAYER
NAMA
FUNGSI
CONTOH
7
Application
Aplikasi user
HTTP, FTP, SMTP, DNS, YouTube, TikTok
6
Presentation
Enkripsi, format
SSL/TLS, JPEG, ASCII
5
Session
Session management
NetBIOS, RPC
4
Transport
End-to-end connection
TCP, UDP
3
Network
Routing, addressing
IP, ICMP
2
Data Link
Frame, MAC address
Ethernet, WiFi
1
Physical
Bit, sinyal
Kabel, radio
FIREWALL BIASA vs LAYER7
ASPEK
FIREWALL BIASA
LAYER7 PROTOCOL
Inspeksi
Header (IP, port, protocol)
Payload (isi packet)
Identifikasi
Berdasarkan port (80, 443)
Berdasarkan konten (regex)
Contoh
Blokir port 443 = semua HTTPS
Blokir youtube.com saja
Akurasi
Rendah (bisa salah blok)
Tinggi (pattern spesifik)
Performa
Ringan
Berat (CPU intensive)
HTTPS
Bisa blokir port
Tidak bisa baca isi (encrypted)
Use case
Block port/protocol
Block aplikasi spesifik
ALUR LAYER7 DPI
1
PACKET MASUK
Packet dari client masuk ke router. Bisa HTTP, HTTPS, atau protocol lain.
Regex pattern mencocokkan dengan konten. Contoh: pattern "youtube\.com" match dengan "www.youtube.com/watch?v=xxx".
4
MARK CONNECTION
Jika match, connection di-mark dengan nama tertentu (conn-youtube, conn-tiktok, dll).
5
MARK PACKET
Packet di-mark berdasarkan connection-mark. Setiap packet dalam connection yang sama dapat mark yang sama.
6
QUEUE TREE ACTION
Queue tree apply action berdasarkan packet-mark: block (drop), limit (max-limit), atau allow (priority).
LIMITASI LAYER7
PENTING: 1. Layer7 TIDAK BISA baca isi HTTPS (terenkripsi TLS/SSL). Hanya match di SNI header yang masih terlihat.
2. Layer7 SANGAT BERAT CPU. RB941 bisa 80-100% CPU dengan 5+ pattern aktif.
3. Untuk HTTPS modern, lebih baik pakai DNS filtering atau IP address-list.
4. Batasi maksimal 3-5 L7 pattern di RB941 untuk performa optimal.
KAPAN PAKAI LAYER7? Untuk block aplikasi HTTP (non-HTTPS) atau aplikasi yang masih bisa dideteksi via SNI. Untuk block HTTPS modern (YouTube, TikTok, Facebook), lebih efektif pakai DNS filtering + IP address-list.
DASAR REGEX (REGULAR EXPRESSION)
FUNDAMENTAL
Regex adalah pattern untuk mencocokkan text. Layer7 MikroTik pakai regex untuk identifikasi aplikasi.
Pahami dasar regex untuk membuat pattern yang efektif.
SIMBOL REGEX DASAR
SIMBOL
ARTI
CONTOH
MATCH
.
Character apapun (1 karakter)
a.c
abc, axc, a3c
*
0 atau lebih dari sebelumnya
ab*c
ac, abc, abbc, abbbc
+
1 atau lebih dari sebelumnya
ab+c
abc, abbc (tapi BUKAN ac)
?
0 atau 1 dari sebelumnya
ab?c
ac, abc
\.
Titik literal (bukan wildcard)
youtube\.com
youtube.com
^
Awal string
^www\.
www. di awal
$
Akhir string
\.com$
.com di akhir
[...]
Character class
[abc]
a, b, atau c
[^...]
Negated character class
[^0-9]
Bukan angka
(...)
Group
(abc)+
abc, abcabc
|
OR
youtube|tiktok
youtube ATAU tiktok
\d
Digit (0-9)
\d+
123, 456
\w
Word character (a-z, A-Z, 0-9, _)
\w+
kata, kata123
\s
Whitespace (space, tab, newline)
\s+
spasi, tab
CONTOH PATTERN & HASIL
# Pattern: youtube\.comyoutube\.com -> www.youtube.com/watch MATCH -> m.youtube.com MATCH -> youtubecom (nomatch, tidak ada titik) # \. = titik literal, bukan "karakter apapun"# Pattern: (youtube|tiktok|facebook)\.com(youtube|tiktok|facebook)\.com -> www.youtube.com MATCH -> www.tiktok.com MATCH -> www.facebook.com MATCH -> www.twitter.com (nomatch) # () = group, | = OR# Pattern: \.tiktok\.com\.tiktok\.com -> m.tiktok.com MATCH -> www.tiktok.com MATCH -> api.tiktok.com MATCH # cocok untuk semua subdomain tiktok# Pattern: ^.*\.(fbcdn|fb\.com)^.*\.(fbcdn|fb\.com) -> scontent.fbcdn.net MATCH -> www.fb.com MATCH # ^.* = awal string, apapun
TIPS MENULIS REGEX
ESCAPE TITIK
Selalu pakai \. untuk titik di domain. Titik tanpa escape = wildcard yang match karakter apapun.
PAKAI WILDCARD SUBDOMAIN
Awali dengan .*\. atau (^|\.). untuk match semua subdomain (m, www, api, dll).
GROUP MULTIPLE DOMAIN
Pakai (a|b|c) untuk gabungkan beberapa domain dalam satu pattern. Lebih efisien.
TEST DI REGEX TOOL
Test pattern di regex101.com atau regexr.com sebelum apply di MikroTik. Hemat waktu debugging.
TIPS: Regex case-sensitive secara default. "YouTube" berbeda dengan "youtube". Untuk case-insensitive, perlu flag khusus (tidak support di MikroTik). Buat pattern yang match kedua-duanya jika perlu.
PERSIAPAN SEBELUM KONFIGURASI
STEP 01
Siapkan hal-hal berikut agar proses konfigurasi Layer7 berjalan lancar.
YANG HARUS DISIAPKAN
ITEM
KETERANGAN
CATATAN
Router RB941
Sudah terpasang adaptor 5V
LED PWR harus menyala
Kabel UTP
Minimal 2 buah (straight)
1 untuk WAN, 1 untuk PC
PC/Laptop
Dengan port ethernet
Untuk akses awal via kabel
WinBox
Download dari mikrotik.com
Atau pakai browser (WebFig)
Info ISP
Jenis koneksi: DHCP/PPPoE/Static
Tanya ISP jika tidak tahu
Daftar Aplikasi
Aplikasi yang ingin di-block/limit
YouTube, TikTok, Facebook, dll
Regex Pattern
Pattern untuk setiap aplikasi
Test dulu di regex tool
SKEMA IP YANG AKAN DIGUNAKAN
KOMPONEN
IP ADDRESS
KETERANGAN
Gateway Router
192.168.10.1/24
IP router di LAN
Subnet
192.168.10.0/24
Range: .0 - .255
Netmask
255.255.255.0
/24 = 254 host
DHCP Pool
192.168.10.100 - .200
101 IP untuk client
TIPS: Sebelum konfigurasi Layer7, pastikan router sudah bisa akses internet. Test ping ke 8.8.8.8 dan google.com. Jika belum bisa, selesaikan masalah koneksi dulu.
RESET & AKSES ROUTER
STEP 02
Reset router ke factory default, lalu akses via WinBox atau browser.
VIA HARDWARE
1
Cabut power router
2
Tekan tombol RESET dengan pin
3
Colok power sambil tekan RESET
4
Tunggu ~5 detik sampai LED ACT berkedip
5
Lepas tombol, router reboot
6
Tunggu 1-2 menit sampai fully boot
VIA CLI
# Reset dengan default config[admin@MikroTik] > /system reset-configurationDo you really want to resetconfiguration? [y/N]y# Reset tanpa default config[admin@MikroTik] > /system reset-configurationno-defaults=yes skip-backup=yes! WARNING: semua konfigurasi terhapus
AKSES ROUTER
VIA WINBOX (RECOMMENDED)
1
Colok kabel UTP dari PC ke ether2
2
Buka WinBox
3
Tab Neighbors, tunggu router muncul
4
Klik MAC address router
5
Login: admin | Password: (kosong)
6
Klik Connect
VIA WEBFIG (BROWSER)
1
Colok kabel UTP dari PC ke ether2
2
Buka browser
3
Ketik: http://192.168.88.1
4
Login: admin | Password: (kosong)
5
Masuk ke WebFig
PENTING: Selalu connect via MAC address di WinBox. Jika IP berubah atau salah konfigurasi, Anda masih bisa akses via MAC.
IDENTITY & GANTI PASSWORD
STEP 03
Beri nama router dan GANTI PASSWORD ADMIN. WAJIB sebelum router terhubung internet.
VIA CLI
# 1. Set identity[admin@MikroTik] > /system identityset name="L7-GATEWAY"[admin@L7-GATEWAY] > # 2. Ganti password admin (WAJIB!)[admin@L7-GATEWAY] > /user set adminpassword="Rozak@L7-2024!"# 3. Cek list user[admin@L7-GATEWAY] > /user print # NAME GROUP 0 admin full
VIA WINBOX
1
Menu: System -> Identity
2
Name: L7-GATEWAY
3
Klik OK
4
Menu: System -> Users
5
Double-click admin -> tombol Password
6
Password baru (min 12 karakter)
7
Klik OK -> OK
KRITIS: Password admin harus KUAT. Minimal 12 karakter, kombinasi huruf besar, kecil, angka, dan simbol. CATAT di tempat aman. Jika lupa, harus reset fisik router.
CEK & NAMA INTERFACE
STEP 04
Cek interface, beri nama yang jelas. ether1 = WAN, ether2-4 = LAN, wlan1 = WIFI.
VIA CLI
# 1. Cek interface[admin@L7-GATEWAY] > /interface print # NAME TYPE MTU 0 ether1 ether 1500 1 ether2 ether 1500 2 ether3 ether 1500 3 ether4 ether 1500 4 wlan1 wlan 1500 5 bridge1 bridge 1500# 2. Rename interface[admin@L7-GATEWAY] > /interface set ether1 name="WAN"[admin@L7-GATEWAY] > /interface set ether2 name="LAN1"[admin@L7-GATEWAY] > /interface set ether3 name="LAN2"[admin@L7-GATEWAY] > /interface set ether4 name="LAN3"
VIA WINBOX
1
Menu: Interfaces
2
Double-click ether1 -> Name: WAN
3
Ulangi untuk ether2-4: LAN1, LAN2, LAN3
4
Klik Apply -> OK
BRIDGE SETUP
STEP 05
Bridge menyatukan LAN (ether2-4) dan WiFi (wlan1) menjadi satu jaringan.
TIPS: Batasi maksimal 5-10 pattern L7 aktif di RB941. Setiap pattern menambah beban CPU. Gabungkan beberapa aplikasi dalam satu pattern jika memungkinkan.
PATTERN APLIKASI POPULER
L7 REFERENCE
Kumpulan pattern untuk aplikasi populer. Copy-paste ke Layer7 protocol.
YouTube
(^|\.)(youtube|youtu\.be|googlevideo|ytimg)\.com
Video streaming Google. Match semua subdomain youtube.com, youtu.be, googlevideo.com, ytimg.com
TikTok
(^|\.)(tiktok|tiktokcdn|bytecdn|musically)\.com
Short video ByteDance. Match tiktok.com, tiktokcdn.com, bytecdn.com, musical.ly
Facebook
(^|\.)(facebook|fbcdn|fbsbx|fb\.com)\.com
Social media Meta. Match facebook.com, fbcdn.net, fbsbx.com untuk CDN gambar/video
Instagram
(^|\.)(instagram|cdninstagram)\.com
Foto/video Meta. Match instagram.com dan cdninstagram.com untuk CDN
Twitter/X
(^|\.)(twitter|x\.com|twimg|t\.co)\.com
Microblogging. Match twitter.com, x.com, twimg.com, t.co untuk short URL
WhatsApp
(^|\.)(whatsapp|whatsappcdn|whatsapp-net)\.com
Messaging Meta. Match whatsapp.com dan CDN untuk gambar/video/voice
Telegram
(^|\.)(telegram|telegramcdn|t\.me)\.org
Messaging. Match telegram.org, telegramcdn.com, t.me
Netflix
(^|\.)(netflix|nflxvideo|nflximg|nflxext)\.com
Video streaming. Match netflix.com dan semua CDN video (nflxvideo, nflximg)
Spotify
(^|\.)(spotify|scdn|spotifycdn)\.com
Music streaming. Match spotify.com, scdn.co, spotifycdn.com
Twitch
(^|\.)(twitch|ttvnw|jtvnw)\.com
Live streaming gaming. Match twitch.com, ttvnw.net, jtvnw.net
P2P file sharing. Match protocol bittorrent dan client populer
COMBINED PATTERN
# Gabungkan beberapa aplikasi dalam 1 pattern# Lebih efisien, hemat CPU# Social Media Bundle[admin@L7-GATEWAY] > /ip firewall layer7-protocol addname="social-media"regexp="(^|\.)(facebook|instagram|twitter|x\.com|tiktok)\.com"# Streaming Bundle[admin@L7-GATEWAY] > /ip firewall layer7-protocol addname="streaming"regexp="(^|\.)(youtube|netflix|spotify|twitch|tiktok)\.com"# Messaging Bundle[admin@L7-GATEWAY] > /ip firewall layer7-protocol addname="messaging"regexp="(^|\.)(whatsapp|telegram|line|wechat)\.com"# Adult Content Bundle[admin@L7-GATEWAY] > /ip firewall layer7-protocol addname="adult"regexp="(^|\.)(xvideos|pornhub|xhamster|redtube|youporn)\.com"# Gambling Bundle[admin@L7-GATEWAY] > /ip firewall layer7-protocol addname="gambling"regexp="(^|\.)(188bet|sbobet|bet365|betcash|judionline)\.com"
TIPS: Gunakan combined pattern untuk efisiensi. Daripada buat 5 pattern terpisah untuk Facebook, Instagram, Twitter, TikTok, WhatsApp, lebih baik gabung jadi 1 pattern "social-media". Hemat CPU dan lebih mudah dikelola.
MARK CONNECTION DENGAN L7
MANGLE CORE
Mark Connection adalah step pertama di mangle. Jika packet match dengan L7 pattern, connection akan di-mark dengan nama tertentu. Connection = group packet dari source ke destination yang sama.
VIA CLI
# 1. Mark connection untuk YouTube[admin@L7-GATEWAY] > /ip firewall mangle addchain=preroutingaction=mark-connectionnew-connection-mark="conn-youtube"layer7-protocol="youtube"passthrough=yescomment="Mark YouTube connections"# 2. Mark connection untuk TikTok[admin@L7-GATEWAY] > /ip firewall mangle addchain=preroutingaction=mark-connectionnew-connection-mark="conn-tiktok"layer7-protocol="tiktok"passthrough=yes# 3. Mark connection untuk Facebook[admin@L7-GATEWAY] > /ip firewall mangle addchain=preroutingaction=mark-connectionnew-connection-mark="conn-facebook"layer7-protocol="facebook"passthrough=yes# 4. Mark connection untuk Instagram[admin@L7-GATEWAY] > /ip firewall mangle addchain=preroutingaction=mark-connectionnew-connection-mark="conn-instagram"layer7-protocol="instagram"passthrough=yes# 5. Mark connection untuk social media (combined)[admin@L7-GATEWAY] > /ip firewall mangle addchain=preroutingaction=mark-connectionnew-connection-mark="conn-social"layer7-protocol="social-media"passthrough=yes# 6. Verifikasi[admin@L7-GATEWAY] > /ip firewall mangle print where action="mark-connection" # CHAIN ACTION NEW-CONN-MARK L7-PROTOCOL 0 prerouting mark-connection conn-youtube youtube 1 prerouting mark-connection conn-tiktok tiktok 2 prerouting mark-connection conn-facebook facebook 3 prerouting mark-connection conn-instagram instagram 4 prerouting mark-connection conn-social social-media
VIA WINBOX
1
Menu: IP -> Firewall
2
Tab Mangle
3
+ Add rule baru
4
Tab General:
5
Chain: prerouting
6
Layer7 Protocol: youtube
7
Tab Action:
8
Action: mark-connection
9
New Connection Mark: conn-youtube
10
Passthrough: yes (WAJIB!)
11
Klik OK
12
Ulangi untuk aplikasi lain
PARAMETER MARK CONNECTION
PARAMETER
FUNGSI
REKOMENDASI
chain
Chain mangle
prerouting (untuk traffic dari client)
action
Action mangle
mark-connection
new-connection-mark
Nama mark connection
conn-youtube, conn-tiktok, dll
layer7-protocol
L7 pattern untuk match
youtube, tiktok, facebook, dll
passthrough
Lanjut ke rule berikutnya
yes (WAJIB untuk mark-connection)
PENTING: PASSTHROUGH
MARK CONNECTION: PASSTHROUGH=YES
WAJIB yes! Agar packet lanjut ke rule mark-packet berikutnya. Jika no, packet stop di rule ini.
MARK PACKET: PASSTHROUGH=NO
Untuk mark-packet, set no. Agar packet tidak diproses rule mangle lain (hemat CPU).
URUTAN RULE
Mark connection HARUS di atas mark packet. Rule diproses dari atas ke bawah.
PAKAI COMMENT
Beri comment untuk setiap rule. Memudahkan troubleshooting dan dokumentasi.
PENTING: Jika passthrough=no di mark-connection, packet tidak akan lanjut ke mark-packet. Queue tree tidak akan bekerja. Selalu set passthrough=yes untuk mark-connection.
MARK PACKET BERDASARKAN CONNECTION
MANGLE CORE
Mark Packet adalah step kedua. Mark packet berdasarkan connection-mark yang sudah di-set sebelumnya. Packet-mark inilah yang akan dipakai oleh queue tree.
1-3 untuk browsing/kerja, 4-6 untuk streaming, 7-8 untuk sosmed. Saat bandwidth penuh, priority tinggi dapat jatah duluan.
TIPS: Total limit child queue tidak harus sama dengan parent. RouterOS akan bagi bandwidth parent ke child sesuai limit-at (guaranteed). Jika bandwidth parent cukup, child dapat sesuai max-limit.
BLOCKING APLIKASI
L7 ACTION
Selain limit, Layer7 juga bisa dipakai untuk block aplikasi tertentu. Contoh: block pornografi, judi online, torrent.
VIA CLI
# CARA 1: Block via firewall filter + L7[admin@L7-GATEWAY] > /ip firewall filter addchain=forwardaction=droplayer7-protocol="adult"comment="Block pornografi"[admin@L7-GATEWAY] > /ip firewall filter addchain=forwardaction=droplayer7-protocol="gambling"comment="Block judi online"[admin@L7-GATEWAY] > /ip firewall filter addchain=forwardaction=droplayer7-protocol="torrent"comment="Block torrent"# CARA 2: Block via mangle + queue tree drop# Mark connection[admin@L7-GATEWAY] > /ip firewall mangle addchain=prerouting action=mark-connectionnew-connection-mark="conn-block"layer7-protocol="adult" passthrough=yes# Mark packet[admin@L7-GATEWAY] > /ip firewall mangle addchain=prerouting action=mark-packetnew-packet-mark="pkt-block"connection-mark="conn-block" passthrough=no# Queue tree drop[admin@L7-GATEWAY] > /queue tree addname="block-queue"parent=globalpacket-mark="pkt-block"max-limit="1k/1k"# Limit 1kbps = effectively block# Verifikasi[admin@L7-GATEWAY] > /ip firewall filter print where layer7-protocol!=""
VIA WINBOX
1
Menu: IP -> Firewall
2
Tab Filter Rules
3
+ Add rule baru
4
Tab General:
5
Chain: forward
6
Layer7 Protocol: adult
7
Tab Action:
8
Action: drop
9
Comment: Block pornografi
10
Klik OK
11
Ulangi untuk gambling, torrent
APLIKASI YANG BISA DI-BLOCK
KATEGORI
L7 PATTERN
AKSI
Pornografi
adult
DROP
Judi Online
gambling
DROP
Torrent/P2P
torrent
DROP
YouTube
youtube
LIMIT atau DROP
TikTok
tiktok
LIMIT atau DROP
Facebook
facebook
LIMIT atau DROP
Instagram
instagram
LIMIT atau DROP
DROP vs LIMIT
DROP (BLOCK TOTAL)
Packet dibuang, tidak sampai ke tujuan. User tidak bisa akses sama sekali. Cocok untuk konten terlarang.
LIMIT (BATASI BANDWIDTH)
Packet sampai tapi dibatasi speed. User masih bisa akses tapi lambat. Cocok untuk mengontrol penggunaan.
TIME-BASED
Block hanya di jam tertentu. Contoh: block YouTube jam kerja (08:00-17:00), bebas di luar jam kerja.
USER-SPECIFIC
Block/limit hanya untuk user tertentu. Contoh: block TikTok untuk user A, tapi tidak untuk user B.
LIMITASI: Layer7 tidak bisa block HTTPS 100%. Untuk block HTTPS modern, kombinasikan dengan DNS filtering (block domain) atau IP address-list (block IP server).
LIMITING BANDWIDTH PER APLIKASI
L7 ACTION
Selain block, Layer7 bisa dipakai untuk limit bandwidth per aplikasi. Contoh: limit YouTube max 5Mbps, TikTok max 3Mbps.
CONTOH LIMIT PER APLIKASI
APLIKASI
UPLOAD
DOWNLOAD
PRIORITY
ALASAN
YouTube
2M
5M
8
Video streaming butuh bandwidth besar
TikTok
1M
3M
8
Video pendek, limit ketat
Facebook
3M
5M
7
Social media, limit sedang
Instagram
3M
5M
7
Foto/video, limit sedang
WhatsApp
2M
2M
3
Messaging, priority tinggi
Browsing
5M
10M
3
Kerja/belajar, priority tinggi
Streaming Music
1M
2M
5
Audio streaming, limit kecil
IMPLEMENTASI LIMIT
# Limit YouTube 5Mbps download[admin@L7-GATEWAY] > /queue tree addname="youtube-download"parent="total-global"packet-mark="pkt-youtube-down"limit-at="2M"max-limit="5M"priority=8queue="pcq-download-default"# Limit TikTok 3Mbps download[admin@L7-GATEWAY] > /queue tree addname="tiktok-download"parent="total-global"packet-mark="pkt-tiktok-down"limit-at="1M"max-limit="3M"priority=8# Limit WhatsApp 2Mbps (priority tinggi)[admin@L7-GATEWAY] > /queue tree addname="whatsapp-all"parent="total-global"packet-mark="pkt-whatsapp"limit-at="1M"max-limit="2M"priority=3# Browsing priority tinggi[admin@L7-GATEWAY] > /queue tree addname="browsing-all"parent="total-global"packet-mark="pkt-browsing"limit-at="5M"max-limit="10M"priority=3
LIMIT-AT vs MAX-LIMIT
LIMIT-AT (GUARANTEED)
Bandwidth dijamin. Saat bandwidth penuh, aplikasi ini dapat minimal limit-at. Penting untuk VoIP, video call.
MAX-LIMIT (CEILING)
Bandwidth maksimal. Aplikasi tidak bisa melebihi max-limit. Saat bandwidth cukup, dapat sampai max-limit.
PCQ (FAIR SHARING)
Pakai queue type PCQ untuk fair sharing. Jika ada banyak user, bandwidth dibagi rata per connection.
PRIORITY
1-3 = prioritas tinggi (kerja, VoIP). 4-6 = sedang (streaming). 7-8 = rendah (sosmed, download).
TIPS: Untuk aplikasi penting (VoIP, video call, browsing kerja), beri limit-at + priority tinggi. Untuk aplikasi hiburan (YouTube, TikTok, sosmed), beri max-limit + priority rendah.
MONITORING LAYER7
MONITOR
Monitor performa Layer7: hit count, bandwidth per aplikasi, CPU load, dll.
Aktifkan graphing untuk lihat grafik bandwidth historis. Berguna untuk analisis pola penggunaan.
ALERT CPU
Script untuk notifikasi jika CPU >80%. Bisa kirim email/Telegram alert.
LOGGING
Log semua aktivitas mangle dan queue tree. Berguna untuk troubleshooting dan audit.
NETWATCH
Monitor connectivity ke server tertentu. Jika down, bisa trigger script otomatis.
PERINGATAN: Jika CPU load >80% konsisten, kurangi jumlah pattern L7 atau upgrade hardware. Layer7 sangat CPU intensive, terutama dengan banyak pattern aktif.
TROUBLESHOOTING LAYER7
SUPPORT
Masalah umum Layer7 dan solusinya.
LAYER7 TIDAK DETEKSI APLIKASI
KEMUNGKINAN PENYEBAB:
1. Pattern regex salah - test di regex101.com
2. Aplikasi pakai HTTPS (L7 tidak bisa baca isi encrypted)
3. Pattern tidak match dengan domain yang dipakai aplikasi
4. L7 protocol belum di-assign ke mangle rule
5. Mangle rule di chain yang salah (harus prerouting) SOLUSI: Cek pattern regex. Untuk HTTPS, pakai DNS filtering atau IP address-list sebagai alternatif.
CPU OVERLOAD (>80%)
KEMUNGKINAN PENYEBAB:
1. Terlalu banyak pattern L7 aktif (>10 untuk RB941)
2. Regex pattern terlalu kompleks (backtracking)
3. Banyak client concurrent dengan traffic tinggi
4. RB941 tidak cukup powerful untuk workload SOLUSI: Kurangi pattern L7. Sederhanakan regex. Gabungkan pattern. Upgrade hardware jika perlu.
QUEUE TREE TIDAK BEKERJA
KEMUNGKINAN PENYEBAB:
1. Packet-mark tidak ada atau salah nama
2. Mangle rule tidak mark packet (passthrough=no di mark-connection)
3. Queue tree parent salah
4. Queue tree disabled
5. Chain mangle salah (harus prerouting) SOLUSI: Cek mangle mark packet ada. Cek passthrough=yes di mark-connection. Cek nama packet-mark match.
BLOCKING TIDAK BEKERJA
KEMUNGKINAN PENYEBAB:
1. Firewall filter rule di chain yang salah (harus forward)
2. Rule di bawah rule accept established (harus di atas)
3. L7 pattern tidak match
4. Aplikasi pakai HTTPS (L7 tidak bisa block HTTPS) SOLUSI: Cek chain=forward. Cek urutan rule (L7 block di atas accept established). Untuk HTTPS, pakai DNS filtering.
LIMIT BANDWIDTH TIDAK AKURAT
KEMUNGKINAN PENYEBAB:
1. Parent queue max-limit terlalu kecil
2. Total limit-at child melebihi parent
3. Priority tidak di-set dengan benar
4. PCQ tidak di-configure dengan benar SOLUSI: Cek parent max-limit cukup. Cek limit-at child tidak melebihi parent. Set priority sesuai kebutuhan.
INTERNET LAMBAT SETELAH AKTIFKAN L7
KEMUNGKINAN PENYEBAB:
1. CPU overload karena L7 inspection
2. Terlalu banyak pattern L7 aktif
3. RB941 tidak cukup powerful
4. Queue tree limit terlalu ketat SOLUSI: Cek CPU load. Kurangi pattern L7. Upgrade hardware. Relax limit queue tree.
DIAGNOSTIC COMMANDS
# Cek semua komponen L7> /ip firewall layer7-protocol print> /ip firewall mangle print> /ip firewall filter print> /queue tree print# Cek hit count> /ip firewall mangle print stats# Cek CPU & memory> /system resource print# Monitor traffic> /tool torch interface=ether1> /tool traffic-monitor interface=ether1# Cek log> /log print where topics="firewall"# Test connectivity> /ping 8.8.8.8> /ping google.com
BEST PRACTICE LAYER7
TIPS
BATASI PATTERN L7
Maksimal 5-10 pattern L7 aktif di RB941. Setiap pattern menambah beban CPU.
GABUNG PATTERN
Gabungkan beberapa aplikasi dalam 1 pattern. Lebih efisien daripada pattern terpisah.
SIMPLIFY REGEX
Regex sederhana lebih cepat. Hindari nested groups, excessive quantifiers.
MONITOR CPU
Cek CPU load rutin. Jika >80%, kurangi pattern atau upgrade hardware.
TEST DI LAB
Test pattern dan rule di lab environment sebelum production. Hemat waktu troubleshooting.
DOCUMENTATION
Dokumentasikan semua pattern, mangle rule, queue tree. Untuk referensi dan troubleshooting.
ALTERNATIF UNTUK HTTPS
Untuk block HTTPS modern, pakai DNS filtering + IP address-list. Lebih efektif dari L7.
UPGRADE HARDWARE
Jika butuh L7 intensif, upgrade ke hAP ac^2 (717MHz, 128MB) atau CCR series.
BACKUP CONFIG
Backup config sebelum ubah rule L7. Jika ada masalah, bisa restore dengan cepat.
UPDATE ROUTEROS
Update ke versi stable terbaru untuk patch keamanan dan perbaikan bug L7.
PASSTHROUGH CORRECT
Mark connection: passthrough=yes. Mark packet: passthrough=no. WAJIB benar!
URUTAN RULE
Mark connection di atas mark packet. L7 block di atas accept established.