Static Routing Multiple Gateway - Mikrotik

March 13, 2007

Sebelumnya udah pernah ditulis di forum.chip.co.id

Berikut adalah how-to, tutorial untuk melakukan static routing ke dua gateway yang berbeda (multiple gateway), dengan menggunakan Mikrotik Router OS, dan contoh kasus sebuah warnet yang menggunakan koneksi ADSL untuk international dan koneksi wireless untuk IIX…

Melakukan Static Routing 2 koneksi (wireless-adsl) ke 2 tujuan (IIX-intl)..

Sumber = ngoprek, baca2 (gak ada hasil penemuan sendiri)

Asumsi adsl untuk koneksi international, wireless untuk koneksi lokal (IIX)

Asumsi 3 interface (Router OS Box) ..

public –>terhubung dengan lan port router adsl
public-wireless, –>terhubung dengan radio client-infrastructure/ client-bridge yang terasosiasi dengan ap di pihak ISP
local –> terhubung dengan Swicth ke Jaringan Lokal

Asumsi IP Address

public 202.xx.xx.62/30 –>gateway 202.xx.xx.61 (ip lan modem adsl)
public-wireless 172.xx.xx.2/29 –> gateway 172.xx.xx.1 (ip local router isp)
lan 192.168.10.1/24 –> berfungsi sebagai gateway untuk jaringan local..

Kalau gua lebih prefer pakai static-routing, pernah sih coba2 pake routing-mark melalui mangle .. sayangnya tidak berhasil…

Static Routing

Untuk melakukan static routing iix-intl yg pertama harus kita ketahui adalah IP2 apa saja yang termasuk ke dalam IP blok IIX.. daftar lengkapnya terupdate dapat diakses melalui fasilitas looking glass (nice) yg salah satunya bisa diakses di http://lg.mohonmaaf.com , klik submit keluar deh.

Update sekarang di http://lg.mohonmaaf.com sudah ada script untuk Router OS, tinggal edit gatewaynya aja..

Network Next Hop Metric LocPrf Weight Path
*> 58.65.240.0/24 218.100.27.242 0 1000 0 24535 i
*> 58.65.241.0/24 218.100.27.242 0 1000 0 24535 i
*> 58.65.242.0/24 218.100.27.242 0 1000 0 24535 i
*> 58.65.243.0/24 218.100.27.242 0 1000 0 24535 i
*> 58.65.244.0/24 218.100.27.242 0 1000 0 24535 i
*> 58.65.245.0/24 218.100.27.242 0 1000 0 24535 i
*> 58.65.246.0/24 218.100.27.242 0 1000 0 24535 i
*> 58.65.247.0/24 218.100.27.242 0 1000 0 24535 i
Masih banyak lagi…

Yang di bawah kolom Network adalah ip blok yang termasuk ke dalam IIX.

Di mikrotik masukkan terlebih dahulu default gatewaynya.. (default routing) dalam kasus ini adalah

/ ip route add dst-address=0.0.0.0/0 gateway=202.xx.xx.61 comment=”Default” disabled=no

kemudian masukkan ip-blok yg tadi di dapat dari nice ke dalam tabel routing, biar gampang pake excel seperti yg bro diatas bilang bisa …dalam kasus ini seperti berikut;

/ ip route
add dst-address=58.65.240.0/24 gateway=172.xx.xx.1 scope=255 target-scope=10 \
comment=”Gateway IIX” disabled=no
add dst-address=58.65.241.0/24 gateway=172.xx.xx.1 scope=255 target-scope=10 \
comment=”Gateway IIX” disabled=no
add dst-address=58.65.242.0/24 gateway=172.xx.xx.1 scope=255 target-scope=10 \
comment=”Gateway IIX” disabled=no
add dst-address=58.65.243.0/24 gateway=172.xx.xx.1 scope=255 target-scope=10 \
comment=”Gateway IIX” disabled=no
add dst-address=58.65.244.0/24 gateway=172.xx.xx.1 scope=255 target-scope=10 \
comment=”Gateway IIX” disabled=no
add dst-address=58.65.245.0/24 gateway=172.xx.xx.1 scope=255 target-scope=10 \
comment=”Gateway IIX” disabled=no
add dst-address=58.65.246.0/24 gateway=172.xx.xx.1 scope=255 target-scope=10 \
comment=”Gateway IIX” disabled=no

…… dan seterusnya

Dikasih comment Gateway IIX untuk implementasi netwatch kl link wireless putus, akan digambarkan belakangan… skript yg mungkin gak update bisa diliahat di http://indoupload.net/files/1/Router…ix-routing.rsc

Jangan lupa gantikan 172.xx.xx.1 dengan gateway wireless anda
, kalau pake ultraedit Ctrl-R .. find&replace , kopi dan paste di ssh router os atau terminal…

Setelah static routing dimasukkan maka otomatis permintaan ke IIX akan memakai gateway 172.xx.xx.1 dan permintaan ke intl akan memakai gateway 202.xx.xx.61, jika di traceroute dari routernya akan terlihat seperti ini;

Untuk Intl..

[tjdykb@mt] > /tool traceroute google.com
ADDRESS STATUS
1 202.xx.xx.61 2ms 1ms 1ms
2 202.xx.xx.33 61ms 85ms 64ms
3 202.xx.xx.230 67ms 59ms 67ms
4 202.xx.xx.233 57ms 61ms 73ms
5 202.xx.xx.1 65ms 68ms 63ms

.. dan seterusnya ada kira2 20 hop

Untuk IIX

[tjdykb@mt] > /tool traceroute boleh.com
ADDRESS STATUS
1 172.xx.xx.1 4ms 3ms 2ms
2 202.xx.xx.105 15ms 5ms 10ms
3 202.xx.xx.1 6ms 10ms 7ms
4 202.xx.xx.141 11ms 7ms 7ms
5 218.xx.xx.173 7ms 10ms 13ms
6 202.xx.xx.6 8ms 6ms 10ms

ada 6 hop

Apabila koneksi wirelessnya rentan putus, atau link adsl lebih stabil gua menganjurkan untuk melakukan static routing ip2 dns ke gateway adsl (meskipun ip2 tersebut masuk ke golongan lokal)…

Disable Static Routing Gateway IIX

Berhubung koneksi kabel harusnya lebih stabil dari koneksi wireless, artinya ada juga putusnya, maka ada baiknya apabila kita berjaga-jaga agar koneksi lokal tidak ikut terputus apabila link wireless nya putus.

Dalam contoh ini fasilitas yang digunakan adalah /tool netwatch .. melakukan ping ke gateway IIX atau pun IP yg terletak di Cyber (apabila backhaul ISP juga menggunakan wireless yg rentan putus) dalam contoh ini adalah 202.xx.xx.141 (lihat hasil traceroute lokal no.4)..

Ping dilakukan secara periodik misalnya 15 detik sekali dengan batasan time-out 100ms.

Apabila link terputus.. baik link antara kita dengan ISP atau ISP dengan Cyber, maka status di netwatch akan berubah menjadi down, dan akan menjalankan script yang mendisable entry static routing yang memiliki coment “Gateway IIX”…Apabila telah up kembali maka status berubah menjadi up dan akan menjalan script yang mengenable..

/ tool netwatch
add host=172.xx.xx.1 timeout=100ms interval=15s \
up-script=”/ip route enable \[/ip route find \
comment=\"Gateway IIX\"\]” down-script=”/ip route \
disable \[/ip route find comment=\"Gateway IIX\"\]” \
comment=”Ping Gateway IIX” disabled=no

Jangan lupa ganti 172.xx.xx.1 dengan gateway wirelessnya…

Update routing untuk IP Blok modem ADSL kita jangan lupa diarahkan ke gateway modem/router ADSL, juga ada kasus dimana koneksi ADSL menjadi tidak stabil / sering putus setelah static routing diterapkan, belum diketahui sebabnya kenapa, namun cara menanggulanginya adalah dengan melakukan ping ke salah satu IP yang terdapat di jalur ADSL (periksa melalui traceroute), secara rutin (misal setiap 60 detik).

27 Responses

  1. Mas, mo tanya.
    gini mas..

    konfigurasi Pc Router (Mikrotik OS)
    P4
    512MB memory
    40GB hardisk
    4 LAN Card, dengan IP masing2 Sbb:
    1. eth1 192.168.7.2/24 di chain ke 192.168.7.1
    2. eth2 192.168.5.2/24 di chain ke 192.168.5.1
    3. eth3 192.168.1.0/24(for gateway lokal)
    4. eth4 192.168.2.0/24(for gateway lokal)

    Koneksi Internet 2 ADSL 384 kbps
    1. IP lokal modem1 192.168.7.1
    2. IP Lokal modem2 192.168.5.1

    LAN
    1. 192.168.1.0/24
    2.192.168.2.0/24
    3.192.168.3.0/24
    4.192.168.4.0/24

    Pertanyaanya…..?
    Saya ingin LAN 1,2 di routing untuk memakai koneksi internet dari modem1.
    Saya ingin LAN 3,4 di routing untuk memakai koneksi internet dari modem2.

    mohon advisenya, gimana cara settingnya mas….

  2. Menggunakan routing mark,
    di mangle ditandai terlebih dahulu request ke internet yang berasal dari masing network /24 ataupun masing2 interface, tandai prerouting src-addressd /24 Connection Mark dan Packet Mark kemudian Routing Mark..

    Kemudian pada routing tentukan bahwa request dengan Routing Mark A memiliki default gateway modem 1 dan seterusnya..

  3. Mas, untuk dnsnya gmn setupnya kalo multiple gateway? Krn 2 dns dari isp dan 2 dns yang dari adsl..

    trims

  4. Pada prinsipnya DNS bisa menggunakan DNS siapa saja dan DNS mana saja yang dibuka untuk anda, tergantung mana yang menurut anda paling stabil dan paling cepet diakses melalui koneksi yang anda miliki.

  5. Michael_Qodar

    November 21st, 2007

    P3 (i386)
    RAM 64 Mb
    HDD 20 Gb
    2 LAN Card, dengan IP masing2 Sbb:
    1. eth1 192.168.0.207/24 (Internet) Gateway 192.168.0.1
    beserta setting DNS yang sesuai dengan yang dikasih oleh ISP
    2. eth2 192.168.1.207/24

    saya membuat PC router untuk menyambungkan 2/lebih Domain dan bisa tersambung ke Internet juga dengan menggunakan OS Mikrotik(CD), semua sudah saya install dan konfigurasi^ nya sudah saya masukan sesuai dengan cara^ yang di terangkan dalam refman2.9.Pdf.
    yang saya heran ping ke eth1 dari client (192.168.1.5) yang tersambung ke eth2 itu PING pun tidak bisa kenapa y?
    dan saya Coba pake FreeBSD juga sama masalahnya seperti itu.
    apakah ada yang salah atau Kurang dari konfigurasinya atau Hardware nya mungkin?
    mohon di bantu y…..

  6. Silahkan diperiksa hal-hal sebagai berikut;

    1. Periksa apakah sambungan fisik melalui Kabel LAN sudah dilakukan dengan baik (cable tidak unplugged). Juga kesehatan interface perantara seperti switch - coba pindah2kan portnya
    2. Pastikan bahwa subnet mask yang dimount di mikrotik (gateway) sama dengan yang di set di klien sama (/24 -kah? = 255.255.255.0)
    3. Apabila sudah tidak ada masalah di atas coba lakukan penggantian interface (network Card) pada router anda.

    Yang ada maksud ping tidak bisa?
    1. Request Time Out?
    2. Destination Unreachable?
    3. Error lain?
    4. Ping ke gateway? 192.168.1.207?

  7. joko subandriyo

    January 18th, 2008

    MIKROTIK OS ————–proxy squid
    | \ \
    | \ \
    HUB \ \
    | adsl1 ads2
    |
    |
    20-PC

    ________________________________________________

    mikrotik box ada 4 Eth
    dan config tErbaik di mikrotiknya gimana boss?
    tolong dong….

  8. @joko

    sebenernya gak ada yang dibilang terbaik, setiap orang punya preferensi sendiri - sendiri .. kalau saya akan buat seperti ini ..

    adsl1 adsl2
    | |
    eth1 eth2
    mikrotik
    |
    eth3
    |
    squid-cttproxy-gateway user
    |
    switch
    |
    user

    adsl1 dan adsl2 di load balancing, posisi squid harus sebelum mikrotik (dari sudut pandang user) kalau tidak dia hanya akan ambil koneksi ke default route (salah satu dari adsl1 atau2)

    mengenai squid dan ctt-proxy dapat anda baca lebih lanjut di http://tajidyakub.net/index.php/2007/08/08/squid-cache-tproxy-dan-mikrotik-alternatif-perpaduan-untuk-jaringan-sederhana/

    warning, konfigurasinya rada menjlimet, jadi.. goodluck..

  9. joko subandriyo

    January 19th, 2008

    makasih boss…
    tak coba dulu
    mumpung malam….. :D

  10. joko subandriyo

    January 19th, 2008

    stelah tak coba, brjalan bagus. cuman kok ndak isa limit per klient, mohon penceran boss!

  11. @joko,
    kalau limiting queue pengaruhnya di mangle mikrotik, ada kemungkinan penandaan paketnya masih salah, selama sudah dipastikan bahwa target address (obyek rule queue) sudah benar - silahkan di torch di interface tersebut, apakah sudah benar paket tcp-ip masuk membawa ip address pelanggan keluar dari squid ctt-proxy?..

  12. tak utak-utik sampe ngak tahu salahnya, akrinya instal mikrotik lagi, instal ubuntu lagi,
    trus takcoba pake setingan dibawah ini (lumayan juga), cuman problemnya, aku ndak isa telnet atau ssh dari klien ke arah proxy padahal sebelumnya bisa, mohon pencerahan boss? (maaf banyak tanya) ini mas setingan comat-comotku :

    ”’/ ip address”’
    add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=intranet
    add address=10.111.0.2/24 network=10.111.0.0 broadcast=10.111.0.255 interface=adsl1
    add address=10.112.0.2/24 network=10.112.0.0 broadcast=10.112.0.255 interface=adsl2
    add address=192.168.1.1/30 network=192.168.0.0 broadcast=192.168.0.3 interface=proxy

    ”’/ ip firewall mangle”’
    add chain=prerouting src-address-list=depan in-interface=intranet action=mark-connection new-connection-mark=depan passthrough=yes protocol=!icmp
    add chain=prerouting src-address-list=depan in-interface=intranet action=mark-routing new-routing-mark=depan passthrough=no protocol=!icmp
    add chain=prerouting src-address-list=utama in-interface=intranet action=mark-connection new-connection-mark=utama passthrough=yes protocol=!icmp
    add chain=prerouting src-address-list=utama in-interface=intranet action=mark-routing new-routing-mark=utama passthrough=no protocol=!icmp
    add chain=prerouting in-interface=intranet connection-state=new nth=1,1,0 action=mark-connection new-connection-mark=depan passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=intranet action=add-src-to-address-list address-list=depan address-list-timeout=1d connection-mark=depan passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=intranet connection-mark=depan action=mark-routing new-routing-mark=depan passthrough=no protocol=!icmp
    add chain=prerouting in-interface=intranet connection-state=new nth=1,1,1 action=mark-connection new-connection-mark=utama passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=intranet action=add-src-to-address-list address-list=utama address-list-timeout=1d connection-mark=utama passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=intranet connection-mark=utama action=mark-routing new-routing-mark=utama passthrough=no protocol=!icmp

    add chain=prerouting src-address-list=depan in-interface=proxy action=mark-connection new-connection-mark=depan passthrough=yes protocol=!icmp
    add chain=prerouting src-address-list=depan in-interface=proxy action=mark-routing new-routing-mark=depan passthrough=no protocol=!icmp
    add chain=prerouting src-address-list=utama in-interface=proxy action=mark-connection new-connection-mark=utama passthrough=yes protocol=!icmp
    add chain=prerouting src-address-list=utama in-interface=proxy action=mark-routing new-routing-mark=utama passthrough=no protocol=!icmp
    add chain=prerouting in-interface=proxy connection-state=new nth=1,1,0 action=mark-connection new-connection-mark=depan passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=proxy action=add-src-to-address-list address-list=depan address-list-timeout=1d connection-mark=depan passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=proxy connection-mark=depan action=mark-routing new-routing-mark=depan passthrough=no protocol=!icmp
    add chain=prerouting in-interface=proxy connection-state=new nth=1,1,1 action=mark-connection new-connection-mark=utama passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=proxy action=add-src-to-address-list address-list=utama address-list-timeout=1d connection-mark=utama passthrough=yes protocol=!icmp
    add chain=prerouting in-interface=proxy connection-mark=utama action=mark-routing new-routing-mark=utama passthrough=no protocol=!icmp

    ”’/ ip firewall nat”’
    add chain=srcnat connection-mark=depan action=src-nat to-addresses=10.111.0.2 to-ports=0-65535
    add chain=srcnat connection-mark=utama action=src-nat to-addresses=10.112.0.2 to-ports=0-65535

    ”’/ ip route”’
    add dst-address=0.0.0.0/0 gateway=10.111.0.1 scope=255 target-scope=10 routing-mark=depan
    add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10 routing-mark=utama
    add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10

  13. ohya sekalian mohon kritik saran………….

  14. add address=192.168.1.1/30 network=192.168.0.0 broadcast=192.168.0.3 interface=proxy

    bagian itu salah network ama broadcastnya,
    kalau metoda load balancingnya sih itu harusnya baik2 aja, saya sendiri lom pernah pake tapi pernah baca2 konsepnya di wiki mikrotik, yang saya bingung, bagian mana ya yang melakukan intercept paket untuk di arahkan ke proxy… kalau setingan seperti di atas sih itu dari user intranet langsung ke adsl gak lewat proxy lagi..

  15. joko subanderiyo

    January 22nd, 2008

    aku ada ide untuk pake dua mikrotik box, gimana boss?
    topologinya sbb:

    adsl1
    |
    |
    |
    mikrotik——-adsl2
    |
    |
    |
    mikrotik ———squid
    |
    |
    |
    user

    binguuuuung!!!

  16. huheuheu ..
    mikrotik yang kedua gunanya apaan coba huehuheuhe…

  17. joko subanderiyo

    January 22nd, 2008

    habis pusing bossss.
    malah diketawain

  18. joko subanderiyo

    January 22nd, 2008

    habis ngompile ubuntunya aku ndak isa…
    isone cuman ngopol :D :))

  19. joko subanderiyo

    January 22nd, 2008

    bos id yahoo apa boss? sartugiono

  20. joko subanderiyo

    January 22nd, 2008

    bos id yahoo apa boss? mohon di add sartugiono

  21. @joko yahoo added..

  22. mas mohon bantuannya..
    saya dah coba ikutin setingan buat load balancing tapi kok tetep ga berhasil gambaran topologi saya seperti ini :
    konfigurasi Pc Router (Mikrotik OS)
    mikrotik dengan 4 lancard
    4 LAN Card, dengan IP masing2 Sbb:
    1. eth1 192.168.133.14/30 di chain ke gw 192.168.133.13 (WAP ISP1)
    2. eth2 192.168.1.3/24 di chain ke gw 192.168.1.1 (ADSL)
    3. eth3 203.xx.xx.70/30 di chain ke gw 203.xx.xx.69 (ISP3)
    4. eth4 192.168.100.254/24 (for gateway client)

    Pertanyaanya…..?
    1. Saya ingin client misal aja ( 192.168.100.10 -192.168.100.20) di routing untuk memakai koneksi internet dari WAP ISP1.
    2.Saya ingin client misal aja (192.168.100.30-192.168.100.100) di routing untuk memakai koneksi internet dari ADSL.
    3.Untuk koneksi ke lokal indonesia (IIX) bisa ga di routing ke ISP3 semua

    gimana cara settingnya mas….di tunggu bantuannya..kalo bisa ada contoh setingan yang dah berhasil di jalankan.

    makasih sebelumnya.

  23. @harjo,
    semuanya bisa dilakukan dan pernah saya lakukan, Load Balancing berdasarkan src-address lebih ‘risk-free’ dibandingkan load balancing round robin ke semua isp (yang kualitas koneksinya belum tentu sama).

    Pertama agar supaya semua koneksi IIX di lewatkan ke ISP3, cara yg paling mudah adalah dengan membuat TABLE, contoh :IIX-Route di /ip router rule, dan kemudian ditentukan di /ip router bahwa 0.0.0.0/0 Mark=IIX-Route gateway = 202.xx.xx.69. Otomatis semua koneksi ke arah IIX sesuai dengan CIDR yang termasuk di dalam rule table IIX akan mengarah kesini, ada contohnya di atas, CIDRnya bisa diambil di situs mikrotik.co.id (nice) dan syntaxnya bisa anda rubah menggunakan search & replace notepad.

    Untuk kondisi client group A lewat ISP1 dan client group B lewat ISP2 (internasionalnya), maka cara yg paling mudah adalah dengan menggunakan fasilitas routing mark yang disuntik melalui /ip firewall mangle. Setelah marking koneksi (Con-Mark dan Pak-Mark) IIX Intl berdasarkan Address List (/ip firewall address-list) IIX Passtroughnya silahkan anda check-mark dan dibawahnya buat rule, Pre-routing, Pak-Mark = Internasional, Src-address-list= Group-A (define di address-list mungkin per /32) Action Mark-Routing = Route-Mark-Intl-1, kemudian set hal yang sama dengan Routing mark yang berbeda untuk Group B.

    Kemudian di /ip route tinggal ditentukan untuk route mark 1 dan 2 masing-masing ke arah gateway mana.

    Kita tetap harus menentukan default gateway (0.0.0.0/0), dan untuk mengetes apakah konfigurasi tersebut sudah berjalan gunakan trace route di sisi klien (jangan di router, kalau di router semua akan masuk ke default route).

    Setelah konfig anda sukses, mungkin anda akan menemukan masalah dengan Queue, karena paket forward untuk konfigurasi ini juga harus diberi tanda, Forward in-interface = etherx - Mark-Packet = Internasional ..

    Demikian semoga bisa membantu.

  24. Boss mau tanya kalau yg skema bonding itu sama gak yah yg begini,karena waktu itu skema failovernya gak jalan dengan methode seperti ini ?? thanks

  25. singgih

    July 18th, 2008

    maksudnya reassociating dimikrotik itu apa,….??

    padahal utuk signal and streaght ,…..itu bagus,…???

  26. mau tanya :

    maksudnya reassociating mikrotik itu apa,…?

  27. Artinya koneksi wireless nya terputus karena satu dan lain hal dan mikrotik melakukan asosiasi ulang. Penyebab terputusnya harus diselidiki sendiri, akan sangat tergantung kepada permasalahan lapangan.

Leave a Reply