Jumat, 28 Oktober 2011

Memisahkan Bandwith IIX dan OpenIXP



Pada tutorial ini kita akan membahas tentang bagaimana untuk memisahkan bandwith Local Indonesia dengan bandwith internasional pada mikrotik, fungsi pemisahan ini sangat berguna, karena pemisahan ini bisa membedakan mana traffic dari luar/internasional dan mana trafic IIX dari indonesia, sehingga lebih mudah untuk di monitoring
sebelum memulai konfigurasi kita sama-sama asumsikan terlebih dahulu point-point berikut ini:
  1. pada router mikrotik berlaku NAT Masquerading/src-nat sehingga untuk client berlaku ip local/privat
  2. gateway pada ip route yang digunakan hanya satu baik itu untuk OpenIXP(Internasional) ataupun IIX (local)
  3. kita bisa menambahkan internal proxy pada router dengan catatan ada beberapa tambahan rule NAT/Mangle pada firewall router
Pada tutorial kali ini kita menggunakan web proxy di dalamnya sehingga perlu di tambahkan rule NAT dan mangle pada firewall router, namun jika anda tidak menggunakan internal web proxy, maka silahkan sesuaikan sesuai dengan kondisi jaringan anda
Berikut adalah konfigurasi IP untuk percobaan pemisahan bandwith INTL dan LOCAL:
IP Public (ether1_public) : 202.54.201.76/24
Gateway Public : 202.54.201.1
IP Local (ether2_local) : 192.168.100.1
IP Address Client : 192.168.100.2-192.168.100.254
DNS Server : 202.54.202.54, 202.54.202.55
Allow remote request : yes
untuk memudahkan konfigurasi maka pada percobaan kali ini saya mengganti interface yang untuk public menjadi ether1_public dan interface yang untuk ke arah client menjadi ether2_local.
Karena pada percobaan kali ini client menggunakan ip privat maka kita harus mengaktifkan src-nat masquerade seperti berikut ini:
[admin@MikroTik] > /ip firewall nat pr
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=ether1_public action=masquerade
Karena pada percobaan kali ini kita menggunakan transparent web proxy maka kita harus menambahkan nat rule redirect menuju pada web proxy, agar setiap data yang keluar masuk di paksa melalui web proxy terlebih dahulu, seperti pada contoh berikut ini:
[admin@MikroTik] > /ip firewall nat pr Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=ether1_public action=masquerade
1 chain=dstnat in-interface=ether2_local protocol=tcp dst-port=80
 action=redirect to-ports=8080

Jangan lupa juga untuk mengaktifkan fitur web proxy pada IP – Web Proxy dan jangan lupa untuk menyesuaikan port web proxy dengan apa yang kita konfigurasikan pada firewall nat sebelumnya.
Konfigurasi IP Address List
Fitur IP Address List ini adalah pengelompokan IP Address tertentu dan setiap IP Address tersebut bisa kita namai. Kelompok ini bisa digunakan sebagai parameter dalam mangle, firewall filter, nat, ataupun queue.
Mikrotik Indonesia telah menyediakan daftar IP Address yang diadvertise di OpenIXP dan IIX, yang bisa didownload dengan bebas di URL: http://www.mikrotik.co.id/getfile.php?nf=nice.rsc
Untuk proses pengambilan script nice.rsc ini kita bisa melalui terminal pada mikrotik routerOS dengan perintah seperti di bawah ini:
[admin@MikroTik] > /tool fetch address=ixp.mikrotik.co.id
src-path=/download/nice.rsc;

setelah file sudah terdownload maka langkah selanjutnya adalah dengan mengimport file tersebut, ikuti perintah di bawah:
[admin@MikroTik] > import nice.rsc Opening script file nice.rsc
Script file loaded and executed successfully

Selanjutnya kita cek pada Ip firewall-address list bahwa proses import telah berhasil,



























Pengaturan Mangle
pada konfigurasi mangle ini kita akan membuat 1 buah connection-mark dan 2 buah packet-mark , masing-masin untuk traficc international dan IIX, berikut ini contoh konfigurasi mangle tersebut:
[admin@MikroTik] > /ip firewall mangle pr Flags: X - disabled, I - invalid, D - dynamic
0 chain=prerouting in-interface=ether2_local dst-address-list=nice action=mark-connection
new-connection-mark=conn-iix passthrough=yes
1 chain=prerouting connection-mark=conn-iix action=mark-packet new-packet-mark=packet-iix
passthrough=no
2 chain=prerouting action=mark-packet new-packet-mark=packet-intl passthrough=no

Untuk rule #0 pastikan bahwa kita memilih in-interface pada interface yang mengawah pada client dalam percobaan kali ini interface tersebut adalah ether2_local selanjutnya untuk chain semuanya menggunakan prerouting, dan untuk kedua packet-mark kita mengeset passthrough=no
Pada percobaan kali ini kita menggunakan transparent web proxy, maka dari itu kita perlu melakukan redirecting trafic, berikut adalah tambahan script untuk mangle:
[admin@MikroTik] > /ip firewall mangle pr
Flags: X - disabled, I - invalid, D - dynamic

0 chain=prerouting in-interface=ether2_local
  dst-address-list=nice
  action=mark-connection new-connection-mark=conn-iix
  passthrough=yes
1 chain=prerouting connection-mark=conn-iix
  action=mark-packet new-packet-mark=packet-iix
  passthrough=no
2 chain=output connection-mark=conn-iix
  action=mark-packet new-packet-mark=packet-iix
  passthrough=no
3 chain=prerouting action=mark-packet
  new-packet-mark=packet-intl passthrough=no
4 chain=output action=mark-packet
  new-packet-mark=packet-intl passthrough=no

Proxy Server With Squid and Lusca



Kita asumsikan ubuntu server telah terinstall dengan baik, mode router atau bersamaan dengan mikrotik sama saja
Langkah pertama membuat proxy server squid+lusca yaitu menginstall build squid terlebih dahulu, lakukan command berikut ini pada ubuntu server :
apt-get install squid squidclient squid-cgi gcc \
build-essential sharutils ccze libzip-dev automake1.9
Setelah instalasi selesai, maka selanjutnya kita unduh dulu file lusca-nya :
dengan FTP
https://sites.google.com/site/catatanfaish/lusca_he/LUSCA_FMI.tar.gz
Dengan Putty :
wget https://sites.google.com/site/catatanfaish/lusca_he/LUSCA_FMI.tar.gz
untar terlebih dahulu file LUSCA_FMI.tar.gz, lakukan perintah di bawah ini:
tar xzvf LUSCA_FMI.tar.gz
kemudian masuk ke direktori LUSCA_FMI
cd LUSCA_FMI
kemudian kita memulai untuk melakukan compiler lusca headnya
./configure –prefix=/usr –exec_prefix=/usr \
–bindir=/usr/sbin –sbindir=/usr/sbin \
–libexecdir=/usr/lib/squid –sysconfdir=/etc/squid \
–localstatedir=/var/spool/squid –datadir=/usr/share/squid \
–enable-http-gzip –enable-async-io=24 –with-aufs-threads=24 \
–with-pthreads –enable-storeio=aufs –with-maxfd=65536 \
–enable-linux-netfilter –enable-arp-acl –enable-epoll \
–enable-removal-policies=heap –with-aio –with-dl –enable-snmp \
–enable-delay-pools –enable-htcp –enable-cache-digests \
–disable-unlinkd –enable-large-cache-files –with-large-files \
–enable-err-languages=English –enable-default-err-language=English
kemudian kita mulai installasi luscanya, lakukan perintah berikut:
make && make install
setelah instalasi lusca selesai, selanjutnya stop terlebih dahulu paket dari squidnya sebelum mulai untuk mengkonfiguasi squid.conf:
squid -k shutdown
untuk memudahkan kita dalam melakukan konfigurasi, ada file squid.conf yang sudah jadi, dan kita hanya tinggal mengganti squid.conf bawaan dari squid dengan squid.conf yang sudah jadi, dan untuk selanjutnya kita hanya tinggal mempelajarinya saja
download squid.conf yang sudah jadi dengan FTP:
https://sites.google.com/site/catatanfaish/lusca_he/squid.conf
atau melalui putty:
wget https://sites.google.com/site/catatanfaish/lusca_he/squid.conf
selanjutnya, kita diharuskan untuk memasang storeurl pada squid, sqoreurl juga ada yang sudah jadi, kita hanya tinggal memasukkannya ke dalam ubuntu server kita
download melalui FTP:
https://sites.google.com/site/catatanfaish/lusca_he/storeurl.pl
atau juga melalui putty:
wget https://sites.google.com/site/catatanfaish/lusca_he/storeurl.pl
selanjutnya kita buat permission untuk squid.conf dan storeurl.pl ke dalam mode read-write-execute atau 777 lakukan perintah berikut ini:
chown proxy:proxy /etc/squid/storeurl.pl
chmod 777 /etc/squid/storeurl.pl
chmod 600 /etc/squid/squid.conf
sekarang kita harus membuat direktori sebagai tempat memyimpan cache, atau cache_dir nya:
pada saat menginstall ubuntu, di rekomendasikan untuk membuat 2 partisi atau lebih guna menyimpan cache yang mempunyai storage yang besar, pada percobaan kali ini kebetulan saya membuat 2 partisi yaitu cache1 dan cache2
/cache1—>>partisi untuk cache pertama
/cache2—>>partisi untuk cache kedua
selanjutnya kita masuk ke dalam direktori cache tersebut dan membuat direkroti kembali di dalamnya yang akan di gunakan untuk penyimpanan cache
cd /cache1
mkdir cache1
chmod 777 /cache1/cache1
chown proxy:proxy /cache1/cache1
cd /cache2
mkdir cache2
chmod 777 /cache2/cache2
chown proxy:proxy /cache2/cache2
sekarang kita buat swap memory untuk cache_dir nya
squid -f /etc/squid/squid.conf -z
konfigurasi pada squid.conf telah selesai, selanjutnya kita jalankan kembali service squid yang sebelumnya dimatikan dengan perintah berikut ini:
squid -N -d 1 -D
Kemudian kita lakukan pengecekan pada log squidnya:
tail –f /var/log/squid/access.log
Karena pada percobaan kali ini kita menggunakan mikrotik sebagai routernya maka kita harus membuat mangle di firewall mikrotiknya:
/ip firewall mangle add chain=postrouting dscp=12 action=mark-packet \ new-packet-mark=proxy-hit passthrough=no
setelah itu kita tambahkan untuk limitasi queue tree pada mikrotik, contoh dibawah hanya membuat global-out saja.
/queue tree add name=”pmark” parent=global-out packet-mark=proxy-hit \ limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s

TEST BANDWITH MENGGUNAKAN IPERF



Pada tutorial kali ini kita akan melakukan pengetesan bandwith antar host menggunakan sebuat tool yang berjalan pada platform windows yaitu iperf.
Sebelumnya kita harus download terlebih dahulu Iperf nya,file size Iperf ini sangat kecil sehingga tidak memerlukan waktu lama untuk mendownloadnya, untuk mendownloadnya silahkan download disini
Setelah selesai mendownloadnya, selanjutnya kita unzip/mengekstrak file Iperf.zip tadi ke dalam direktori mana saja, namun pada contoh kali ini diletakkan pada drive D:
Selanjutnya buka command prompt, klik start-run-ketikkan ‘cmd’-enter (untuk windows XP), atau klik start-ketikkan cmd kemudian enter (pada windows 7)
setelah muncul tampilan command prompt seperti dibawah ini:









ketikkan D: kemudian enter untuk masuk ke dalam drive D:
Selanjutnya kita hanya tinggal memanggil file iperf.exe saja, namun ada beberapa parameter pokok yang harus kita ketahui yaitu:
  • kita memerlukan 2 buah host yang akan melakukan test bandwith
  • kedua host tersebut harus mempunyai iperf
  • satu host bertindak sebagai server dan satu host bertindak sebagai client yang akan melakukan test bandwith ke iperf
sebelum melakukan pengetesan bandwith yang harus kita ketahui adalah ip address kita sendiri yang akan bertindak sebagai client dan ip address server. kita asumsikan ip address kita 202.154.202.5 dan ip address server 202.154.202.1
untuk mengetahui sintak iperf kita tinggal mengetikkan pada command prompt iperf.exe -help maka akan muncul option/sintak nya seperti pada gambar berikut:









jika kita menjadi server maka sintak yang digunakan adalah:
D:\>iperf.exe -s
dan jika kita bertindak sebagai client, sintak yang digunakan untuk mengetes bandwith adalah:
D:\>iperf.exe -c 202.154.202.1
keterangan: saat kita menjadi client maka untuk mengetes berapa bandwith yang terdeliver kepada kita, kita harus memasukkan ip address iperf server yaitu pada contoh diatas adalah 202.154.202.1

 
Design by Automotive | Bloggerized by Free Blogger Templates | Hot Deal