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/