Mengatur local preference Mikrotik RouterOS 7 adalah salah satu cara paling umum untuk mengarahkan trafik BGP lewat jalur tertentu, misalnya saat router Anda punya dua upstream dan Anda ingin menjadikan salah satunya sebagai jalur utama. Sayangnya, sintaks routing filter di RouterOS 7 berubah cukup signifikan dibanding RouterOS 6, sehingga Anda sering tidak bisa langsung memakai ulang konfigurasi lama.
Artikel ini membahas langkah demi langkah cara set local preference BGP di MikroTik RouterOS 7, lengkap dengan contoh perintah, cara verifikasi, dan kesalahan yang paling sering terjadi.
Apa Itu Local Preference dalam BGP?
Local preference (local-pref) adalah atribut BGP yang menunjukkan seberapa besar router mengutamakan suatu jalur ketika ia menerima beberapa rute menuju tujuan yang sama. Semakin tinggi nilainya, semakin besar peluang router memilih jalur tersebut sebagai best path. Nilai default-nya adalah 100 selama Anda tidak mengubahnya lewat filter.
Satu hal penting untuk Anda pahami sejak awal: router hanya menyebarkan atribut local-pref melalui iBGP, yaitu antar router di dalam AS yang sama. Router tidak pernah mengirim nilai ini ke peer eBGP (AS lain). Jadi, mengubah local-pref hanya memengaruhi pemilihan jalur di sisi router Anda dan router lain dalam AS yang sama, bukan keputusan peer di AS tetangga.

Local preference berbeda dengan weight. Weight bersifat lokal per router (router tidak pernah menyebarkannya sama sekali, khas Cisco), sedangkan router menyebarkan local-pref ke seluruh router iBGP dalam satu AS.
Perbedaan Filter BGP di RouterOS 6 dan RouterOS 7
Di RouterOS 6, Anda membuat filter rute lewat /routing filter dengan parameter seperti action=accept dan set-bgp-local-pref=. Di RouterOS 7, MikroTik mengganti total konsep ini dengan sintaks mirip skrip lewat /routing/filter/rule, dan nama properti untuk memasang filter ke peer BGP juga berubah. Supaya tidak salah copy-paste konfigurasi lama, berikut ringkasannya:
| Aspek | RouterOS 6 | RouterOS 7 |
|---|---|---|
| Lokasi definisi filter | /routing filter | /routing/filter/rule |
| Sintaks aksi | action=accept set-bgp-local-pref=200 | rule="set bgp-local-pref 200; accept" |
| Pasang ke peer (arah masuk) | in-filter= | input.filter= |
| Pasang ke peer (arah keluar) | out-filter= | output.filter-chain= |
| Jika tidak ada rule yang cocok | reject | reject (tetap sama, tapi lebih sering tidak disadari) |
Anda bisa mengecek detail lengkap properti ini di dokumentasi resmi MikroTik tentang Route Selection and Filtering.
Persiapan Sebelum Konfigurasi
Sebelum masuk ke langkah konfigurasi, pastikan beberapa hal berikut sudah siap:
- Router sudah menjalankan RouterOS versi 7.x — cek lewat
/system resource print. - Koneksi BGP ke peer tujuan sudah aktif — cek lewat
/routing/bgp/connection print. - Akses ke terminal, baik lewat SSH, Winbox (New Terminal), maupun WebFig.
- Sudah tahu nama koneksi BGP dan AS number peer yang ingin Anda prioritaskan atau turunkan preferensinya.
Langkah-Langkah Set Local Preference di MikroTik RouterOS 7
Secara garis besar, ada tiga langkah inti: membuat routing filter rule, memasangnya ke koneksi BGP, lalu memverifikasi hasilnya.

1. Cek Koneksi BGP yang Sudah Ada
Lihat dulu nama koneksi BGP yang sudah Anda konfigurasi, karena Anda akan memakai nama ini saat memasang filter chain.
/routing/bgp/connection print2. Buat Routing Filter Rule untuk Set Local Preference
Buat chain baru dengan nama yang mudah Anda ingat, misalnya bgp-in-utama. Rule pertama menetapkan nilai local-pref dan menerima rute, rule kedua (eksplisit) menolak sisanya supaya tidak ada prefix yang hilang tanpa Anda sadari.
/routing/filter/rule
add chain=bgp-in-utama rule="if (dst-len <= 24) { set bgp-local-pref 200; accept }"
add chain=bgp-in-utama rule="reject"Penjelasan singkat:
-
chain=bgp-in-utama: nama chain bebas, tapi gunakan nama yang jelas menunjukkan fungsinya. -
if (dst-len <= 24): kondisi pencocokan; Anda bisa menggantinya dengan matcher lain sepertidst inataubgp-as-path. -
set bgp-local-pref 200: mengubah local-pref dari default 100 menjadi 200 untuk rute yang cocok. -
accept: wajib Anda tulis, karena tanpa ini rule hanya mengubah atribut tanpa benar-benar meloloskan rute. - Baris terakhir
reject: penting Anda tulis secara eksplisit, sebab default chain di RouterOS 7 memang reject, tetapi menuliskannya langsung membuat perilaku filter lebih mudah Anda baca ulang di kemudian hari.
3. Pasang Filter Chain ke Peer BGP (Input Filter)
Setelah Anda membuat chain, filter belum aktif sampai Anda memasangnya ke koneksi BGP tujuan lewat properti input.filter.
/routing/bgp/connection
set [find name=ke-isp-utama] input.filter=bgp-in-utamaGanti ke-isp-utama dengan nama koneksi BGP yang sudah Anda lihat pada langkah pertama. Properti input.filter ini bekerja pada rute yang router Anda terima dari peer tersebut — berbeda dengan output.filter-chain yang mengatur rute yang router Anda kirim keluar.
4. (Opsional) Terapkan ke Semua Peer Lewat Template
Kalau beberapa peer memakai template BGP yang sama, Anda bisa memasang filter chain sekali di template agar otomatis berlaku untuk semua koneksi yang mewarisinya.
/routing/bgp/template
set [find name=ebgp-default] input.filter=bgp-in-utamaContoh Kasus: Mengutamakan Jalur ISP Utama Dibanding Backup
Misalnya ada dua upstream: AS65010 sebagai ISP utama dan AS65020 sebagai Backup. Tujuannya, selama ISP utama hidup, semua trafik keluar harus lewat sana, dan baru pindah ke backup kalau ISP utama benar-benar putus.
/routing/filter/rule
add chain=bgp-in-utama rule="set bgp-local-pref 200; accept"
add chain=bgp-in-utama rule="reject"
/routing/bgp/connection
set [find name=ke-isp-utama] input.filter=bgp-in-utama
set [find name=ke-isp-backup] input.filter=""Koneksi ke ISP utama mendapat local-pref 200, sedangkan koneksi ke ISP backup tetap memakai default 100 (tanpa filter khusus). Karena nilai local-pref dari ISP utama lebih tinggi, router akan selalu memilih jalur itu sebagai best path selama rute tersebut tersedia.
Cara Verifikasi Local Preference Sudah Aktif
Setelah Anda memasang konfigurasi ini, cek tabel routing untuk memastikan nilai local-pref sudah berubah sesuai rencana.
/routing/route print detail where dst-address=203.0.113.0/24Perhatikan nilai bgp-local-pref= pada output detail tersebut. Kalau sudah menunjukkan angka yang Anda set (misalnya 200), berarti filter sudah berjalan. Bandingkan juga kolom FLAGS pada /routing/route print biasa — rute dengan local-pref tertinggi di antara beberapa rute yang tersedia seharusnya menjadi rute aktif/best path.
Untuk mencari semua rute yang sudah memiliki local-pref lebih tinggi dari default, gunakan query berikut:
/routing/route print detail where bgp-local-pref>100Kesalahan Umum yang Sering Terjadi
-
Lupa menulis
acceptsetelahset bgp-local-pref, sehingga rule hanya mengubah atribut tapi rute tetap jatuh ke default reject di akhir chain. -
Memasang filter di
output.filter-chainpadahal yang Anda butuhkan adalahinput.filter, supaya bisa memengaruhi rute yang router Anda terima dari peer. - Mengira local-pref akan sampai ke peer eBGP — padahal atribut ini hanya berlaku di dalam AS sendiri lewat iBGP, bukan ke AS tetangga.
-
Menyalin sintaks RouterOS 6 apa adanya (
/routing filter ... set-bgp-local-pref=), yang di RouterOS 7 sudah sama sekali tidak dikenali lagi. -
Tidak menulis rule
rejecteksplisit di akhir chain, sehingga sulit melacak kenapa sebagian prefix tiba-tiba hilang dari tabel routing.
Kesimpulan
Set local preference di MikroTik RouterOS 7 pada dasarnya hanya tiga langkah: buat /routing/filter/rule dengan aksi set bgp-local-pref, pasang ke peer lewat input.filter, lalu verifikasi lewat /routing/route print detail. Yang paling sering bikin bingung justru perubahan nama properti dan sintaks dibanding RouterOS 6, bukan konsep local preference itu sendiri.
Kalau Anda butuh router BGP yang bisa langsung Anda pakai tanpa harus menyiapkan perangkat MikroTik fisik, Mikrotik Cloud Hosted Router (CHR) dari Computing ID bisa jadi pilihan, tinggal order, RouterOS 7 sudah siap Anda pakai untuk kebutuhan production BGP, VPN, maupun manajemen jaringan lainnya.





