On Tue, 26 Feb 2002, Harry wrote: > > jadi ide anda untuk memilih link dari dua ISP berbeda, _definitely_ not > work > > (asumsi: ISP has properly configured their network :-) > > justru krn ini, gua pertamanya penasaran 'n gak bisa tidur, > coba liat > > > 6. IP ROUTE2 manipulasi > > no, iproute2 bekerja di layer 3 (IP) full > > > that's ok iproute2 bekerja full di layer3 OSI, tetapi iproute2 manipulation > setengah layer 2 setengah layer 3 (eql bekerja pada layer2 shg tidak bisa > menyaring/filter), ini juga setengah bisa filter tp stgh gak bisa, jd > load-balancingnya gak sempurna sebetulnya ...manipulasi doank.
apa yang dimaksud dengan _manipulasi_, terus terang saya belum paham pernyataan ini. lagian iproute2 tidak untuk load balancing melainkan routing table maintenance (ip) dan traffic conditioner tool (tc). > > > (internet)--(ISP1)----\ > > \ 192.168.1.2 (eth0) > > ---( ) 10.16.1.1 > > (linux router )----------| local network > > ---( ) > > / 172.16.1.2 (eth1) > > (internet)--(ISP2)----/ > > begini prinsipnya: > 1. betul yg anda katakan, apabila source ip dr isp1 ya harus dr isp1 > receivenya, tapi bagaimana cara menggilir source ip tsb diantara > paket-paket ? menggilir? kayak _anu_ saja ;-) > 2. gimana sih sebetulnya aliran paket dr routing system? > 3. beberapa program tidak bisa assign ip external interface, yg melakukan > ini adalah routing system..tapi bbrp lagi bisa seperti ping using bind(2) > call, ttp bagaiman routing bisa membuat/assign ip ini? (nah kalo doi bisa > masak kita gak bisa gantiin) > routing system tidak tergantung dengan aplikasi, ini adalah tugas kernel. dalam kasus ini, routing decision diatur oleh tool: iproute2 dan iptables > ketiga jawaban ini akan menuntun kita ke jalan yg benar...(hehehehe) > dari prinsip ini, kita akan me'load balance' paket, consider this as > experimental project: > > ip addr add 192.168.1.2 brd 255.255.255.255 dev eth0 > ip addr add 172.16.1.2 brd 255.255.255.255 dev eth1 iproute2 way: # ip addr add 192.168.1.2/24 brd + dev eth0 <--- baca ipcref > > ip rule add prio 11 from 192.168.1.0 table 11 > ip route add default via 'gatewayisp1' dev eth0 src 192.168.1.2 proto static > table 11 > ip route append prohibit default table 11 metric 1 proto static > > ip rule add prio 22 from 172.16.1.0 table 22 > ip route add default via 'gatewayisp2' dev eth1 src 172.16.1.2 proto static > table 22 > ip route append prohibit default table 22 metric 1 proto static > > ip rule add prio 33 table 33 > ip route add default table 33 proto static \ > nexthop via 'gatewayisp1' dev eth0 \ > nexthop via 'gatewayisp2' dev eth1 > ini logikanya bagaimana?, ingat tidak ada network 192.168.x.x dan 172.16.x.x dari diagram diatas. ip address tersebut merupaka ip dari isp, sementara local network pake 10.x.x.x. sekarang kalo skenarionya kita definisikan: 1. local network adalah 10.x.x.x 2. trafic http dan ftp melewati isp1, sisanya lewat isp2 3. ftp session hanya bisa passive (hanya untuk contoh ini) langkah-langkah: # ip addr add 192.168.1.2/24 brd + dev eth0 # ip addr add 172.16.1.2/24 brd + dev eth1 # ip addr add 10.16.1.1/24 brd + dev eth2 # ip route add default via 172.16.1.1 dev eth1 bikin rule symbol isp1 # echo "11 isp1" >> /etc/iproute2/rt_tables bikin rule isp1 # ip rule add fwmark 1 table isp1 mark http/ftp sebagai 1 (yang lainnya unmarked) # iptables -t mangle -A PREROUTING -p tcp -dport 80 -j MARK --set-mark 1 # iptables -t mangle -A PREROUTING -p tcp -dport 21 -j MARK --set-mark 1 bikin routing table isp1 # ip route add default via 192.168.1.1 dev eth0 table isp1 NAT rule # iptables -t nat -A POSTROUTING -j SNAT -o eth0 --to-source 192.168.1.2 # iptables -t nat -A POSTROUTING -j SNAT -o eth1 --to-source 172.16.1.2 DISCLAIMER: 1. contoh-contoh diatas belum dicoba, resiko ditanggung sendiri 2. implementasi masih harus disempurnakan, keterangan lebih lanjut baca dokumentasinya salam -- Yudhi Kusnanto (yudhi.akakom.ac.id) <-- change first . with @ STMIK Akakom Yogyakarta -- Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3