Not friendly with MSIE  

Navigation

User login

Di Dukung Oleh :

Balai Diklat Keuangan VI Makassar
Balai Diklat Keuangan VI Makassar
We recommend GNU Linux for Government

Mailing List

Google Groups
Subscribe to Makassar Slackers
Email:
Visit this group

Load Balancing Koneksi

Mempunyai koneksi internet lebih dari satu saat ini sudah biasa, terlebih bagi pengusaha warnet, hal ini juga didukung dengan semakin mudah dan murahnya koneksi internet.

Untuk menggunakan kedua koneksi tersebut secara bersamaan kita bisa memanfaatkan fasilitas load balancing. Kita membutuhkan iproute2 untuk melakukan hal tersebut.

Untuk kasus yang saya hadapi adalah, dua koneksi kedua – duanya menggunakan telkom speedy, dialnya via modem, soalnya ditempat ini sering putus sehingga ipnya sering ilang jadi default gw juga ilang praktis load balancingnya jadi macet :((. Eth0 adalah jaringan LAN, eth1 dan eth2 interface untuk koneksi speedy.

Split Access
Yang pertama sekali dilakukan adalah mendefenisikan keluar masuknya akses dari jalur yang sama. Untuk itu kita butuhkan sedikit modifikasi di file /etc/iproute2/rt_tables
Tambahkan saja di bagian bawah dari file tersebut baris berikut ini :

10	speedy1
20	speedy2

Simpan dan keluar :D.

Berikut adalah beberapa variable yang digunakan untuk kepentingan load balancing script :D

$T1 = speedy1
$IF1 = eth1
$IP1 = 192.168.1.253
$P1_NET = 192.168.1.0/24
$GW1 = 192.168.1.254

demikian juga untuk interface berikutnya :

$T2 = speedy2
$IF2 = eth2
$IP2 = 192.168.2.253
$P2_NET = 192.168.2.0/24
$GW2 = 192.168.2.254

$T1, $T2 adalah nama tabel yang telah didefenisikan di file rt_tables
$IF1, $IF2 adalah interface dari koneksi yang akan diload balancingkan
$IP1, IP2 ip dari interface $IF1 dan IF2 dalam hal ini 192.168.1.253 dan 192.168.2.253
$P1_NET, $P2_NET ip network dari kedua interface
$GW1, $GW2 gateway dari IP $IP1 dan $IP2 sesuaikan dengan keperluan, untuk kondisi yang saya gunakan adalah 192.168.1.254 dan 192.168.2.254

Selanjutnya adalah menambahkannya di routing table seperti ini :

ip route add $P1_NET dev $IF1 src $IP1 table $T1
ip route add default via $GW1 table $T1
ip route add $P2_NET dev $IF2 src $IP2 table $T2
ip route add default via $GW2 table $T2

Selanjutnya adalah mengeset main routing table :

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

Selanjutnya mengeset routing rules

ip rule add from $IP1 table $T1
ip rule add from $IP2 table $T2

Load Balancing
Tugas berikutnya adalah menentukan gateway, biasanya kita mengeset gateway hanya untuk satu buah ip / interface namun kali ini kita akan menggunakan dua ip (kalau cuma satu ngapain pake dua koneksi internet :P )
Perintahnya seperti ini :

ip route add default scope global nexthop via $GW1 dev $IF1 weight 1 \
nexthop via $GW2 dev $IF2 weight 1

Pengecekan
Setelah melakukan setting, selanjutnya adalah memastikan bahwa load balancing yang kita buat berfungsi. Cek gateway dengan perintah :

ip r l

Jika menampilkan hasil seperti dibawah ini, maka kemungkinan load balancing sudah berhasil di set.

default 
	nexthop via 192.168.10.254  dev eth1 weight 1
	nexthop via 192.168.20.254  dev eth2 weight 1

Untuk memastikannnya silahkan gunakan iptraf dan pilih general interface statistics, akses ke internet (sebaiknya dengan banyak window terbuka) dan lihat activity dari interface yang digunakan untuk keluar, jika berhasil, terdapat activity pada kedua interface tersebut.

Script lengkap loadbalancing :

#!/bin/sh

# Parameter
 - parameter

# Koneksi ke modem adsl via eth1
T1 = speedy1
IF1=eth1
IP1=192.168.10.253
GW1=192.168.10.254
P1_NET=192.168.10.0/24


# Koneksi ke modem adsl via eth2
T2 = speedy2
IF2=eth2
IP2=192.168.20.253
GW2=192.168.20.254
P2_NET=192.168.20.0/24

ip route add $P1_NET dev $IF1 src $IP1 table $T1
ip route add default via $GW1 table $T1
ip route add $P2_NET dev $IF2 src $IP2 table $T2
ip route add default via $GW2 table $T2

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

ip rule add from $IP1 table $T1
ip rule add from $IP2 table $T2

ip route add default scope global nexthop via $GW1 dev $IF1 weight 1 \
            nexthop via $GW2 dev $IF2 weight 1

#end of script :D

Regards,

Arman Idris

Mantap neh tulisan, segera

Mantap neh tulisan, segera dicoba tapi dimana ya? Thank's tulisannya.

kok aKu dapat pesan eror

kok aKu dapat pesan eror

DRTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Error: argument "T1" is wrong: invalid table ID

Error: argument "T2" is wrong: invalid table ID

padahal sudah saya tambah di rt_table
# reserved values
#
255 local
254 main
253 default
10 speedy1
20 speedy2
0 unspec
#
# local
#
#1 inr.ruhep

kira2 salahnya dimana !

Maaf kelupaan naruh tanda

Maaf kelupaan naruh tanda "$" didepan T1 harusnya seperti ini $T1,
Tulisannya akan diperbaiki :D

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

wah.....terima kasih. terus

wah.....terima kasih.

terus nambah2 ilmu ya pak...
biar kita yg newbie lebih mudah belajar-nya

thankyuu parnert ... tapi

thankyuu parnert ...

tapi tetap nda mau jalan....

ajarka nanti parner nahhh

Datang ji di Gathering #13

Datang ji di Gathering #13 toh, nanti ketemu disana :D

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

Bro Arman saya mau tanya

Bro Arman saya mau tanya nih,
Berarti dalam kasus ini, Router Linux memiliki 3 buah Lan Card.

eth0, eth1, eth2 dengan :
- eth0 = koneksi dengan switch / hub untuk client
- eth1 = koneksi dengan modem 1
- eth2 = koneksi dengan modem 2

Apakah betul kira2 seperti itu ?

Terus misalnya untuk P1_NET itu kan untuk network client ya ?
Nah misalnya P1_NET dan P2_NET mungkin ga kalau misalnya di set dengan IP network yang sama dan tidak dibedakan ?

Jadi klo dari tutor bro Arman :
P1_NET = 192.168.10.0/24
P2_NET = 192.168.20.0/24

Kira2 bisa ga menjadi begini :
P1_NET = 192.168.10.0/24
P2_NET = 192.168.10.0/24

Betul, pake tiga

Betul, pake tiga ethernet

eth0 ke internal, selebihnya itu ke modem

P1_NET itu bukan untuk internal

Untuk load balancing sebenarnya cuma baris terakhir saja yang ini :

ip route add default scope global nexthop via $GW1 dev $IF1 weight 1 \
            nexthop via $GW2 dev $IF2 weight 1

Yang diatasnya itu untuk split access, cuma kerena itu hari bacanya karena buru - buru jadi tidak sempat analisa lebih teliti

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

Iya, untuk load balancingnya

Iya, untuk load balancingnya scripnya hanya yang itu aja.

Saya bingung mengenai split access ini, Kalau begitu P1_NET dan P2_NET ini untuk apa nya ya ?
Saya masih kurang begitu mengerti untuk keterangan-nya :D

Terus untuk clientnnya apa ga masalah menggunakan kelas IP 192.168.0.0/24 ? atau harus menggunakan salah satu dari kelas IP 192.168.10.0/24 atau 192.168.20.0/24 ?

P1_NET dan P2_NET itu untuk

P1_NET dan P2_NET itu untuk network modem, tapi nggak kepake kok, tidak ada juga tidak apa - apa, kecuali pake split access bukan load balancing

192.168.10.0/24 sama 192.168.20.0/24 bukan client itu untuk modem saja tapi sekali, abaikan saja

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

Iya maksud saya untuk split

Iya maksud saya untuk split access nya :), jadi klo pake split access memang harus menggunakan P1_NET dan P2_NET tersebut ya ?

P1_NET dan P2_NET itu memang bukan untuk client ya ?

Berarti client jika menggunakan IP kelas 192.168.0.0/24 tidak ada masalah ya bro Arman ?
Apakah ada penambahan di sisi routingnya ?

Sepertinya arah pembicaraan

Sepertinya arah pembicaraan sudah tidak karuan, sekarang yang diinginkan itu apa? Split access atau load balancing? Split access tidak sama dengan load balancing. Saya cuma terlanjur girang waktu itu, sehingga tidak sempat menganalisa dengan baik, soal split access dan load balancing.

Terserah mo pake ip berapa di client, itu tidak ada hubungannya dengan load balancing ataupun split access, kecuali dengan isengnya anda menggunakan ip client buat ngeset load balancing / split access

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

Maaf sebelumnya bro Arman,

Maaf sebelumnya bro Arman, jika pembicaraan jadi membingungkan.

Saya ingin bertanya mengenai split access.

Jadi mirip dengan bro Arman, misalkan saya punya 2 jalur speedy.
IP dari modem speedy 1 = 192.168.1.254
IP dari modem speedy 2 = 192.168.2.254

IP dari eth1 (yang tersambung ke speedy1) : 192.168.1.253
IP dari eth2 (yang tersambung ke speedy2) : 192.168.2.253
IP dari eth0 (yang tersambung ke swicth ke client) : 192.168.0.0/24

Nah dari seperti itu apakah ada settingan yang beda mengenai split access nya ?
Terus apakah ada settingan routing yang lain lagi, agar client dapat menggunakan fasilitas internet ?

Terima kasih sebelumnya bro Arman

Kalau memang ingin

Kalau memang ingin menggunakan split access cara yang seperti itu sudah betul. Konfigurasi IP juga tidak ada masalah.

Saya sendiri lebih suka load balancing :)

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

Ow... jadi sudah betul nih

Ow... jadi sudah betul nih untuk split accessnya. Hehhe

Untuk IP dari eth0 (yang menyambung ke switch/hub), misal saya set : 192.168.0.253.

Berarti untuk tiap client saya gateway-nya di-set 192.168.0.253 apakah betul seperti itu ?

client cuma ngeset ip

client cuma ngeset ip gateway ke ethernet yang menghadap ke client saja, pada kasus anda 192.168.0.253.

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

Ok berarti sudah benar untuk

Ok berarti sudah benar untuk di clientnnya. :D

Nah untuk di eth0 gimana settingannya ya ?

eth0:
IP : 192.168.0.253
Netmask : 255.255.255.0
Gateway : 192.168.1.253 atau 192.168.2.253 ?

Nah yang ingin saya tanyakan untuk di eth0 gateway-nya di set yang mana ya ?
Apakah boleh salah satu di antara keduanya ?
Lalu IP-nya kan beda ya, apakah bisa bertemu ? yang satu 192.168.0.x, yang satu 192.168.1.x dan 192.168.2.x

Mohon masukannya nih :)

Nah, tuh kan ... saya bilang

Nah, tuh kan ... saya bilang juga apa?, pasti maunya load balancing
bukan split access.

Gini, load balancing itu teknisnya menggunakan 2 gateway dimana pemilihan gatewaynya round robin. Kalau maunya seperti itu, baris terakhir saja yang dipake.
Baris terakhir itu yang membuat servernya mempunyai 2 gateway.

Bagusnya kalau langsung dicoba buat saja, supaya kalau error bisa langsung ketahuan.

Regards,

Arman Idris
arman[at]makassar-slackers[dot]org

Ok, bro Arman, thx

Ok, bro Arman, thx masukannya :D