Thursday, December 13, 2012

FAILOVER on MIKROTIK

SIMPLE FAILOVER MIKROTIK Diposkan oleh Faishal Rizkika Naufhal SIMPLE FAILOVER MIKROTIK Hallo blogger sekalian. Jumpa lagi dengan saya kali ini, kali ini saya membawakan judul simple failover dengan mikrotik. Failover ini sering digunakan di perusahaan-perusahaan besar yang memiliki fleksibilitas yang tinggi. Teknik ini akan berfungsi jika di implementasi jika memiliki 2 link Internet atau lebih. Dan penggunaannya adalah sebagai berikut Beda seperti load balancing, failover hanya menjalankan satu link saja sebagai main link yang akan digunakan untuk user 1. Jika main-link atau ISP 1 sedang down atau sedang melakukan maintenance dadakan, mikrotik akan menjalankan script dan memindahkan routing aslinya. Yang asalnya routing ke ISP 1 di pindah otomatis ke ISP 2 dan routing ke ISP 1 di disable sementara sampai ISP 1 normal kembali. 2. Jika backup-link atau ISP 2 sedang down seperti no. 2 dan ISP 1 sedang normal maka routing akan dikembalikan ke main-link dan routing di ISP 2 di disable sementara 3. Jika semua link mati maka semua mati juga... dan jika salah satu link sudah up maka secara otomatis routing akan dIPindah ke link ISP yang sedang UP Setelah berjibaku dengan Mikrotik Akhirnya bisa juga membuat failover dengan script sederhana. Di WikIPedia mikrotik (http://wiki.mikrotik.com/wiki/Category:Manual) kebanyakan memakai perintah yang sangat kompleks, seperti ada yang memakai branching, mulai dari branching variable sampai branching untuk menjalankan scriptnya. Walaupun memang ada perintah untuk mengkondisikan branching, kita coba untuk memakai command-command standard yang nanti hasilnya sama seperti memakai perintah dengan memakai branching. Dalam experiment yang saya coba saya menggunakan RB133 untuk oprekan, disini semua ether terpakai, 2 ether di pakai untuk nanti failover systemnya, dan satu ether di pakai untuk network lan kita. Sebelum memulai percobaan setidaknya anda tahu dulu apa yang harus dilakukan pada tahap-tahap awal, berikut step-step untuk membuat failover di mikrotik 1. Setting interface anda 2. Setting IP address 3. Setting DNS server 4. DHCP server (mempermudah addressing untuk client anda) 5. NAT 6. Routing 7. Netwatch 8. Failover Script 1. Setting Interface (Ethernet) Untuk merubah nama dari ethernetnya itu ikuti perintah ini. Merubah ether1 = /interface ethernet edit ether1 name lalu rubah sesuka anda lalu Ctrl+O Merubah ether2 = /interface ethernet edit ether2 name lalu rubah sesuka anda lalu Ctrl+O Merubah ether3 = /interface Ethernet edit ether3 name lalu rubah sesuka anda lalu Ctrl+O Jika Ethernet lebih dari 3 seperti saya silahkan rubah sesuka anda masing-masing dengan cara yang sama 2. Setting IP Address Berikut perintah untuk merubah IP address dengan asumsi seperti diatas /ip address add address=192.168.1.2/24 interface=ether1-wan2 comment=SPEEDY /ip address add address=203.80.13.89/28 interface=ether2-wan comment=SATNETCOM /ip address add address=192.168.22.1/24 interface=ether3-lan comment=LAN Untuk melihat addressingnya benar atau tidak masukkan perintah /ip address print # ADDRESS NETWORK BROADCAST INTERFACE 0 192.168.1.2/24 192.168.1.0 192.168.1.255 ether1-wan2 1 203.80.13.89/29 203.80.13.80 203.80.13.94 ether2-wan 2 192.168.22.1/24 192.168.22.0 192.168.22.255 ether3-lan 3. Setting DNS Server Setting DNS ini berfungsi untuk meresolvkan nama domain ke IP address yang akan dituju. Untuk mengaturnya di mikrotik, berikut cara lengkapnya Kita asumsikan DNS Server berimbang, primary DNS diisi oleh DNS dari SATNETCOM dan secondary DNS diisi oleh DNS dari SPEEDY List DNS Servernya SATNETCOM = 203.80.8.37 203.80.8.38 SPEEDY = 202.134.0.12 /ip dns set primary-dns=203.80.8.37 secondary-dns=202.134.0.12 allow-remote-requests=yes 4. DHCP Server DHCP ini supaya memudahkan addressing di client anda, jadi tidak usah susah-susah haru memasukan IP static. Berikut step by step mengaktifkan dhcp server 1. Membuat pool address 2. Membuat server dhcp dan Menentukan interface untuk server dhcpnya 1. Membuat IP pool Sebuah dhcp server akan membutuhkan IP pool untuk menentukan dari range IP berapa saja kah yang akan dIPakai untuk clientnya, berikut cara untuk membuat pool Contoh pool => 192.168.22.100 – 192.168.22.200 /ip pool add name=dhcp range=192.168.22.100-192.168.22.200 2. Membuat server dhcp dan menentukan interface untuk server dhcp Setelah ada pool IP address baru kita buat dhcp servernya. Berikut step by stepnya /IP dhcp-server add name=lan-dhcp address-pool=dhcp leases-time=”1d 00:00:00” interface=ether3-lan /IP dhcp-server network add address=192.168.22.0/24 gateway=192.168.22.1 dnsserver=” 203.80.8.37,202.134.0.12” domain=”SATNETCOM.com” ntp-server=203.80.8.40 Setelah itu silahkan dicoba dhcp servernya dibawah interface LAN anda, jika ada masalah silahkan hubungi faishal.rizkika@SATNETCOM.com atau tkj.faishal@gmail.com :D 5. NAT (Network Address Translator) Nat ini digunakan untuk menutupi kerahasian network LAN kita dari Internet. Jadi jika network kita 192.168.22.0/24 maka IP yang akan dibaca dari Internet adalah hanya IP publicnya saja. Setting NAT di mikrotik sangatlah gampang, hanya menambahkan rule di NAT nya saja. Berikut caranya: /IP firewall nat add chain=src-nat src-address=192.168.22.0/24 action=masquerade 6. Routing Routing ini yang sangat penting supaya kita bisa berkomunikasi langsung dan tanpa henti dengan Internet untuk keperluan kita. Karena disini mengangkat tema failover maka routing yang akan di configure adalah routing ke semua ISP yang dIPakai, dan disini kita asumsikan hanya ada dua ISP jadi kita hanya mengkonfigure routing gateway ke ISP 1 dan ISP 2. Perintah di Mikrotiknya dengan asumsi seperti di atas adalah. /IP route add gateway=203.80.13.81 distance=1 check-gateway=ping comment=main-link disabled=no /IP route add gateway=192.168.1.1 distance=2 check-gateway=ping comment=backup disabled=yes Jika berhasil berikut printscreennya (perintah = /IP route print) Disini secara normal link Utama adalah SATNETCOM yaitu yang di routingkan ke 203.80.13.81 dan SPEEDY di disable sementara, karena sesuai asumsi SPEEDY adalah backup link, yang akan di pakai jika link SATNETCOM sedang putus atau sedang mengalami gangguan. Untuk routing cukup sampai sini dan siap digunakan untuk ke step selanjutnya yaitu failover script. 7. Netwach Netwach ini digunakan untuk memonitoring suatu IP address dalam mikrotik dan network yang di handlenya. Di dalam masalah failover setidaknya harus ada dua IP yang harus dimonitoring. IP addressnya itu adalah IP address yang di handle oleh masing-masing ISP. Untuk mempermudah netwatch, masukkan saja 2 IP gateway. Untuk SPEEDY bisa di traceroute terlebih dahulu IP manakah yang terdekat dari network SPEEDY. Traceroute bisa dilakukan dari lan anda (routing SATNETCOM pastikan telah disable!!!) jika OSnya adalah windows lakukan step ini Tracert yahoo.com (yahoo.com bisa diganti bebas) Lalu ambil IP yang terdekat setelah IP modem anda. Berikut asumsi dan printscreennya Tracing route to yahoo.com [72.30.2.43] over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms 192.168.22.1 2 1 ms <1 ms <1 ms 192.168.1.1 3 6 ms 2 ms 2 ms 125.167.228.1 4 2 ms 2 ms 1 ms 125.160.1.65 5 46 ms 45 ms 45 ms 129.250.13.61 6 49 ms 60 ms 45 ms 129.250.6.21 7 48 ms 48 ms 47 ms 129.250.3.87 8 48 ms 47 ms 48 ms 129.250.3.37 9 223 ms 222 ms 226 ms so-3-0-0-0.plapx-cr2.ix.singtel.com [203.208.172.54] 10 * * * Request timed out. 11 224 ms 250 ms 232 ms 203.208.186.10 12 239 ms 245 ms 223 ms ae-1-d401.msr1.sk1.yahoo.com [216.115.106.155] 13 235 ms 251 ms 223 ms te-8-1.bas-k2.sk1.yahoo.com [68.180.160.11] 14 244 ms 245 ms 226 ms ir1.fp.vIP.sk1.yahoo.com [72.30.2.43] Trace complete. Yang di beri tanda merah adalah IP terdekat setelah IP modem anda. Maka IP 125.167.228.1 lah yang menjadi target netwatch khusus untuk SPEEDY. Lalu untuk SATNETCOM masukkan saja IP gateway dalam target netwatch. Karena IP gateway SATNETCOM sudah IP wan juga beda dengan SPEEDY. Cara kerja netwatch ini : a. Mikrotik akan memonitoring IP 125.167.228.1 dan 203.80.13.81 secara berkala (terus-menerus) b. Jika salah satu IP yang ada di netwatch mati akan menjalankan script yang sudah ada, berikut skema failover 1. Jika IP 203.80.13.81 mati (request time out) --- [down-script] maka mikrotik akan menjalankan script untuk memindahkan routing dari SATNETCOM ke SPEEDY untuk sementara (script akan dijelaskan dibawah) 2. Jika IP 203.80.13.81 kembali memberikan jawaban / status adalah up 203.80.13.81 kembali memberikan jawaban --- [up-script] maka mikrotik akan menjalankan script untuk memindahkan routing dari SPEEDY ke SATNETCOM lagi karena ISP utama sudah kembali normal 3. Jika IP 125.167.228.1 [up-script] tetap dalam keadaan nyala maka mikrotik tidak akan menjalankan script apapun, atau bisa menjalankan script pindah routing ke ISP 1 SATNETCOM. 4. Jika IP 125.167.228.1 [down-script] mati request time out maka mikrotik akan tetap menjalankan script routing ke SATNETCOM karena ISP 2 SPEEDY adalah link backup, jadi kalau mati juga tidak apa-apa 5. Jika semua ISP mati maka mikrotik akan mati total juga. Dan anda akan offline hingga salah satu IP dari netwatch tadi ada yang memberikan response terhadap mikrotik 6. Jika anda offline maka mikrotik akan terus mencari IP mana yang memberikan respons. Jika ISP 2 memberi response terlebih dahulu, maka mikrotik akan menjalankan script routing ke ISP 2 SPEEDY. Begitu juga sebaliknya jika ISP 1 member response terlebih dahulu maka routing tetap di main-link Logika yang dipakai untuk failover ini adalah sebagai berikut A. if SATNETCOM response, then main routing is to SATNETCOM [203.80.13.81] and SPEEDY [125.167.228.1] must be disabling for temporary B. if SATNETCOM die, then main routing move to SPEEDY [125.167.228.1] and routing SATNETCOM [203.80.13.81] must be disabling for temporary C. if SPEEDY response, main routing keep at SATNETCOM [203.80.13.81] and SPEEDY [125.167.228.1] keep disabled D. if SPEEDY die, main routing keep at SATNETCOM [203.80.13.81] and SPEEDY [125.167.228.1] keep disabled until the time of need it. E. if all die. Mikrotik still looking upstream response and change main routing directly Dan berikut contoh netwatchnya. Monitoring SATNETCOM Host : 203.80.13.81 -> gateway Interval : 30menit -> akan memonitoring setiap 30 menit sekali Timeout : 5menit -> jika mati lebih dari sama dengan 5 menit Down-script : to-backup -> script pindah routing ke SPEEDY + notification [email2] Up-script : to-main -> script pindah routing kembali ke SATNETCOM + notification [email1] Sintaksnya /tool netwatch add host=203.80.13.81 interval=00:30:00 timeout=300s down-script=to-backup upscript=to-main comment=”monitoring satnetcom” Monitoring SPEEDY Host : 125.167.228.1 -> short hopre from modem Interval : 30menit -> akan memonitoring setiap 30 menit sekali Timeout : 5menit -> jika mati lebih dari sama dengan 5 menit Down-script : email-speedy -> hanya mengirim notifikasi Up-script : ------ -> hanya optional, jika dimasukkan, ada kemungkinan script itu looping. Sintaksnya /tool netwatch add host=125.167.228.1 interval=00:30:00 timeout=300s down-script=email-speedy comment=”monitoring speedy” 8. Failover Script Akhirnya, disinilah inti kedua dari failover setelah routing. Disini mudah saja. Hanya akan mendisable dan enable routing yang bersangkutan saja. Berikut logika yang dipakai SATNETCOM up -> main routing to 203.80.13.81 || SPEEDY 192.168.1.1 disable SATNETCOM down -> main routing to 192.168.1.1 || SPEEDY enable – SATNETCOM 203.80.13.81 disable SPEEDY up -> main keep to 203.80.13.81 || SPEEDY 192.168.1.1 disable SPEEDY down -> main keep to 203.80.13.81 || SPEEDY 192.168.1.1 disable Berikut scriptnya yang sesuai dengan script yang ada di netwatch Script to-backup Skema Disable routing SATNETCOM, enable routing SPEEDY, kirim email notifikasi [email2]. Sintaks /system script add name=to-backup source=(\ [/ip route disable [find comment=main-link]; \ [/ip route enable [find comment=backup]; \ [/system script run [find name=email2]; ) Script Untuk notifications – email2 /system script add name=email2 /system script edit email2 source ; /tool e-mail send server=203.80.8.42 subject=(“SATNETCOM link down at “ . */system clock get time+) from=failover-manager to=faishal.rizkika@satnetcom.com body=(“Main Link – SATNETCOM down at “ . [/system clock get time] . “Link to Speedy already up now”) Lalu Ctrl+O untuk keluar Script to-main Skema Disable routing SPEEDY, enable routing SATNETCOM, kirim email notifikas [email1]. Sintaks /system script add name=to-main source=(\ [/ip route disable [find comment=backup]; \ [/ip route enable [find comment=main-link]; \ [/system script run [find name=email1];) Script Untuk notifications – email1 /system script add name=email1 /system script edit email1 source; /tool e-mail send server=203.80.8.42 subject=(“SATNETCOM link up at “ . [/system clock get time]) from=failover-manager to=Faishal.rizkika@satnetcom.com body=(“Main Link – SATNETCOM up at “ . [/system clock get time] . “Speedy already disabled for temporary”) Download Full Version + PICT disini Mikrotik how to - SIMPLE FAILOVER MIKROTIK powered by 4shared