About Me

Perkenalan Aja... :)

UNDER CONSTRUCTION

Please be Patient :)

UNDER CONSTRUCTION

Please be Patient :)

UNDER CONSTRUCTION

Please be Patient :)

UNDER CONSTRUCTION

Please be Patient :)

19 January 2011

Simple Failover Mikrotik

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
powered by 4shared