Wednesday, October 7, 2009

Load Balancing dengan Debian Etch

Setelah Sekian Lama, utak atik Load Balancing dengan Debian etch.. akhirnya bisa sukses juga.

Adapun gambaran jaringan yg dibuat adalah sebagai berikut :

eth0 (192.168.1.100) terhubung ke modem1 dengan ip 192.168.1.1 pada network : 192.168.1.0/24
eth1 (192.168.2.100) terhubung ke modem2 dengan ip 192.168.2.1 pada network : 192.168.2.0/24

eth2 (192.168.15.1) adalah untuk jaringan localnya dengan network : 192.168.15.0/24

Pengaturan Ip tersebut ada di /etc/network/interfaces :

auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

auto eth1
iface eth1 inet static
address 192.168.2.100
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255

auto eth2
iface eth2 inet static
address 192.168.15.1
netmask 255.255.255.0
network 192.168.15.0
broadcast 192.168.15.255

dan perlu juga diatur table routing nya yg ada di : /etc/iproute2/rt_tables :

#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
120 adsl1
121 adsl2
123 internet

Kemudian membuat file di /etc/ dengan nama : /etc/maxinet/my_iptables dan supaya bisa di eksekusi saat booting di chmod +x /etc/maxinet/my_iptables dan di masukkan ke /etc/init.d/networking di bagian ini :

case “$1″ in
start)
process_options
log_action_begin_msg “Configuring network interfaces”
if ifup -a; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
/etc/maxinet/my_iptables
;;

Sedangkan Isi dari /etc/maxinet/my_iptables adalah sebagai berikut :

#!/bin/bash

##Main Rule
ip route flush table adsl1
ip route flush table adsl2
ip route flush table internet

ip rule add prio 10 table main
ip rule add prio 20 table adsl1
ip rule add prio 30 table adsl2
ip rule add prio 40 table internet

ip route del default table main
ip route del default table adsl1
ip route del default table adsl2
ip route del default table internet

ip rule add prio 20 from 192.168.1.0/24 table adsl1
ip route add default via 192.168.1.1 dev eth0 src 192.168.1.100 proto static table adsl1
ip route append prohibit default table adsl1 metric 1 proto static

ip rule add prio 30 from 192.168.2.0/24 table adsl2
ip route add default via 192.168.2.1 dev eth1 src 192.168.2.100 proto static table adsl2
ip route append prohibit default table adsl2 metric 5 proto static

##Set Load Balancing
ip rule add prio 40 table internet
ip route add default proto static table internet \nexthop via 192.168.1.1 dev eth0 weight 1 \nexthop via 192.168.2.1 dev eth1 weight 1

## NAT

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -P INPUT DROP

iptables -A INPUT -i eth2 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp -s 0/0 –dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -s 0/0 –dport 25 -j ACCEPT

iptables -A INPUT -m state –state ESTABLISHED, RELATED -j ACCEPT

iptables -A INPUT -p tcp -i eth1 -j REJECT –reject-with tcp-reset
iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with tcp-reset

iptables -A INPUT -p tcp -i eth1 -j REJECT –reject-with icmp-port-unreachable
iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with icmp-port-unreachable

iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 192.168.1.100
iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to 192.168.2.100

Setelah diconfigurasi reboot servernya dan ditest koneksinya… alhamdulillah berfungsi dan berjalan dengan baik.

Untuk melihat apakah iptables nya berfungsi dengan baik, diketikkan perintah : iptables -L -n -v -t nat .

Untuk Indikator apakah ada pemakaian melalui kedua modem bisa juga diliat dari indikator lampu ethernetnya, jika blinkingnya cepat brarti sedang ada pemakaian.

Demikian setingan load balancing untuk 2 link speedy yang berhasil saya konfigurasi.

Sumber : http://www.debian-id.org

No comments: