Rabu, 06 Januari 2010

Load Balancing dan Failover

Load Balancing & Failover With multiple ADSL/Cable Connections on Linux
Posted by gtoms | Posted in Load Balancing, Project

Memiliki 2 koneksi internet ke berbeda Internet Services Provider(ISP) tentu kurang optimal jika tidak digabungkan untuk dipakai bersama, disamping dapat menaikkan reliability performa bandwidth juga dapat mengurangi downtime internet jika salah satu koneksi terputus. Sistem ini dinamakan Load Balancing dan Failover.

Traffic Internet Warnet Kencana Putra

Sesuai judul diatas Sistem Load Balancing dan Failover saya terapkan pada sebuah warung internet didaerah Duren Tiga Raya, tepatnya Warnet/Wartel Kencana Putra. Sistem ini menggunakan sistem operasi Linux distribusi Debian, setelah sebelumnya pernah memakai Packet Firewall (PF) di OpenBSD, dan pfSense(free Open Source FreeBSD based). Jadi kali ini saya memakai routing/load balancing menggunakan Linux dan next time mencoba Vyatta Software.


Load Balancing & Failover With multiple ADSL/Cable Connections on Linux
Posted by gtoms | Posted in Load Balancing, Project

Memiliki 2 koneksi internet ke berbeda Internet Services Provider(ISP) tentu kurang optimal jika tidak digabungkan untuk dipakai bersama, disamping dapat menaikkan reliability performa bandwidth juga dapat mengurangi downtime internet jika salah satu koneksi terputus. Sistem ini dinamakan Load Balancing dan Failover.

Traffic Internet Warnet Kencana Putra

Sesuai judul diatas Sistem Load Balancing dan Failover saya terapkan pada sebuah warung internet didaerah Duren Tiga Raya, tepatnya Warnet/Wartel Kencana Putra. Sistem ini menggunakan sistem operasi Linux distribusi Debian, setelah sebelumnya pernah memakai Packet Firewall (PF) di OpenBSD, dan pfSense(free Open Source FreeBSD based). Jadi kali ini saya memakai routing/load balancing menggunakan Linux dan next time mencoba Vyatta Software.

Kebutuhan yang sudah ada :
– 2 Modem ADSL (DLINK dan SANEX) terkoneksi ke Telkom Speedy dengan bandwidth sama Downstream 1022 Kbps Upstream 124 Kbps – Server Router dengan 3 LAN Card : eth0,eth1,eth2, sistem operasi Debian Lenny 5.0.3 – Switch, PC Client(workstation), dsb.

Spesifikasi Internet Address(IP) :

-ADSL1 DLINK : 10.10.10.1 masuk ke eth0 server router

-ADSL2 SANEX : 172.168.1.1 masuk ke eth1 server router

-Server Router dengan eth0 : DHCP dari modem ADSL1 , eth1 : DHCP dari modem ADSL2 , eth2 : 192.168.1.1 sebagai gateway PC CLient/Workstation.

Setelah sistem operasi Linux Debian Lenny sudah terinstall dengan standar system, kita buang service yang tidak perlu yang secara default selalu disertakan dalam instalasi standart sistem Debian :

apt-get remove—purge exim4 exim4-base exim4-config exim4-daemon-light
update-rc.d -f exim4 remove
apt-get remove nfs-common portmap

mengkonfigurasi eth0,eth1,eth2 melalui /etc/network/interfaces

kencana:/home/gtoms# nano /etc/network/interfaces
auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp

auto eth2
iface eth2 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
dns-nameservers 202.134.0.155 202.134.0.61 203.130.196.155

IP address eth0 dan eth1 didapat dari Modem ADSL1 dan 2 yang menjalankan DHCP server, sementara pada eth2 kita assign IP 192.168.1.1 sebagai gateway ke Client/workstation, jika eth0 dan eth1 berfungsi sebagai dhcp client, maka eth2 kita fungsikan sebagai DHCP Server untuk dapat memberikan IP address ke pc client yang akan dipakai user.

apt-get install dhcp3-server

kencana:~# nano /etc/dhcp3/dhcpd.conf

ddns-update-style none;
authoritative;
log-facility local7;

option domain-name “kencana”;
option domain-name-servers 202.134.0.155, 202.134.0.61;
option routers 192.168.1.1;
default-lease-time 86400;
max-lease-time 604800;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.3 192.168.1.250;
}

Setelah urusan DHCP selesai, kita masuk ke bagian setting routing dan load balancing multiple uplinks/providers. Kita buat dulu additional routing tables untuk kedua koneksi ADSL yaitu adsl1 dan adsl2 serta internet dan di tambahkan kedalam file rt_tables.

kencana:/home/gtoms#nano /etc/iproute2/rt_tables :
255 local
254 main
253 default
0 unspec

120 adsl1
121 adsl2
123 internet

Kemudian jalankan perintah berikut untuk routing, load balancing, NAT bisa juga dimasukkan kedalam sebuah file kemudian dipanggil melalui /etc/init.d/networking sehingga saat server reboot sudah terloading otomatis :

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 10.10.10.0/24 table adsl1
ip route add default via 10.10.10.1 dev eth0 src 10.10.10.10 proto static table adsl1
ip route append prohibit default table adsl1 metric 1 proto static

ip rule add prio 30 from 172.1.1.0/24 table adsl2
ip route add default via 172.1.1.1 dev eth1 src 172.1.1.2 proto static table adsl2
ip route append prohibit default table adsl2 metric 5 proto static

ip rule add prio 40 table internet
ip route add default proto static table internet nexthop via 10.10.10.1 dev eth0 weight 1 nexthop via 172.1.1.1 dev eth1 weight 1

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

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -i eth2 -j ACCEPT

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

iptables A INPUT -p tcp -i eth0 -j REJECT —rejectwith tcp-reset
iptables A INPUT -p tcp -i eth1 -j REJECT —rejectwith tcp-reset

iptables A INPUT -p tcp -i eth0 -j REJECT —rejectwith icmp-port-unreachable
iptables A INPUT -p tcp -i eth1 -j REJECT —rejectwith icmp-port-unreachable

iptables -t nat -A POSTROUTING -o eth0 -j SNAT —to 10.10.10.10
iptables -t nat -A POSTROUTING -o eth1 -j SNAT —to 172.1.1.2


Pemahaman weight pada command diatas adalah jika bandwidth internet ADSL1 dan ADSL2 sama maka saya setting weight 1 weight 1 , jika ADSL2 lebih cepat 10 kali dari ADSl 1 maka disetting weight 1 weight 10.

Setelah konfigurasi diatas kita jalankan running well, maka dilakukan pengecekan :

kencana:/home/gtoms# ip route show table main
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.1
172.1.1.0/24 dev eth1 proto kernel scope link src 172.1.1.2
10.10.10.0/24 dev eth0 proto kernel scope link src 10.10.10.10
default via 10.10.10.1 dev eth0
default via 172.1.1.1 dev eth1

kencana:/home/gtoms# iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 5740 packets, 500K bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 10 packets, 1672 bytes)
pkts bytes target prot opt in out source destination
5958 495K SNAT all — * eth0 0.0.0.0/0 0.0.0.0/0 to:10.10.10.10
3 744 SNAT all — * eth1 0.0.0.0/0 0.0.0.0/0 to:172.1.1.2

Chain OUTPUT (policy ACCEPT 1360 packets, 98808 bytes)
pkts bytes target prot opt in out source destination

Setup fail-over disini untuk membuat automatis routing dengan men-cek apakah ada koneksi ADSL yang mati, jika down akan diganti ke adsl 2, dan jika adsl1 up akan dikembalikan ke adsl1. Untuk ini memerlukan script yang dijalankan saat startup.

Berikut isi scripts yang saya pakai untuk Server Router :

#!/bin/bash
SLEEPTIME=10
TESTIP=www.yahoo.com
TIMEOUT=2
EXTIF1=eth0
EXTIF2=eth1
IP1=10.10.10.10
IP2=172.1.1.2
GW1=10.10.10.1
GW2=172.1.1.1
W1=1
W2=1
NAME1=adsl1
NAME2=adsl2
SUCCESSREPEATCOUNT=4
FAILUREREPEATCOUNT=1

LLS1=1
LLS2=1

LPS1=1
LPS2=1

CPS1=1
CPS2=1

CLS1=1
CLS2=1

COUNT1=0
COUNT2=0

while : ; do
ping -W $TIMEOUT -I $IP1 -c 1 $TESTIP > /dev/null 2>&1
RETVAL=$?

if [ $RETVAL -ne 0 ]; then
echo $NAME1 Down
CPS1=1
else
CPS1=0
fi

if [ $LPS1 -ne $CPS1 ]; then
echo Ping status changed for $NAME1 from $LPS1 to $CPS1
COUNT1=1
else
if [ $LPS1 -ne $LLS1 ]; then
COUNT1=`expr $COUNT1 + 1`
fi
fi

if [[ $COUNT1 -ge $SUCCESSREPEATCOUNT || ($LLS1 -eq 0 && $COUNT1 -ge $FAILUREREPEATCOUNT) ]]; then
echo Uptime status will be changed for $NAME1 from $LLS1
CLS1=0
COUNT1=0
if [ $LLS1 -eq 1 ]; then
LLS1=0
else
LLS1=1
fi
else
CLS1=1
fi

LPS1=$CPS1

ping -W $TIMEOUT -I $IP2 -c 1 $TESTIP > /dev/null 2>&1
RETVAL=$?

if [ $RETVAL -ne 0 ]; then
echo $NAME2 Down
CPS2=1
else
CPS2=0
fi

if [ $LPS2 -ne $CPS2 ]; then
echo Ping status changed for $NAME2 from $LPS2 to $CPS2
COUNT2=1
else
if [ $LPS2 -ne $LLS2 ]; then
COUNT2=`expr $COUNT2 + 1`
fi
fi

if [[ $COUNT2 -ge $SUCCESSREPEATCOUNT || ($LLS2 -eq 0 && $COUNT2 -ge $FAILUREREPEATCOUNT) ]]; then
echo Uptime status will be changed for $NAME2 from $LLS2
CLS2=0
COUNT2=0
if [ $LLS2 -eq 1 ]; then
LLS2=0
else
LLS2=1
fi
else
CLS2=1
fi

LPS2=$CPS2

if [[ $CLS1 -eq 0 || $CLS2 -eq 0 ]]; then
if [[ $LLS1 -eq 1 && $LLS2 -eq 0 ]]; then
echo Switching to $NAME2
ip route replace default scope global via $GW2 dev $EXTIF2
elif [[ $LLS1 -eq 0 && $LLS2 -eq 1 ]]; then
echo Switching to $NAME1
ip route replace default scope global via $GW1 dev $EXTIF1
elif [[ $LLS1 -eq 0 && $LLS2 -eq 0 ]]; then
echo Restoring default load balancing
ip route replace default scope global nexthop via $GW1 dev $EXTIF1 weight $W1 nexthop via $GW2 dev $EXTIF2 weight $W2
fi
fi
sleep $SLEEPTIME

done

Sumber henry.gultom.or.id

Selasa, 05 Januari 2010

Test Load Balancing

test load balancing dari client dengan mengunjungi situs2 ip lookup seperti
whatismyip.com
ipchicken.com
ip-lookup.net
ipgue.com
jika alamat berubah-ubah, maka setup load balancing berhasil

bisa juga cek via bwm-ng di router, perhatikan traffic RX untuk eth1 dan eth2
tentunya client harus ada aktififas browsing
#apt-get install bwm-ng
#bwm-ng


bisa juga cek via bwm-ng di router, perhatikan traffic RX untuk eth1 dan eth2
tentunya client harus ada aktififas browsing
#apt-get install bwm-ng
#bwm-ng

Load Balancing Dual DSL Speedy di Satu Router

Load Balancing Dual DSL Speedy di Satu Router
by.yulian firdaus

Banyak pertanyaan dari teman-teman, terutama para operator warnet, admin jaringan sekolah/kampus dan korporasi tentang load balancing dua atau lebih koneksi internet. Cara praktikal sebenarnya banyak dijumpai jika kita cari di internet, namun banyak yang merasa kesulitan pada saat diintegrasikan. Penyebab utamanya adalah karena kurang mengerti konsep jaringan, baik di layer 2 atau di layer 3 protokol TCP/IP. Dan umumnya dual koneksi, atau multihome lebih banyak diimplementasikan dalam protokol BGP. Protokol routing kelas ISP ke atas, bukan protokol yang dioprek-oprek di warnet atau jaringan kecil.



Berikut beberapa konsep dasar yang sering memusingkan:

1. Unicast
Protokol dalam trafik internet yang terbanyak adalah TCP, sebuah komunikasi antar host di internet (praktiknya adalah client-server, misal browser anda adalah client maka google adalah server). Trafik ini bersifat dua arah, client melakukan inisiasi koneksi dan server akan membalas inisiasi koneksi tersebut, dan terjadilah TCP session (SYN dan ACK).

2. Destination-address
Dalam jaringan IP kita mengenal router, sebuah persimpangan antara network address dengan network address yang lainnya. Makin menjauh dari pengguna persimpangan itu sangat banyak, router-lah yang mengatur semua trafik tersebut. Jika dianalogikan dengan persimpangan di jalan, maka rambu penunjuk jalan adalah routing table. Penunjuk jalan atau routing table mengabaikan “anda datang dari mana”, cukup dengan “anda mau ke mana” dan anda akan diarahkan ke jalan tepat. Karena konsep inilah saat kita memasang table routing cukup dengan dua parameter, yaitu network address dan gateway saja.

3. Source-address
Source-address adalah alamat IP kita saat melakukan koneksi, saat paket menuju ke internet paket akan melewati router-router ISP, upstream provider, backbone internet dst hingga sampai ke tujuan (SYN). Selanjutnya server akan membalas koneksi (ACK) sebaliknya hingga kembali ke komputer kita. Saat server membalas koneksi namun ada gangguan saat menuju network kita (atau ISPnya) maka komputer kita sama sekali tidak akan mendeteksi adanya koneksi. Seolah-olah putus total, walaupun kemungkinan besar putusnya koneksi hanya satu arah.

4. Default gateway
Saat sebuah router mempunyai beberapa interface (seperti persimpangan, ada simpang tiga, simpang empat dan simpang lima) maka tabel routing otomatis akan bertambah, namun default router atau default gateway hanya bisa satu. Fungsinya adalah mengarahkan paket ke network address yang tidak ada dalam tabel routing (network address 0.0.0.0/0).

5. Dua koneksi
Permasalahan umumnya muncul di sini, saat sebuah router mempunyai dua koneksi ke internet (sama atau berbeda ISP-nya). Default gateway di router tetap hanya bisa satu, ditambah pun yang bekerja tetap hanya satu. Jadi misal router NAT anda terhubung ke ISP A melalui interface A dan gateway A dan ke ISP B melalui interface B dan gateway B, dan default gateway ke ISP A, maka trafik downlink hanya akan datang dari ISP A saja. Begitu juga sebaliknya jika dipasang default gateway ke ISP B.

Bagaimana menyelesaikan permasalahan tersebut?
Konsep utamanya adalah source-address routing. Source-address routing ibaratnya anda dicegat di persimpangan oleh polisi dan polisi menanyakan “anda dari mana?” dan anda akan ditunjukkan ke jalur yang tepat.

Pada router NAT (atau router pada umumnya), source-address secara default tidak dibaca, tidak dipertimbangkan. Jadi pada kasus di atas karena default gateway ke ISP A maka NAT akan meneruskan paket sebagai paket yang pergi dari IP address interface A (yang otomatis akan mendapat downlink dari ISP A ke interface A dan diteruskan ke jaringan dalam).

Dalam jaringan yang lebih besar (bukan NAT), source-address yang melewati network lain disebut sebagai transit (di-handle dengan protokol BGP oleh ISP). Contoh praktis misalnya anda membeli bandwidth yang turun dari satelit melalui DVB, namun koneksi uplink menggunakan jalur terestrial (dial-up, leased-line atau fixed-wireless). Dalam kasus ini paket inisiasi koneksi harus menjadi source-address network downlink DVB, agar bandwidth downlink dari internet mengarah DVB receiver, bukan ke jalur terestrial.

Di lingkungan Linux, pengaturan source-address bisa dilakukan oleh iproute2. Iproute2 akan bekerja sebelum diteruskan ke table routing. Misal kita mengatur dua segmen LAN internal agar satu segmen menjadi source-address A dan satu segmen lainnya menjadi source-address B, agar kedua koneksi ke ISP terutilisasi bersamaan.

Penerapan utilisasi dua koneksi tersebut bisa mengambil tiga konsep, yaitu round-robin, loadbalance atau failover.

6. Round-robin
Misalkan anda mempunyai tiga koneksi internet di satu router NAT, koneksi pertama di sebut Batman, koneksi kedua disebut Baskin dan koneksi ketiga disebut Williams, maka konsep round-robin adalah sang Robin akan selalu berpindah-pindah secara berurutan mengambil source-address (bukan random). Misal ada satu TCP session dari komputer di jaringan internal, maka koneksi TCP tersebut tetap di source-address pertama hingga sesi TCP selesai (menjadi Batman & Robin). Saat TCP session Batman & Robin tersebut belum selesai, ada ada request koneksi baru dari jaringan, maka sang Robin akan mengambil source-address koneksi berikutnya, menjadi Baskin & Robin. Dan seterusnya sang Robin akan me-round-round setiap koneksi tanpa memperhatikan penuh atau tidaknya salah satu koneksi.

Pasti anda sedang pusing membaca kalimat di atas, atau sedang tertawa terbahak-bahak.

7. Loadbalance
Konsep loadbalance mirip dengan konsep round-robin di atas, hanya saja sang Robin dipaksa melihat utilisasi ketiga koneksi tersebut di atas. Misalkan koneksi Batman & Robin serta Baskin & Robin sudah penuh, maka koneksi yang dipilih yang lebih kosong, dan koneksi yang diambil menjadi Robin Williams. Request koneksi berikutnya kembali sang Robin harus melihat dulu utilisasi koneksi yang ada, apakah ia harus menjadi Batman & Robin, Baskin & Robin atau Robin Williams, agar semua utilisasi koneksi seimbang, balance.

8. Failover
Konsep fail-over bisa disebut sebagai backup otomatis. Misalkan kapasitas link terbesar adalah link Batman, dan link Baskin lebih kecil. Kedua koneksi tersebut terpasang online, namun koneksi tetap di satu link Batman & Robin, sehingga pada saat link Batman jatuh koneksi akan berpindah otomatis ke link Baskin, menjadi Baskin & Robin hingga link Batman up kembali.

*makan es krim Haagendaz dulu*

Tools NAT yang mempunyai ketiga fitur di atas adalah Packet Firewall (PF) di lingkungan BSD, disebut dengan nat pool. Saya belum menemukan implementasi yang bagus (dan cukup mudah) di Linux dengan iproute2.

*Uraian panjang di atas hanyalah kata sambutan sodara-sodara…*

Berikut contoh implementasi load balance dua koneksi sesuai judul di atas. Dijalankan di mesin OpenBSD sebagai NAT router dengan dua koneksi DSL Telkom, interface ethernet sk0 dan sk1.

1. Aktifkan forwarding di /etc/sysctl.conf

net.inet.ip.forwarding=1

2. Pastikan konfigurasi interface dan default routing kosong, hanya filename saja

# /etc/hosts.sk0
# /etc/hosts.sk1
# /etc/hostname.sk0
# /etc/hostname.sk1
# /etc/mygate

Script koneksi DSL Speedy, pppoe0 untuk koneksi pertama dan pppoe1 untuk koneksi kedua. Sesuaikan interface, username dan passwordnya. Jangan lupa, gunakan indent tab.

# /etc/ppp/ppp.conf
default:
set log Phase Chat LCP IPCP CCP tun command
set redial 15 0
set reconnect 15 10000
pppoe0:
set device "!/usr/sbin/pppoe -i sk0"
disable acfcomp protocomp
deny acfcomp
set mtu max 1492
set mru max 1492
set crtscts off
set speed sync
enable lqr
set lqrperiod 5
set cd 5
set dial
set login
set timeout 0
set authname blahblahblah@telkom.net
set authkey asaljangandejek
add! default HISADDR
enable dns
enable mssfixup
pppoe1:
set device "!/usr/sbin/pppoe -i sk1"
disable acfcomp protocomp
deny acfcomp
set mtu max 1492
set mru max 1492
set crtscts off
set speed sync
enable lqr
set lqrperiod 5
set cd 5
set dial
set login
set timeout 0
set authname blahblahblah2@telkom.net
set authkey vikingboneksamasaja
add! default HISADDR
enable dns
enable mssfixup

3. Aktifkan interface sk0 dan sk1

# ifconfig sk0 up
# ifconfig sk1 up

4. Jalankan PPPoE, Point to Point Protocol over Ethernet.

# ppp -ddial pppoe0
# ppp -ddial pppoe1

5. Jika koneksi Speedy berhasil, IP address dari Speedy akan di-binding di interface tunneling tun0 dan tun1

# ifconfig
tun0: flags=8051 mtu 1492
groups: tun egress
inet 125.xxx.xxx.113 --> 125.163.72.1 netmask 0xffffffff
tun1: flags=8051 mtu 1492
groups: tun
inet 125.xxx.xxx.114 --> 125.163.72.1 netmask 0xffffffff

6. Dan default gateway akan aktif

# netstat -nr |more
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
default 125.163.72.1 UGS 7 17529 - tun0

7. Serta konfigurasi resolver DNS pun akan terisi

# cat /etc/resolv.conf
lookup file bind
nameserver 202.134.2.5
nameserver 203.130.196.5

8. Aktifkan Packet Firewall pf

# /etc/rc.conf
pf=”YES”

9. Script Packet Firewall NAT dan balancing dengan round-robin (ganti round-robin dengan loadbalance jika lebih sesuai dengan kebutuhan anda). Baris yang di-indent masih termasuk baris di atasnya. Entah kenapa tag malah menghilangkan karakter backslash (\).

# /etc/pf.conf
lan_net = "10.0.0.0/8"
int_if = "vr0"
ext_if1 = "tun0"
ext_if2 = "tun1"
ext_gw1 = "125.163.72.1"
ext_gw2 = "125.163.72.1"
# scrub all
scrub in all
# nat outgoing connections on each internet interface
nat on $ext_if1 from $lan_net to any -> ($ext_if1)
nat on $ext_if2 from $lan_net to any -> ($ext_if2)
# pass all outgoing packets on internal interface
pass out on $int_if from any to $lan_net
# pass in quick any packets destined for the gateway itself
pass in quick on $int_if from $lan_net to $int_if
# load balance outgoing tcp traffic from internal network.
pass in on $int_if route-to \
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
proto tcp from $lan_net to any flags S/SA modulate state
# load balance outgoing udp and icmp traffic from internal network
pass in on $int_if route-to \
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
proto { udp, icmp } from $lan_net to any keep state
# general "pass out" rules for external interfaces
pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if1 proto { udp, icmp } from any to any keep state
pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if2 proto { udp, icmp } from any to any keep state

10. Aktifkan script yang diperlukan di /etc/rc.local agar setiap reboot langsung bekerja.

ifconfig sk0 up
ifconfig sk1 up
# aktifkan speedy
ppp -ddial pppoe0
ppp -ddial pppoe1

PF akan langsung bekerja membaca /etc/pf.conf.
Jika harus me-restart koneksi DSL Speedy, pastikan pppoe dimatikan dulu

# pkill ppp

Jika tidak, maka ppp akan membuat tunneling baru menjadi tun2, tun3 dan seterusnya.

11. Untuk memantau fungsi nat pool round-robin di atas bekerja atau tidak, bisa menggunakan tools pftop yang bisa diambil di http://www.eee.metu.edu.tr/~canacar/pftop/

Jika anda mengoptimasikan koneksi jaringan juga dengan menggunakan proxy, misalnya Squid, maka proxy Squid jangan dipasang juga di mesin router NAT tersebut, sebab saat Squid mengakses halaman web ke internet; oleh PF dianggap bukan sebagai koneksi NAT, jadi tidak akan di-balance, dan akan stay mengambil interface utama dan default gateway pertama. Simpanlah mesin proxy/squid di belakang router NAT, agar koneksi proxy ke internet menjadi trafik NAT yang akan di-balance oleh script PF di atas.


Thanks to Starchie dan Hengky atas tutorial basic PF di OpenBSD.

Bagaimana membuat jaringan failover

Network Failover Howto
So you have 2 network adapters in your server and you want to configure one of them to fail over if your connection on the other goes down. It's pretty easy:

Code:

sudo pico /etc/modules

##add this at the bottom
bonding mode=active-backup miimon=100

Save and exit

Code:

sudo apt-get install ifenslave-2.6

Edit your /etc/network/interfaces
Code:

sudo pico /etc/network/interfaces



###Adapter bonding for Eth0 and Eth1
auto bond0
iface bond0 inet static
address 10.0.0.104
netmask 255.255.0.0
gateway 10.0.0.1
post-up ifenslave bond0 eth0 eth1
pre-down ifenslave -d bond0 eth0 eth1


And that's it!

Reboot and test.

Cara Membobol Password Hotspot/Wifi Orang Lain

Cara Membobol Password Wifi Cara Membobol Password Orang Lain  memang banyak sekali caranya teman-teman, mulai dari teknik sniff...