Lewati ke konten
mikrotik.ai.id
Tips & Trik

Cara Blokir Situs dan YouTube di MikroTik

Redaksi MikroTik
· 6 menit baca
Cara Blokir Situs dan YouTube di MikroTik
Daftar isi7 bagian

Banyak pemilik kos, kafe, sekolah, dan kantor bertanya soal cara blokir situs di MikroTik, terutama YouTube, judi online, dan situs dewasa. Kabar baiknya, RouterOS punya peralatan lengkap: layer7-protocol, mangle, filter, address-list, dan TLS host. Kabar jujurnya: untuk situs HTTPS yang terenkripsi, pemblokiran tidak bisa sempurna hanya dengan layer7. Artikel ini memberi cara yang realistis dan tetap efektif untuk kebutuhan sehari-hari.

Target pembaca adalah admin yang routernya sudah jalan. Anda hanya perlu Winbox dan akses admin. Semua contoh memakai RouterOS v7.

Baca jugaMengamankan Router MikroTik: Firewall Filter dan Manajemen AksesTutorial MikroTik

Pahami Dulu Cara Kerja Pemblokiran

Ada dua dunia berbeda:

  1. HTTP polos (port 80, tanpa enkripsi). Isi paket bisa dibaca router, sehingga layer7-protocol bisa mencocokkan kata kunci URL dan memblokirnya.
  2. HTTPS (port 443, terenkripsi). Isi paket tidak bisa dibaca. Router hanya bisa melihat nama domain pada awal handshake TLS (SNI / TLS host) atau memblokir IP tujuan via address-list.

Artinya untuk situs modern seperti YouTube, TikTok, Instagram, dan Facebook yang semuanya HTTPS, metode layer7 saja tidak cukup. Anda wajib kombinasikan dengan filter berbasis tls-host dan address-list. Sampaikan fakta ini ke pemilik usaha agar ekspektasi realistis: yang diblokir adalah akses via domain dan IP yang dikenal, bukan 100 persen konten internet.

Metode 1: Blokir Situs HTTP dengan Layer7 + Mangle + Filter

Metode klasik ini masih berguna untuk situs HTTP dan sebagai lapisan pertama. Langkahnya tiga tahap: tandai koneksi via mangle, lalu drop via filter.

Langkah 1, buat layer7-protocol berisi kata kunci:

kode
/ip firewall layer7-protocol add name=blokir-situs regexp="youtube|facebook|tiktok|judi|porn"

Langkah 2, tandai koneksi yang cocok di mangle:

kode
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=80 layer7-protocol=blokir-situs action=mark-connection new-connection-mark=koneksi-blokir passthrough=yes comment="tandai situs blokir HTTP"
/ip firewall mangle add chain=prerouting connection-mark=koneksi-blokir action=mark-packet new-packet-mark=paket-blokir passthrough=no comment="tandai paket blokir"

Langkah 3, tolak paket yang bertanda di filter:

kode
/ip firewall filter add chain=forward packet-mark=paket-blokir action=drop comment="blokir situs HTTP layer7"

Uji dari laptop client dengan membuka situs HTTP uji. Jika masih lolos, cek urutan rule (rule drop harus di atas rule accept umum) dan pastikan dst-port benar 80.

PERINGATAN: regex layer7 yang terlalu umum seperti kata "tube" atau "bet" bisa memblokir situs yang tidak bersalah. Uji dulu satu domain spesifik sebelum menambahkan banyak kata kunci sekaligus.

Metode 2: Blokir HTTPS dan YouTube via TLS Host + Address-List

Ini metode utama untuk YouTube dan situs HTTPS lain. Router membaca SNI pada handshake TLS, lalu memasukkan IP tujuan ke address-list dan memblokirnya.

Langkah 1, buat address-list dan rule mangle berbasis tls-host:

kode
/ip firewall address-list add list=situs-blokir address=0.0.0.0 comment="wadah IP situs blokir"
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=443 tls-host=*youtube.com action=add-dst-to-address-list address-list=situs-blokir address-list-timeout=1d comment="tangkap IP youtube"
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=443 tls-host=*googlevideo.com action=add-dst-to-address-list address-list=situs-blokir address-list-timeout=1d comment="tangkap CDN video youtube"
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=443 tls-host=*facebook.com action=add-dst-to-address-list address-list=situs-blokir address-list-timeout=1d comment="tangkap IP facebook"

Langkah 2, drop koneksi menuju address-list tersebut:

kode
/ip firewall filter add chain=forward dst-address-list=situs-blokir action=drop comment="blokir HTTPS via address-list"

Kenapa googlevideo.com ikut diblokir? Karena video YouTube disajikan dari domain CDN googlevideo.com. Tanpa itu, halaman YouTube mungkin terblokir tetapi video embed di situs lain masih jalan. Tambahkan juga youtu.be dan m.youtube.com bila pengguna banyak memakai HP:

kode
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=443 tls-host=*youtu.be action=add-dst-to-address-list address-list=situs-blokir address-list-timeout=1d
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=443 tls-host=*tiktok.com action=add-dst-to-address-list address-list=situs-blokir address-list-timeout=1d

Alternatif yang lebih sederhana tanpa mangle, langsung di filter (RouterOS v7 mendukung tls-host di filter):

kode
/ip firewall filter add chain=forward protocol=tcp dst-port=443 tls-host=*youtube.com action=drop comment="blokir youtube langsung"
/ip firewall filter add chain=forward protocol=tcp dst-port=443 tls-host=*googlevideo.com action=drop comment="blokir CDN youtube"

Cara langsung ini mudah, tetapi cara address-list lebih hemat CPU karena IP yang sudah ditangkap diblokir tanpa inspeksi TLS berulang.

Tabel Pilihan Metode

KebutuhanMetodeKelebihanKekurangan
Situs HTTP lamaLayer7 + mangle + filterPresisi kata kunciTidak mempan untuk HTTPS
YouTube dan HTTPSTLS host + address-listEfektif, hemat CPUPerlu update daftar domain CDN
Blokir total per IPAddress-list statisPasti diblokirIP situs besar sering berubah
Kontrol jam tertentuRule + time scheduleFleksibel jam belajarPerlu NTP akurat

Blokir Berjadwal: Jam Belajar dan Jam Kantor

Blokir total kadang terlalu keras. Kos dan sekolah biasanya ingin YouTube dan game hanya diblokir pada jam belajar, misalnya Senin sampai Jumat pukul 19.00 sampai 22.00. Caranya dengan parameter time pada rule filter.

Contoh rule blokir YouTube hanya pada jam belajar:

kode
/ip firewall filter add chain=forward protocol=tcp dst-port=443 tls-host=*youtube.com action=drop time=19h-22h,mon,tue,wed,thu,fri comment="blokir youtube jam belajar"

Contoh blokir media sosial pada jam kerja kantor:

kode
/ip firewall filter add chain=forward dst-address-list=situs-blokir action=drop time=8h-17h,mon,tue,wed,thu,fri comment="blokir sosmed jam kerja"

Agar jadwal akurat, pastikan jam router benar:

kode
/system ntp client set enabled=yes servers=pool.ntp.org
/system clock print

Cek zona waktu di System > Clock. Jika jam meleset satu jam saja, jadwal blokir ikut meleset.

Verifikasi dan Troubleshooting

Verifikasi tiap metode:

  1. Untuk layer7: /ip firewall mangle print stats harus menunjukkan counter bertambah saat client membuka situs target.
  2. Untuk TLS host: /ip firewall address-list print where list=situs-blokir harus terisi IP setelah client mencoba buka YouTube.
  3. Untuk filter: /ip firewall filter print stats counter drop harus naik.
  4. Uji dari dua perangkat: laptop dan HP, karena aplikasi HP kadang memakai QUIC (UDP 443) bukan TCP 443.

Masalah umum pertama: YouTube masih bisa dibuka lewat aplikasi HP. Penyebabnya aplikasi memakai QUIC via UDP. Tambahkan rule untuk memaksa fallback ke TCP dengan memblokir UDP 443:

kode
/ip firewall filter add chain=forward protocol=udp dst-port=443 action=drop comment="blokir QUIC agar TLS terlihat"

Masalah umum kedua: situs lolos karena DNS cache. Setelah menambah rule, kosongkan DNS cache router (/ip dns cache flush) dan minta client tutup lalu buka ulang browser.

Masalah umum ketiga: rule tidak jalan karena urutan salah. Rule drop harus berada di atas rule accept established dan accept umum. Geser dengan Winbox (tombol panah) atau dengan perintah move:

kode
/ip firewall filter print
/ip firewall filter move numbers=5 destination=1

Keterbatasan yang Harus Disampaikan Jujur

Tidak ada metode di artikel ini yang bisa memblokir HTTPS secara sempurna. Pengguna yang memakai VPN, DNS-over-HTTPS, atau proxy akan lolos dari filter tls-host dan layer7. Aplikasi dengan IP yang terus berubah juga butuh pemeliharaan daftar domain berkala.

Untuk kebutuhan serius seperti sekolah atau kantor, kombinasikan pemblokiran MikroTik dengan tiga hal: DNS filtering (arahkan client ke DNS keluarga yang memfilter), kebijakan tertulis ke pengguna, dan monitoring log berkala. Kombinasi teknis plus aturan tertulis selalu lebih awet daripada filter sendirian.

Mulai dari yang kecil: blokir satu domain dulu, verifikasi counter naik, baru tambah domain lain. Dengan cara ini, cara blokir situs di MikroTik menjadi terkendali dan minim komplain pengguna yang tiba-tiba tidak bisa buka situs penting.

Pertanyaan yang sering diajukan

Kenapa blokir layer7 tidak mempan untuk YouTube?

Karena YouTube memakai HTTPS yang terenkripsi sehingga isi paket tidak bisa dibaca layer7. Gunakan metode tls-host plus address-list untuk menangkap nama domain pada handshake TLS, lalu blokir IP tujuannya via filter.

Bagaimana cara blokir YouTube hanya pada jam belajar?

Tambahkan parameter time pada rule filter, misalnya time=19h-22h,mon,tue,wed,thu,fri. Pastikan NTP aktif dan jam router benar agar jadwal tepat. Verifikasi dengan membuka YouTube di dalam dan di luar jam blokir.

YouTube masih bisa dibuka lewat aplikasi HP, kenapa?

Aplikasi HP sering memakai QUIC via UDP port 443 sehingga tls-host TCP tidak terlihat. Tambahkan rule drop UDP port 443 agar aplikasi fallback ke TCP, lalu filter tls-host bisa bekerja. Bersihkan juga DNS cache setelah menambah rule.

Artikel terkait