Rabu, Agustus 10, 2011

Mikrotik Script

Mikrotik adalah sistem operasi yang secara khusus di desain untuk pengaturan jaringan. Bisa digunakan sebagai router, gateway, brigde, bandwith limiter, web proxy, termasuk juga fasilitas lainnya yang saya masih belum bisa memanfaatkannya. Meski pada awalnya terlihat cukup susah, dengan kesabaran dan banyak-banyak googling, termasuk juga mengintip beberapa mikrotik pada warnet-warnet, akhirnya berhasillah memanfaatkan mikrotik sebagai gateway internet.



Secara sederhana, anda sudah bisa bilang kalau anda berhasil mengkonfigurasi mikrotik bila anda bisa mengakses internet yang berada di belakang mikrotik. Konfigurasi yang dibutuhkan hanyalah menentukan IP address jaringan intranet dan mengaktifkan mikrotik sebagai gateway, setting IP DNS yang digunakan, dan sudah selesai, mikrotik sudah berfungsi. Cara-cara setting bisa anda baca pada artikel Instalasi dan Setup Mikrotik. Bila anda menggunakan Winbox, menu-menu yang tersedia sama persis dengan urutan command line.

Pada awalnya, saya mengetik satu-persatu IP address untuk menambahkan data pada menu Queue, menu ini untuk membatasi kecepatan transfer untuk tiap IP address. Untunglah meski pada command line-pun, saya hanya tinggal menekan tombol panah atas untuk melihat perintah sebelumnya, dan tinggal mengubah menjadi nomor IP yang baru. Pada masa itu, apapun susahnya, masih belum menjadi masalah :) Baru setelah setting ulang server yang ke sekian kalinya, rasa malas itu muncul, kenapa setiap kali harus menambahkan ratusan perintah yang sama. Pastinya semua admin mikrotik juga mengalami hal itu, dan mulailah saya mempelajari script mikrotik untuk mempercepat kerja saya.

Dimulai dari kebutuhan penambahan rule pada menu Queue dan menu Address List yang nantinya menjadi list IP mana saja yang berhak menggunakan fasilitas internet. Sebagai permulaan, saya akan memberi contoh perintah loop yang sederhana.

:for i from=1 to=10 do={:put $i}

Perintah diatas akan menjalankan loop i, dari 1 hingga 10 dan mencetak angka tersebut pada layar monitor. Perintah diatas tidak akan mengubah setting apapun.

Dari situ, bisa kita manfaatkan untuk melakukan pekerjaan membosankan tadi, menambahkan rule Queue dan Address List. Bila semula dikerjakan secara manual membutuhkan waktu lebih dari 30 menit, maka dengan script sederhana saja, kita hanya membutuhkan waktu tidak lebih dari 2 menit.

:for i from 1 to 255 do={/queue simple add target-addresses="192.168.1.$i/32" \
queue=default-small/default-small limit-at=100000/150000 max-limit=100000/150000 \
total-queue=default-small}

Perintah diatas akan menambahkan rule Queue dari 1 hingga 255. Perintah dasarnya adalah

/queue simple add target-addresses="192.168.1.$i/32" \
queue=default-small/default-small limit-at=100000/150000 max-limit=100000/150000 \
total-queue=default-small

Dengan variabel $i yang diisi dari 1 hingga 255. Selesailah sudah 255 rule yang sebelumnya harus anda inputkan satu-persatu, kini cukup hanya dengan beberapa baris perintah.

Untuk menambahkan address-list, kita bisa menggunakan cara yang sama, yaitu :

:for i from 1 to 255 do={/ip firewall address-list add \
address="192.168.1.$i" list=no_internet disabled=no}

Perintah diatas akan memasukkan semua IP address ke dalam list no_internet, yang nantinya akan diblokir pada rule firewall. Nantinya beberapa IP yang boleh mengakses internet, tinggal di-edit menggunakan Winbox. Jadi selesailah sudah proses entri yang cuma memakan waktu beberapa menit.

Catatan : penggunaan tanda back slash "\" adalah sebagai tanda ganti baris pada command line tanpa mengeksekusi command tersebut. Cara lainnya, yaitu dengan mengetik command tersebut seluruhnya, yang secara otomatis di-word-wrap oleh sistem.

0 comments: