Policy Based Routing
Di tulisan sebelumnya saya menulis soal load balancing koneksi internet, Setelah jadi permasalahan baru muncul, yaitu koneksi yahoo messenger putus – putus begitu pula dengan irc.
Permasalahan ini disebabkan karena secara default sistem load balancing menggunakan metode round robin yaitu permintaan gateway berpindah setiap session misalnya session pertama via eth1 maka session selanjutnya via eth2 dan selanjutnya balik lagi ke eth1 dan selanjutnya ke eth2 begitu seterusnya.
Kondisi seperti ini tidak bermasalah dengan sistem http, sedang pada koneksi yahoo messenger dan irc dibutuhkan koneksi persisten, artinya jika koneksi awal menggunakan eth1 maka harus terus menggunakan eth1 jika pindah ke eth2 maka dianggap diskonek oleh server ym ataupun server irc.
Kondisi penggunaan load balancing yang saya pakai adalah :
Koneksi 1 <----> | Modem 1|---+
|
+--| Server / Gateway |---- Client
|
Koneksi 2 <----> | Modem 2|---+
Modem yang melakukan dial, sehingga modem yang mendapatkan IP, dan praktis terdapat 2 gateway dengan ip yang berbeda, contoh :
IP Modem 1 : 192.168.10.254
IP Modem 2 : 192.168.20.254
Pada posisi ini walaupun telah diSNAT (seperti saran beberapa rekan) proses pemilihan gateway masih terjadi setelah proses snat, Contoh, jika port 5050 (ym) saya snat ke 192.168.10.253 (ip server ke modem 1) pada pemilihan gateway yang terjadi setelah proses snat tadi, sehingga tetap saja mode round robin yang terjadi atau dengan kata lain bisa keluar dengan eth1 atau eth2.
Berbeda jika server yang melakukan dial, sehingga ip ada di server, dengan cara ini proses snat sudah mencukupi. Hanya saja kendala pada sistem ini, adalah jika salah satu koneksi adsl putus maka load balancing akan gagal karena praktis ip hilang maka gateway juga hilang.
Setelah googling akhirnya ketemu “Policy Based Routing”
Prinsipnya adalah me”mark” port dan melewatkannya hanya pada satu interface.
Berikut adalah yang saya buat :
Tambahkan entry di /etc/iproute2/rt_tables
150 ym
Mark paket dari port ym (5050) :
iptables -t mangle -A PREROUTING -p tcp --dport 5050 -j MARK --set-mark 0x1
ip rule add fwmark 0x1 table ym
Set default gw untuk port tersebut
ip route add default via 192.168.10.254 dev eth1 table ym
Untuk memastikan, lakukan tcpdump di masing – masing ethernet untuk port tersebut pada terminal :
tcpdump -npi eth1 port 5050
dan di terminal yang lain :
tcpdump -npi eth2 port 5050
Jika telah sukses maka hanya ada traffic di eth1 untuk port 5050.
- arman's blog
- Login or register to post comments



kak arman sy mau tax bgmn
kak arman sy mau tax bgmn crx compile kernel?
Bisa baca ini
Bisa baca ini :
http://makassar-slackers.org/node/29
lanjut ke sini :
http://makassar-slackers.org/Trik+upgrade+(kompilasi)+kernel
Regards,
Arman Idris
arman[at]makassar-slackers[dot]org