aje gile.... ribet banget ....  ajarin dunkz :)

Nero Sumargono wrote:
> Hello Mailpluser...
>
> pengin iseng2 ah... ;)
>
>
> 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.
>
> =========================================================================
>
> 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.
>
> =========================================================================
>
> 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 [EMAIL PROTECTED]
>         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 [EMAIL PROTECTED]
>         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 <pre> 
> 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.
>
>
>
>
>
>   


-- 
YM! freeunlimit
www.driverpanel.com

Send instant messages to your online friends http://au.messenger.yahoo.com 

------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/mailplus/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/mailplus/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Kirim email ke