unOfficial KPLI Pasuruan

Klo ada yg Gratisan– Ngapain mesti bayarrr…

Membuat Router Load Balancing Menggunakan Linux Ubuntu

Posted by admin on February 25, 2008

Satu Router Untuk 2 Koneksi ISP

Di sekolah tempat saya bekerja ada 2 koneksi internet, kok banyak amat ya? karena di sekolah saya untuk aktifitas berinternet-ria sangat tinggi, maklum sekolah IT 😀 .dulu awalnya pake telkom speedy, teman² tahu sendirilah kualitas dari speedy emang sering bikin pelanggannya kecewa. walhasil harus tambah satu keneksi lagi selain telkom, dipilihlah ISP yang dikenal paling bagus servicenya di kota Bangil yaitu Spin-Net. OK sekarang Jalan dgn 2 ISP. koneksi dari speedy dipake untuk pembelajaran di Lab_TKJ sedangkan koneksi dari ISP satunya lagi dipake untuk ruag TU dan ruang Guru. belum berlangsung satu bulan para guru yang mengajar TKJ mengeluh karena katanya speedynya lambat dan sering RTO(request time out), saya disuruh nyoba internetan di Lab_TKJ ternyata memang ga bagus. saya periksa topologinya sepertinya sudah terpasang dengan benar, kemudian lakukan ping yahoo.com dan hasil time reply nya sangat besar (rata² 2371ms), saya lanjutkan ping ke DNS servernya spedy(ping 202.134.0.155) hasilnya memang banyak RTO nya alias sering Disconnect. salah satu guru tanya ke saya “kenapa mas pur” trus saya jawab “sumber masalah emang dari telkomnya pak” dan saya coba telpon ke 147 jawabannya kurang memuaskan. yah begitulah layanan telkom…. daripada pusing saya tawarkan untuk menggabunggabungkan 2 koneksi tersebut dalam satu PC Router. koneksi pertama dari telkom speedy dan keneksinya kedua dari spinnet. maka jadilah satu ruoter dengan 2 koneksi isp dimana ketika salah satu koneksi padet banget tarafiknya atau bahkan drop maka secara otomatis router akan langsung mengambil jalan ke koneksi yang satunya sehingga koneksi jadi seimbang (namanya juga Load balancing) 😀

konfigurasi jaringan yang saya gunakan di router sekolah adalah sebagai berikut:

Sambungan ADSL melalui eth2 IP address 192.168.1.222
dengan gateway IP 192.168.1.1.

dari Spin-net melalui eth0 IP address 203.134.148.2 melalui WiFi / Wireless
dengan gateway 203.134.148.1

Sambungan LAN melalui eth1 IP address 192.168.0.222.

Langkah konfigurasi pc-router menggunakan linux ubuntu adalah sebagai berikut.

pastikan linux ubuntu sudah terinstal dgn baik. dan pada sheel linux atau konsole.

$

Pindah mode menjadi Super User dengan perintah:

$ sudo bash
tekan [enter] hingga muncul tanda string ( # )
#
Edit informasi interface pada file /etc/network/interfaces, dapat dilakukan menggunakan vi

# vi /etc/network/interfaces

Informasi penting yang perlu di-edit pada file interfaces adalah

Informasi penting yang perlu di-edit pada file interfaces adalah

auto eth0
iface eth0 inet static
address 203.134.148.2
netmask 255.255.255.240

auto eth1
iface eth1 inet static
address 192.168.0.222
netmask 255.255.255.0

auto eth2
iface eth2 inet static
address 192.168.1.222
netmask 255.255.255.0

Install aplikasi layanan ssh agar bisa remote dari komputer klien

# apt-get install openssh-server
# /etc/init.d/ssh restart

Selanjutnya kita perlu menset routing dan load balancing yang secara sederhana adalah

sebagai berikut

# /sbin/ip link set lo up
# /sbin/ip link set eth0 up
# /sbin/ip link set eth1 up
# /sbin/ip link set eth2 up

# /sbin/ip route flush table adsl
# /sbin/ip route flush table spinnet
# /sbin/ip route flush table internet

# /sbin/ip addr add 127.0.0.1/8 brd 127.0.0.255 dev lo

# /sbin/ip addr add 192.168.1.222/24 brd 192.168.1.255 dev eth2
# /sbin/ip addr add 203.134.148.2/28 brd 203.134.148.15 dev eth0
# /sbin/ip addr add 192.168.0.222/24 brd 192.168.0.255 dev eth1

# /sbin/ip rule add prio 10 table main
# /sbin/ip rule add prio 20 table adsl
# /sbin/ip rule add prio 30 table spinnet
# /sbin/ip rule add prio 40 table internet

# /sbin/ip route del default table main
# /sbin/ip route del default table adsl
# /sbin/ip route del default table spinnet
# /sbin/ip route del default table internet

# /sbin/ip rule add prio 20 from 192.168.1.0/24 table adsl
# /sbin/ip route add default via 192.168.1.1 dev eth2 src 192.168.1.222 proto static table adsl
# /sbin/ip route append prohibit default table adsl metric 1 proto static
# /sbin/ip rule add prio 30 from 203.134.148.0/28 table spinnet
# /sbin/ip route add default via 203.134.148.1 dev eth0 src 203.134.148.2 proto static table spinnet

# /sbin/ip route append prohibit default table spinnet metric 5 proto static# Set up load balancing gateways
# /sbin/ip rule add prio 40 table internet
# /sbin/ip route add default proto static table internet
# nexthop via 192.168.1.1 dev eth2 weight 1
# nexthop via 203.134.148.1 dev eth0 weight 1

Konfigurasi di atas membutuhkan tiga (3) tabel routing tambahan, yaitu, adsl, spinnet dan

internet yang kita masukan dalam file /etc/iproute2/rt_tables, isinya kira-kira sbb,

120 adsl
121 spinnet
123 internet

Selanjutnya kita perlu menset NAT / proxy agar dapat sekaligus melakukan NAT ke dua (2)

interface yang berbeda, yaitu, 192.168.1.222 dan 203.134.148.2. Adapun perintahnya adalah

sebagai berikut,

# /bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# /sbin/iptables -F
# /sbin/iptables -P INPUT DROP
# /
# /sbin/iptables -A INPUT -i eth1 -j ACCEPT
# /sbin/iptables -A INPUT -i eth0 -p tcp -s 0/0 –dport 25 -j ACCEPT
# /sbin/iptables -A INPUT -i eth2 -p tcp -s 0/0 –dport 25 -j ACCEPT
# /sbin/iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
# /sbin/iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with tcp-reset
# /sbin/iptables -A INPUT -p tcp -i eth2 -j REJECT –reject-with tcp-reset
# /sbin/iptables -A INPUT -p udp -i eth0 -j REJECT –reject-with icmp-port-unreachable
# /sbin/iptables -A INPUT -p udp -i eth2 -j REJECT –reject-with icmp-port-unreachable
# /sbin/iptables -t nat -A POSTROUTING -o eth2 -j SNAT –to 192.168.1.222
# /sbin/iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 203.134.148.2
# reboot

17 Responses to “Membuat Router Load Balancing Menggunakan Linux Ubuntu”

  1. Tulisan artikel di blog Anda bagus-bagus. Agar lebih bermanfaat lagi, Anda bisa lebih mempromosikan dan mempopulerkan artikel Anda di infoGue.com ke semua pembaca di seluruh Indonesia. Salam Blogger!
    http://www.infogue.com/
    http://www.infogue.com/software/membuat_router_load_balancing_menggunakan_linux_ubuntu/

  2. gimana kalau fedora!!! coz kalau ubuntu ini uda pernah dibahas punya kang onno purboo

    salam hangat
    zaki

  3. Ali Akbar said

    kalo IPnya ga statik gimana ya?

  4. alfian itn said

    mantap mas pur artikelnya..
    Komunitas Linux
    Assalamualaikum Wr. Wb.
    Kami, keluarga besar Komunitas Linux ITN Malang mengucapkan selamat menunaikan ibadah puasa “Mohon Maaf Lahir & Bathin”
    Wassalamualaikum Wr. Wb.

  5. sep mantep artikelnya mas pur..
    Komunitas Linux
    Assalamualaikum Wr. Wb.
    Kami, keluarga besar Komunitas Linux ITN Malang mengucapkan selamat menunaikan ibadah puasa “Mohon Maaf Lahir & Bathin”
    Wassalamualaikum Wr. Wb.

  6. Mumu said

    mas,g pake masquerade ta?

    jawab:
    kita pake iptable mas, bukan masquerade

  7. newbie said

    artikelnya bagus mas ..
    tapi ada yang ga ngerti, perintah mulai dari #/sbin/ip link set lo up sampai # nexthop via 203.134.148.1 dev eth0 weight 1 ngeditnya di file apa mas?

  8. Jimmi said

    kang itu perlu di compile dulu gak sih kernel nya supaya support multiple gateway..??

  9. iwan said

    mas kalo pake 2 speedy settingnya gimana? maklum baru mau belajar

  10. ikhwan said

    mas kalo pake 2 speedy settingnya gimana? maklum baru mau belajar

  11. usmijuka said

    mas saya sedang coba buat ruter load balancing.. saya ikuti step2 diatas tapi sewaktu menjalankan /sbin/ip rule add prio 20 table adsl, muncul pesan “Error: argument “adsl” is wrong: invalid table ID”

    itu kenapa mas ya?? mohon pencerahan

  12. usmijuka said

    Konfigurasi di atas membutuhkan tiga (3) tabel routing tambahan, yaitu, adsl, spinnet dan

    internet yang kita masukan dalam file /etc/iproute2/rt_tables, isinya kira-kira sbb,

    120 adsl
    121 spinnet
    123 internet

    owhh ini towh… cara buatnya gemana mas.. saya baru nih di dunia linux 😀

  13. usmijuka said

    pesan ini apa maksutnya yah,

    # /sbin/ip route del default table main ==================> muncul pesan RTNETLINK answers: No suck process

  14. Edo said

    mas, untuk menganalisa hasil dari load balancing 2 isp dari sisi perfomansi dibandingkan dengang menggunakan 1 isp saja (tanpa load balancing), apakah ada tool yang bisa digunakan pada linux ubuntu? Maksunya biar bisa terlihat secara grafis peningkatan performanya.

  15. A said

    Payah ni, pertanyaannya banyak yg gak dijawab… ~_~

  16. adityawijanarko said

    mas…
    maaf banget tapi saya udah coba semua …
    kenapa kalau saya ping ke yahoo.com jawabanya

    connect:Network is unreachable

    kenapa ya …mohon pencerahannya mas

  17. lkjklcbx said

    jangan lagi ada pertanyaan karena kamu smua cma dianggap rumput yang bertanya

Leave a reply to A Cancel reply