Loadbalance 2 ISP Pada Komputer Linux

June 20th, 2010
by Hendra

Linux memiliki kemampuan routing yang dapat diandalkan. Seiring dengan berkembangnya teknologi, akses internet seolah menjadi kebutuhan primer. Bahkan terkadang berlangganan akses dari satu ISP saja tidak cukup. Untuk itu dibutuhkan sebuah loadbalancer untuk membagi traffic ke masing-masing jalur yang digunakan.Berikut adalah teknik loadbalance sederhana dengan PC Linux. Kita asumsikan ada dua line ISP, yaitu ISP1 dan ISP2. Masing-masing terhubung ke 2 ethernet, misalnya ISP1 pada eth0 dan ISP2 pada eth1. Diasumsikan masing-masing ISP memiliki data sebagai berikut:

ISP1:
IP address 192.168.1.2
Netmask 255.255.255.0
Gateway 192.168.1.1
Bandwidth 1Mbps

ISP2:
IP address 192.168.254.2
Netmask 255.255.255.0
Gateway 192.168.254.1
Bandwidth 1Mbps

Pertama, kita tambahkan routing table pada berkas/etc/iproute2/rt_tables. Tambahkan baris berikut:

201        isp1
202        isp2

Kemudian script iproute untuk loadbalance sebagai berikut:

# Ethernet interface
IF1=eth0
IF2=eth1

# Routing table ISP
TBL1=isp1
TBL2=isp2

# IP Address tiap ethernet
IP1=192.168.1.2
IP2=192.168.254.2

# Network tiap line
NET1=192.168.1.0/24
NET2=192.168.254.0/24

# IP Address Gateway
GW1=192.168.1.1
GW2=192.168.254.1

# Beban tiap line sesuai bandwidth masing-masing line
W1=1
W2=1

/sbin/ip route add $NET1 dev $IF1 src $IP1 table $TBL1
/sbin/ip route add default via $GW1 table $TBL1
/sbin/ip route add $NET2 dev $IF2 src $IP2 table $TBL2
/sbin/ip route add default via $GW2 table $TBL2
/sbin/ip rule add from $IP1 table $TBL1
/sbin/ip rule add from $IP2 table $TBL2
/sbin/ip route add default scope global nexthop via $GW1 dev $IF1 weight $W1 nexthop via $GW2 dev $IF2 weight $W2

Agar secara otomatis dijalankan tiap PC booting, script tersebut dapat ditambahkan pada berkas /etc/rc.local di atas baris exit 0. Untuk mengimplementasikan pada router, perlu ditambahkan NAT misalnya dengan iptables.

Tags: ,
Posted in Linux, Networking | Comments (2)

2 Responses to “Loadbalance 2 ISP Pada Komputer Linux”

  1. Maskur Says:

    Thanks.. ilmunya bermanfaat, saya sudah coba dan berhasil.. trims..

  2. Hendra Says:

    Terima kasih sudah berkunjung… ^_^

Leave a Reply