by: CITRAWEB SOLUSI TEKNOLOGI, PT
Aturan | Tentang Kami | Kontak Kami

Artikel

Routing Filter pada RouterOS versi 7

Jum'at, 17 Desember 2021, 10:54:56 WIB
Kategori: Fitur & Penggunaan

Routing dinamis merupakan salah satu cara untuk mendistribusikan informasi routing ke beberapa perangkat secara otomatis. Hal ini untuk memudahkan perubahan dan ekspansi saat memiliki jaringan yang sudah terlalu besar. Ada banyak routing dinamis yang bisa diterapkan di mikrotik seperti BGP, OSPF, RIP, dll.

Karena sifatnya dinamis, biasanya kita perlu membuat batasan agar tidak semua informasi routing disebarkan. Pembuatan rule ini menggunakan fitur Routing Filter. Routing filter berguna untuk menentukan informasi routing yang akan didistribusikan pada setiap protocolnya.

Lalu apa bedanya routing filter pada RouterOS versi 7 dengan RouterOS versi 6? Baru-baru ini mikrotik meluncurkan RouterOS versi 7 stable yang sudah bisa diakses secara umum oleh pengguna mikrotik. Dan jika anda pengguna routing dinamis, terdapat beberapa perbedaan saat menggunakan routing filter seperti cara penulisan dan format rule yang digunakan.

Pembuatan Rule Routing Filter

Jika dilihat dari menu routing filter, pembuatan rule akan jauh berbeda dibandingkan saat menggunakan routeros versi 6. Berikut tampilan perbedaan dari keduanya :

Lalu cara pembuatan rule routing filter pada routerOS versi 7 seperti apa? Mikrotik sudah menerapkan script-like syntax yang harus digunakan saat menambahkan routing filter. Scripting yang diterapkan juga hampir sama seperti scripting mikrotik pada umumnya. Dan untuk standar syntax yang digunakan untuk membuat rule routing filter adalah sebagai berikut ini :

"if (matchers) {actions}"

Pembuatan syntax rule routing akan dibagi menjadi 2 bagian :

  • Matcher = untuk menentukan parameter yang akan ditentukan seperti dst-address, protocol, prefix, dll.
  • Action = untuk menentukan perlakuan dari rule tersebut, terdapat beberapa action seperti accept, reject, jump, delete, filter, dll.

Dengan membuat rule routing filter ini, kita bisa membatasi informasi routing mana saja yang diperbolehkan masuk atau keluar dari tabel routing. Hal ini untuk menjaga agar tabel routing hanya mendistribusikan network / segment routing tertentu saja.

Berbeda dengan firewall filter yang memiliki banyak chain, pada routing filter hanya akan terdapat 2 chain yang bisa digunakan yaitu Out-Filter dan In-Filter :

  • Out Filter digunakan untuk menentukan rule routing yang keluar dari router.
  • In-Filter digunakan untuk menentukan rule routing yang masuk ke router.

Out-Filter dan In-Filter ini nantinya bisa digunakan pada beberapa fitur routing dinamis pada mikrotik seperti OSPF, BGP, RIP, dll.

Note: secara default, jika anda mengaktifkan routing filter pada fitur tertentu maka default action yang digunakan adalah DROP/REJECT.

Implementasi

Sebagai contoh, anda ingin membuat rule routing filter untuk mendistribusikan network 192.168.100.0/24 ke jaringan OSPF. Karena informasi jaringan lokal 192.168.100.0/24 akan disebarkan ke ospf, maka kita harus mengaktifkan out-filter (contoh dengan nama ospf_out)

Selanjutnya, buat rule routing filter dengan action accept :

"if(dst==192.168.10.0/24){accept}"

Operasi Tambahan

Penggunaan script ini bisa juga menggunakan Operasi. Operasi digunakan jika anda ingin menambahkan beberapa parameter tambahan dalam satu rule atau dalam 1 script. Terdapat operasi OR (||), AND (&&) dan NOT (not).

Untuk Operasi Nomor atau bilangan, bisa menggunakan beberapa operasi berikut ini :

 

== : sama dengan
< : lebih kecil
> : lebih besar
>= : lebih besar atau sama dengan
<= : lebih kecil atau sama dengan
!= : tidak sama dengan
in : range tertentu

Contoh penggunaannya, misal ingin membuat filter masuk ke router (In-Filter) untuk IP 192.168.0.0/16 dengan prefix range dari 16-32. Artinya, router tidak akan menerima informasi routing dengan IP 192.168.0.0/16 dari /16 sampai /32. Maka script yang harus dibuat adalah sebagai berikut :

"if(dst==192.168.0.0/16 && dst-len in 16-32){reject}"

Jika ternyata ada rule routing lain yang ingin di accept, kita bisa tambahkan rule baru dengan nama yang sama. Contoh menerima network dengan range 192.168.64.0/20 dan prefixnya lebih besar dari /20 saja.

"if(dst==192.168.64.0/20 && dst-len==20){accept}"

Jika dilihat dari hasilnya, terdapat 1 rule routing yang didapatkan dari router lain via OSPF (Flag O) yang ditolak yaitu 192.168.100.0/24 karena masuk ke dalam range 192.168.0.0/16 dengan prefix 16-32.

Seperti yang sudah dijelaskan sebelumnya, saat kita mengaktifkan Routing Filter maka default action yang digunakan adalah Drop. Dengan kata lain, jika tanpa menggunakan routing filter maka rule routing tetap akan di reject. Maka kita hanya perlu membuat beberapa rule accept yang diperbolehkan masuk ke dalam tabel routing.

Jika rule reject di disable maka hasilnya akan tetap sama seperti berikut ini :

Kesimpulan

Sebenarnya, penulisan syntax ini bisa dimodifikasi lagi sesuai kebutuhan. Karena hampir sama seperti scripting mikrotik pada umumnya. Kita bisa juga menambahkan beberapa matcher dan action dalam satu rule yang sama yaitu menggunakan operator AND, OR. Atau bisa juga menggunakan Else jika action yang digunakan lebih dari satu.

Format syntax yang digunakan adalah :
"if (matchers) {actions} else {actions}"

Contoh penggunaannya, misal ingin memfilter dari subnet 192.168.1.0/24 yang lebih besar dari /24 dan menambah distance dengan 1. Jika tidak ada cocok, distance akan dikurangi satu.

"if (dst==192.168.1.0/24 && dst-len>24) {set distance +1; accept} else {set distance -1; accept}"

Penulisan syntax ini juga bisa berdasarkan regular expression atau regex. Regex ini bisa digunakan saat ingin memfilter AS Number tertentu pada BGP. Tertarik mencoba routing filter pada routeros versi 7??

 

Artikel ini dibuat pada tanggal 17 Desember 2021




Kembali ke :
Halaman Artikel | Kategori Fitur & Penggunaan