Showing posts with label Proxy. Show all posts
Showing posts with label Proxy. Show all posts

Wednesday, March 12, 2014

Cara Memblokir Penggunaan Web Proxy External di Mikrotik

Web Proxy external dapat digunakan untuk mem-bypass firewall dan membuka situs yang tadinya diblokir. Hal ini tentunya bisa bikin kita gigit jari, ketika sudah susah payah bikin sistem dengan firewall untuk memblokir situs macam-macam, ternyata client menggunakan proxy untuk mem-bypass firewall nya. Cape deh.. 

Nah, supaya client tidak bisa menggunakan proxy external untuk mem-bypass firewall, kita perlu memblokir penggunaan web proxy external dengan menggunakan Mikrotik. Caranya dengan membuat rule firewall mikrotik yang memblokir penggunaan port proxy. Hal ini dapat mencegah user/client untuk menggunakan proxy.

Ok, langsung saja ya ikuti Cara Memblokir Penggunaan Web Proxy External di Mikrotik berikut ini :
1. Jika anda menggunakan web proxy internal di Mikrotik, pastikan port nya diganti ke port yang tidak biasa dipake proxy, misalnya port 88


2. Jika anda menggunakan mode transparent proxy, pastikan port redirect nya juga sudah diganti ke port baru, misalnya port 88



3. Buat rule firewall baru dengan melakukan "drop" semua port yang digunakan oleh proxy. Anda bisa copy - paste script berikut ini di terminal :
/ip firewall filter
add action=drop chain=forward comment="Blokir Proxy Port #1" dst-port=\
    3128,54321,6515,6666,8000,8001,8008,808,8080,8081,8088 protocol=tcp \
    src-address=0.0.0.0/0
add action=drop chain=forward comment="Blokir Proxy Port #2" dst-port=\
    8090,81,8118,8181,82,83,84,85,86,8888,8909,9000,9090 protocol=tcp \
    src-address=0.0.0.0/0
4. Jika anda menemukan port lain yang digunakan proxy, silakan ditambahkan sendiri ya.

5. Berikut contoh penggunaannya ketika saya mencoba membuka sebuah web yang diblokir :
=> Sebelum menggunakan proxy

=> Menggunakan proxy

=> Setelah port proxy di "drop"

Nah, jadi dengan trik ini kita bisa mencegah user/client untuk menggunakan proxy selama port proxy yang mereka gunakan sudah masuk ke daftar blokir. 
Oke, demikianlah tutorial mikrotik tentang Cara Memblokir Penggunaan Web Proxy External di Mikrotik. Silakan dicoba dan semoga bermanfaat :)

Tuesday, February 25, 2014

Instalasi Squid Lusca Proxy di Ubuntu Server 12.04 LTS


Ada beberapa artikel yang pernah saya baca yang membahas tentang cara instalasi Squid Lusca di Ubuntu, baik itu untuk versi 12.04 maupun untuk versi Ubuntu sebelum-sebelumnya. Tapi dari beberapa artikel tersebut, kebanyakan kurang jelas step by step instalasinya. Ada juga yang kurang mantap performanya, bahkan ada yang tidak bisa HIT sama sekali!

Satu-satunya tutorial yang membahas secara gamblang dan lengkap sekali petunjuk step by stepnya hanyalah di trit yang ada di forum Ubuntu-indonesia.com ini. Oleh karena itu, berdasarkan sumber dari trit tersebut, saya akan mencoba menuliskannya kembali disini dengan step by step yang insyaAllah lebih saya perjelas lagi. Tujuannya tentu agar semua orang bisa mencoba membuat Squid Lusca ini dengan mudah dan benar. :)

Yang Harus Disiapkan
  1. Memiliki pengetahuan dasar tentang jaringan dan Linux. Setidaknya kalian sudah harus paham betul konsep jaringan TCP/IP seperti ip address, subnet mask, dll. Selain itu kalian juga harus sudah paham cara pengkonfigurasian jaringan di Ubuntu, seperti mengganti ip address, gateway, dan dns. Silahkan download ebook saya disini untuk pembahasan mengenai cara-cara konfigurasi jaringan dasar di Ubuntu Server 12.04 LTS.
  2. Memiliki pengetahuan tentang perintah-perintah dasar di Linux, seperti cp, mv, mkdir, chown, chmod, dan vim atau nano. Bisa kalian cari di google ebook-ebook yang membahas mengenai perintah dasar terminal di Linux.
  3. Memiliki pengetahuan tentang cara instalasi Ubuntu Server 12.04 LTS. Silahkan download ebook saya disini untuk pembahasan mengenai cara instalasi Ubuntu Server 12.04 LTS.
  4. Memiliki Harddisk paling minimal 2 buah. Karena wajib hukumnya untuk memisahkan antara harddisk untuk sistem dan harddisk untuk penyimpanan cache. Tujuannya agar performa si Squid bisa mencapai kemampuan tertinggi. 
  5. 1 buah kartu jaringan. Boleh menggunakan kartu jaringan yang onboard kok.

Spesifikasi Komputer Saya

Spek komputer berikut merupakan spek komputer yang saya gunakan di Virtualbox untuk keperluan praktek pembuatan Proxy pada artikel ini. Konsepnya sama saja, silahkan disesuaikan dengan spesifikasi komputer yang kalian punya.

1. Processor : Intel Core i3
2. Ram : 2 GB
3. HDD :
  • HDD1 : 8 GB --> Untuk sistem
  • HDD 2 : 20 GB --> Untuk penyimpanan cache
4. 1 buah kartu jaringan onboard.

Instalasi Ubuntu Server 12.04 LTS dan Pemartisian

Proses instalasi Ubuntu Server 12.04 LTS untuk keperluan Proxy server notabene sama saja dengan cara instalasi Ubuntu Server yang saya tulis di ebook saya. Jadi silahkan kalian ikuti saja step-by-step yang ada disitu. Letak perbedaannya hanya terdapat pada bagian pemartisian harddisk. Kalau di ebook saya menggunakan metode Guided, maka khusus untuk pembuatan Proxy, kita harus mempartisi Harddisk kita secara manual. Berikut adalah langkah-langkahnya :

1. Saat muncul bagian Partition Method, pilih Manual.


2. Kemudian akan terlihat ada dua buah harddisk disitu beserta ukurannya. HDD1 yang berukuran 8 GB akan saya bagi untuk Swap Area sebesar 2GB dan sisanya untuk sistem /. Ukuran Swap Area idealnya adalah 2x RAM. Namun apabila RAM kalian sudah 2GB keatas, maka sebaiknya ukuran Swap Area kalian buat sebesar 2GB saja. Karena nanti mubazir si Swap Areanya jarang terpakai sebab ukuran RAM kalian sudah cukup besar. 

Tekan Enter pada HDD1. Apabila Harddisk kalian adalah Harddisk baru, maka ketika kalian tekan Enter, akan muncul pertanyaan seperti berikut. Pilih Yes.


Setelah itu akan terlihat Free Space dari HDD1. Tekan Enter pada Free Space tersebut.


Pilih Create New Partition.


Ketikkan ukuran partisi yang ingin kalian buat. Karena disini saya ingin membuat Swap Area terlebih dahulu, maka ketik saja 2 GB. Lalu tekan Enter.


Untuk tipe partisinya, pilih saja Primary.


Pilih Beginning apabila muncul pertanyaan seperti ini.


Ganti bagian Use As menjadi Swap Area. Jika sudah pilih Done Setting Up New Partition.


Lakukan hal yang sama untuk membuat partisi /. Bedanya adalah pada bagian Partition Settings, kalian pilih Use As : Ext4 journaling file system, dan Mount point : /. Jika sudah pilih Done Setting Up New Partition.

Untuk harddisk yang kedua pun caranya sama seperti diatas. Perbedaannya pada bagian Partition Settings, kalian pilih Use As : ReiserFS journaling file system, Mount point > Enter Manually > /proxy. Jika sudah pilih Done Setting Up New Partition.


Jika kalian melakukannya dengan benar, maka tampilannya kira-kira akan seperti berikut. Setelah itu tekan Enter pada Finish partitioning and write changes to disk.


Terakhir pilih Yes.


Instalasi Squid Lusca

1. Pertama-tama pastikan bahwa si Proxy kalian ini sudah bisa terkoneksi ke internet. Silahkan diatur saja settingan gateway dan dns sesuai dengan skema jaringan milik kalian. Kalau topologi jaringan saya adalah sebagai berikut :

internet --------------------------------(10.0.0.2)mikrotik(192.168.1.1)--(192.168.1.2-192.168.1.100) client
(192.168.0.1)
|
|
(192.168.0.2)
 proxy

2. Aktifkan user root agar nanti tidak terlalu ribet menggunakan sudo di setiap perintah yang kalian lakukan. Langkah ini sebenarnya opsional saja, karena walaupun tidak mengaktifkan user root, kalian masih bisa melakukan semua langkah-langkah instalasi Squid Lusca-nya.

Untuk mengaktifkan user root silahkan eksekusi perintah berikut :

$ sudo -i
# passwd

Lalu masukkan password baru untuk user root.

3. Langkah kedua, kalian perlu menaikkan jumlah maksimal file descriptor yang bisa dibaca oleh sistem. Ini sangat diperlukan apabila ukuran cache kalian sudah diatas 100GB, karena semakin besar ukuran cache, maka semakin besar pula kebutuhan file descriptornya.

Untuk menaikkan file descriptor, eksekusi perintah berikut :

# nano /etc/security/limits.conf

Pada bagian paling bawah file tersebut tambahkan script ini :

root - nofile 65535

Setelah itu restart komputer :

# reboot

Setelah komputer direstart, pastikan bahwa efeknya sudah berjalan :

# ulimit -a | grep 'open files'
open files   (-n) 65535

4. Selanjutnya kita harus menambahkan modul ip_conntrack agar performa squid semakin baik :

# nano /etc/modules

Pada baris paling bawah tambahkan :

ip_conntrack

Simpan jika sudah.

5. Langkah berikutnya adalah menginstall paket-paket yang diperlukan untuk menginstall Lusca :

# apt-get update
# apt-get install apache2 php5 squid squidclient squid-cgi gcc build-essential sharutils ccze libzip-dev automake1.9 libfile-readbackwards-perl -y

6. Setelah itu download juga paket Luscanya :

# wget http://backcode.googlecode.com/files/LUSCA_HEAD-r14809-patch.tar.bz2

7. Setelah proses download selesai, ekstraklah file tersebut :

# tar -xvjf LUSCA_HEAD-r14809-patch.tar.bz2

8. Sekarang baru kita masuk ke dalam tahap pengkompilan. Sebelum itu, kalian harus mengetahui terlebih dahulu kode CFLAGS dari tipe prosesor kalian. Karena kode CFLAGS ini kita perlukan untuk proses pengkompilan.

Ketahui terlebih dahulu tipe prosesor kalian dengan mengetikkan perintah berikut :

# cat /proc/cpuinfo

Perhatikan bagian yang kira-kira ada seperti ininya :

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i3 CPU       M 380  @ 2.53GHz

Setelah kalian mengetahui tipe prosesor kalian, baru cari CFLAGS nya dari web ini http://wiki.gentoo.org/wiki/Safe_CFLAGS atau web ini http://gentoo-en.vfose.ru/wiki/Safe_Cflags/Intel#Core_i7_and_Core_i5.2C_Xeon_55xx khusus untuk intel Xeon.



Dari situ kalian bisa dapatkan kode yang kira-kira seperti ini (yang ini merupakan CFLAGS untuk Processor Intel Core i3) :

CHOST="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -msse4 -mcx16 -mpopcnt -msahf -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"

Silahkan kalian kopi, lalu simpan baik-baik. Kode ini akan kita perlukan untuk langkah selanjutnya.

9. Yuk kita mulai proses kompilnya :

# cd LUSCA_HEAD-r14809
# make clean
# CHOST="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -msse4 -mcx16 -mpopcnt -msahf -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" \
./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-gnuregex --enable-async-io=24 --with-aufs-threads=24 \
--with-pthreads --with-aio --with-dl --enable-storeio=aufs,null \
--enable-removal-policies=heap --enable-icmp --enable-delay-pools --disable-wccp \
--enable-snmp --enable-cache-digests --enable-default-err-language=English \
--enable-err-languages=English --enable-linux-netfilter --disable-ident-lookups \
--with-maxfd=65535 --enable-follow-x-forwarded-for --enable-large-cache-files \
--with-large-files --enable-referer-log
# make
# make install

nb : pada script yang saya tandai merah, kalian ganti dengan kode CFLAGS milik kalian masing-masing.

Jika tidak ada pesan error, maka sampai tahap ini squid lusca kalian sudah berhasil terinstall.

10. Selanjutnya kalian harus mengganti hak akses partisi penyimpanan cache kalian agar menjadi kepemilikan user proxy dan grup proxy :

# chown -R proxy.proxy /proxy
# chmod -R 777 /proxy

11. Buat juga direktori untuk penyimpanan file log dari si Squid :

# mkdir /var/log/squid

Jangan lupa ganti kepemilikannya menjadi milik user proxy dan grup proxy juga :

# chown -R proxy.proxy /var/log/squid

12. Untuk file-file konfigurasi milik squidnya, saya sudah menyiapkannya untuk kalian. File-file konfigurasi ini saya dapatkan dari trit ubuntu-indonesia.com juga. Silahkan didownload saja :

# wget https://dl.dropboxusercontent.com/u/64064946/fileconfig.tar.gz

13. Ekstrak dan kopikan file-file konfigurasi tersebut ke direktori /etc/squid :

# tar -xvf fileconfig.tar.gz
# cp fileconf/* /etc/squid

14. Beri hak akses eksekusi untuk semua file berekstensi .pl pada direktori /etc/squid :

# chmod 0755 /etc/squid/*.pl

15. Dari semua file-file konfigurasi yang saya berikan hampir semuanya sudah tinggal pakai. Namun apabila kalian ada yang menggunakan konfigurasi yang berbeda dari punya saya, seperti subnet klien, nama disk cache, besar RAM, maupun ukuran harddisk disk cache, maka ada beberapa file yang perlu kalian edit.

Merubah subnet klien

Sesuai dengan topologi jaringan saya berikan diatas, subnet untuk klien saya adalah 192.168.1.0/24. Jika kalian ingin merubahnya sehubungan dengan perbedaan topologi jaringan, maka edit file acl.conf :

# nano /etc/squid/acl.conf

Cari baris acl localnet src 192.168.1.0/24 (Gunakan fasilitas search dengan menekan tombol CTRL + W). Lalu ganti bagian 192.168.1.0/24 sesuai dengan yang kalian inginkan. Jika sudah simpan dan tutup file tersebut.

Merubah nama disk cache

Pada artikel ini, disk cache yang saya buat bernama /proxy. Apabila kalian menggunakan nama lain, silahkan edit file squid.conf :

# nano /etc/squid/squid.conf

Cari bagian cache_dir aufs /proxy 16000 37 256 , lalu ganti bagian /proxy menjadi nama disk cache sesuai dengan milik kalian masing-masing.

Mengubah ukuran disk cache

Ukuran harddisk untuk disk cache pada artikel ini adalah sebesar 20GB. Untuk mengubahnya sesuai dengan ukuran disk cache kalian, edit file /etc/squid/squid.conf :

# nano /etc/squid/squid.conf

Cari bagian cache_dir aufs /proxy 16000 37 256 . Perhatikan yang saya tandai merah dan biru. Untuk yang saya tandai merah, itu merupakan 80% dari ukuran total disk cache saya yang sebesar 20GB. Ini merupakan prinsip penggunaan disk cache yang baik. Sehingga disitu saya tulis 16000 (satuannya megabyte). Silahkan kalian ganti dengan 80% dari total ukuran disk cache kalian masing-masing.

Sedangkan untuk yang saya tandai biru, itu diperoleh dari rumus : ukuran 80% disk cache  dalam satuan byte/13/256/256 X 2.

Kira-kira cara menghitungnya seperti ini : 16000000/13/256/256 X 2 = 37.5. Dibulatkan saja menjadi 37.

Mengubah ukuran RAM

RAM yang saya gunakan pada artikel ini adalah 2GB. Jika kalian memiliki ukuran RAM yang berbeda dari saya, untuk mengubahnya kalian perlu mengedit file tune.conf :

# nano /etc/squid/tune.conf

Cari bagian ipcache_size 4096 lalu ganti angka 4096 dengan 2X ukuran RAM kalian dalam satuan Megabyte. Sebagai contoh, disitu tertulis 4096 karena hasil dari 2 X ukuran ram saya yaitu 2048.

Setelah itu cari lagi bagian fqdncache_size 2048 lalu ganti angka 2048 dengan ukuran RAM kalian dalam satuan Megabyte. Jika sudah simpan dan tutup file tersebut.

Untuk script-script lainnya, bisa kalian pelajari sendiri dengan melihat semua file yang ada didalam direktori /etc/squid.

Testing

1. Sebelum kalian mengetes squid kalian, pertama-tama matikan terlebih dahulu service dari Squid3. Karena nanti akan bentrok dengan service milik Squid Lusca.

# service squid3 stop

2. Kemudian kalian harus membuat direktori-direktori untuk tempat penyimpanan cache didalam disk cache kalian dengan menggunakan perintah berikut :

# squid -f /etc/squid/squid.conf -z

3. Baru sekarang jalankan squidnya :

# squid -NDd1 &

Berhubung kita menjalankan squidnya pada mode background, maka setelah kalian menjalankan perintah diatas, kalian bisa tekan tombol Enter.

4. Lalu pastikan kalau squid sudah mampu menjalankan servicenya dengan file descriptor yang sudah kalian tentukan diawal, yaitu sebesar 65535 :

# squidclient mgr:info | grep 'file descri'
Maximum number of file descriptors: 65535
Available number of file descriptors: 65511

Reserved number of file descriptors: 100

5. Terakhir, pantau log file dari squid dengan perintah berikut :

# tail -f /var/log/squid/access.log | ccze



Membuat Autostart Squid

Agar service squid langsung berjalan setiap komputer menyala, maka kalian harus menambahkan script autostart baru pada direktori /etc/init.d :

# nano /etc/init.d/squid

Kopikan semua script yang ada di halaman ini http://web.suffieldacademy.org/ils/netadmin/docs/software/squid/etc/init.d/squid kedalam file tersebut. Jika sudah simpan dan tutup filenya.

nb : file /etc/init.d/squid memang kosong. jadi jangan kaget ketika kalian mengetikkan perintah diatas, ternyata malah seperti membuat file baru.

Kemudian eksekusi dua perintah berikut untuk memberikan hak akses executable dan membuat file tersebut autostart setiap komputer dijalankan :

chmod 755 /etc/init.d/squid
update-rc.d squid defaults

Selanjutnya masukkan juga script berikut pada file /etc/rc.local untuk membuat squid3 tidak berjalan setiap komputer nyala. Kalau tidak, takutnya nanti bentrok antara squid3 dengan lusca.

nano /etc/rc.local

Masukkan script ini :

service squid3 stop

Simpan dan tutup file tersebut.

Memonitor Kinerja Squid Lusca dengan Squid Analyzer

Apabila kita hanya melihat file log milik squid secara mentah, rasanya kita agak kurang paham dan kurang bisa melihat statistiknya secara lengkap. Oleh karena itu kita memerlukan tools tambahan agar kita bisa memantau file log squid dengan tampilan yang lebih user friendly. Kalian bisa membaca artikel milik saya tentang cara memonitor kinerja Squid Lusca dengan Squid Analyzer disini.

Komentar Pribadi

Seluruh konfigurasi diatas sudah sering saya coba di beberapa PC dengan spek yang berbeda, seperti Intel Pentium 4, Dual Core, Core 2 Duo, sampai Intel Core i3 dan Intel Xeon. Untuk ngehit situs-situs HTTP dan game-game HTTP seperti game facebook dan friv.com sangat lancar. Untuk ngehit youtube pun lancar. Yang kurang adalah tidak seluruh update patch game online bisa ngehit (saya baru mencoba yang bisa terHIT hanya beberapa game gemscool saja, sedangkan untuk game online selain itu tidak bisa), serta tidak bisa ngehit speedtest. Sehingga ketika di test di speedtest, hanya bisa menampilkan angka yang sesuai dengan bandwidth asli.

Saya masih dalam tahap mengoprek-oprek lagi agar kekurangan yang saya alami diatas agar bisa segera teratasi.  Apabila ada diantara kalian yang mempunyai script yang lebih mantap dari milik saya, yang mungkin bisa ngehit semua patch game online dan speedtest monggo dishare saja dengan mengomentari artikel ini.

Semoga bermanfaat :)

UPDATED 15 JUNI 2014

Artikel ini bakalan sering saya update, jadi tolong dicek secara berkala jika kalian memang membuat proxy berdasarkan artikel ini.

SUMBER

Instalasi Squid Lusca Proxy di Ubuntu Server 12.04 LTS


Ada beberapa artikel yang pernah saya baca yang membahas tentang cara instalasi Squid Lusca di Ubuntu, baik itu untuk versi 12.04 maupun untuk versi Ubuntu sebelum-sebelumnya. Tapi dari beberapa artikel tersebut, kebanyakan kurang jelas step by step instalasinya. Ada juga yang kurang mantap performanya, bahkan ada yang tidak bisa HIT sama sekali!

Satu-satunya tutorial yang membahas secara gamblang dan lengkap sekali petunjuk step by stepnya hanyalah di trit yang ada di forum Ubuntu-indonesia.com ini. Oleh karena itu, berdasarkan sumber dari trit tersebut, saya akan mencoba menuliskannya kembali disini dengan step by step yang insyaAllah lebih saya perjelas lagi. Tujuannya tentu agar semua orang bisa mencoba membuat Squid Lusca ini dengan mudah dan benar. :)

Yang Harus Disiapkan
  1. Memiliki pengetahuan dasar tentang jaringan dan Linux. Setidaknya kalian sudah harus paham betul konsep jaringan TCP/IP seperti ip address, subnet mask, dll. Selain itu kalian juga harus sudah paham cara pengkonfigurasian jaringan di Ubuntu, seperti mengganti ip address, gateway, dan dns. Silahkan download ebook saya disini untuk pembahasan mengenai cara-cara konfigurasi jaringan dasar di Ubuntu Server 12.04 LTS.
  2. Memiliki pengetahuan tentang perintah-perintah dasar di Linux, seperti cp, mv, mkdir, chown, chmod, dan vim atau nano. Bisa kalian cari di google ebook-ebook yang membahas mengenai perintah dasar terminal di Linux.
  3. Memiliki pengetahuan tentang cara instalasi Ubuntu Server 12.04 LTS. Silahkan download ebook saya disini untuk pembahasan mengenai cara instalasi Ubuntu Server 12.04 LTS.
  4. Memiliki Harddisk paling minimal 2 buah. Karena wajib hukumnya untuk memisahkan antara harddisk untuk sistem dan harddisk untuk penyimpanan cache. Tujuannya agar performa si Squid bisa mencapai kemampuan tertinggi. 
  5. 1 buah kartu jaringan. Boleh menggunakan kartu jaringan yang onboard kok.

Spesifikasi Komputer Saya

Spek komputer berikut merupakan spek komputer yang saya gunakan di Virtualbox untuk keperluan praktek pembuatan Proxy pada artikel ini. Konsepnya sama saja, silahkan disesuaikan dengan spesifikasi komputer yang kalian punya.

1. Processor : Intel Core i3
2. Ram : 2 GB
3. HDD :
  • HDD1 : 8 GB --> Untuk sistem
  • HDD 2 : 20 GB --> Untuk penyimpanan cache
4. 1 buah kartu jaringan onboard.

Instalasi Ubuntu Server 12.04 LTS dan Pemartisian

Proses instalasi Ubuntu Server 12.04 LTS untuk keperluan Proxy server notabene sama saja dengan cara instalasi Ubuntu Server yang saya tulis di ebook saya. Jadi silahkan kalian ikuti saja step-by-step yang ada disitu. Letak perbedaannya hanya terdapat pada bagian pemartisian harddisk. Kalau di ebook saya menggunakan metode Guided, maka khusus untuk pembuatan Proxy, kita harus mempartisi Harddisk kita secara manual. Berikut adalah langkah-langkahnya :

1. Saat muncul bagian Partition Method, pilih Manual.


2. Kemudian akan terlihat ada dua buah harddisk disitu beserta ukurannya. HDD1 yang berukuran 8 GB akan saya bagi untuk Swap Area sebesar 2GB dan sisanya untuk sistem /. Ukuran Swap Area idealnya adalah 2x RAM. Namun apabila RAM kalian sudah 2GB keatas, maka sebaiknya ukuran Swap Area kalian buat sebesar 2GB saja. Karena nanti mubazir si Swap Areanya jarang terpakai sebab ukuran RAM kalian sudah cukup besar. 

Tekan Enter pada HDD1. Apabila Harddisk kalian adalah Harddisk baru, maka ketika kalian tekan Enter, akan muncul pertanyaan seperti berikut. Pilih Yes.


Setelah itu akan terlihat Free Space dari HDD1. Tekan Enter pada Free Space tersebut.


Pilih Create New Partition.


Ketikkan ukuran partisi yang ingin kalian buat. Karena disini saya ingin membuat Swap Area terlebih dahulu, maka ketik saja 2 GB. Lalu tekan Enter.


Untuk tipe partisinya, pilih saja Primary.


Pilih Beginning apabila muncul pertanyaan seperti ini.


Ganti bagian Use As menjadi Swap Area. Jika sudah pilih Done Setting Up New Partition.


Lakukan hal yang sama untuk membuat partisi /. Bedanya adalah pada bagian Partition Settings, kalian pilih Use As : Ext4 journaling file system, dan Mount point : /. Jika sudah pilih Done Setting Up New Partition.

Untuk harddisk yang kedua pun caranya sama seperti diatas. Perbedaannya pada bagian Partition Settings, kalian pilih Use As : ReiserFS journaling file system, Mount point > Enter Manually > /proxy. Jika sudah pilih Done Setting Up New Partition.


Jika kalian melakukannya dengan benar, maka tampilannya kira-kira akan seperti berikut. Setelah itu tekan Enter pada Finish partitioning and write changes to disk.


Terakhir pilih Yes.


Instalasi Squid Lusca

1. Pertama-tama pastikan bahwa si Proxy kalian ini sudah bisa terkoneksi ke internet. Silahkan diatur saja settingan gateway dan dns sesuai dengan skema jaringan milik kalian. Kalau topologi jaringan saya adalah sebagai berikut :

internet --------------------------------(10.0.0.2)mikrotik(192.168.1.1)--(192.168.1.2-192.168.1.100) client
(192.168.0.1)
|
|
(192.168.0.2)
 proxy

2. Aktifkan user root agar nanti tidak terlalu ribet menggunakan sudo di setiap perintah yang kalian lakukan. Langkah ini sebenarnya opsional saja, karena walaupun tidak mengaktifkan user root, kalian masih bisa melakukan semua langkah-langkah instalasi Squid Lusca-nya.

Untuk mengaktifkan user root silahkan eksekusi perintah berikut :

$ sudo -i
# passwd

Lalu masukkan password baru untuk user root.

3. Langkah kedua, kalian perlu menaikkan jumlah maksimal file descriptor yang bisa dibaca oleh sistem. Ini sangat diperlukan apabila ukuran cache kalian sudah diatas 100GB, karena semakin besar ukuran cache, maka semakin besar pula kebutuhan file descriptornya.

Untuk menaikkan file descriptor, eksekusi perintah berikut :

# nano /etc/security/limits.conf

Pada bagian paling bawah file tersebut tambahkan script ini :

root - nofile 65535

Setelah itu restart komputer :

# reboot

Setelah komputer direstart, pastikan bahwa efeknya sudah berjalan :

# ulimit -a | grep 'open files'
open files   (-n) 65535

4. Selanjutnya kita harus menambahkan modul ip_conntrack agar performa squid semakin baik :

# nano /etc/modules

Pada baris paling bawah tambahkan :

ip_conntrack

Simpan jika sudah.

5. Langkah berikutnya adalah menginstall paket-paket yang diperlukan untuk menginstall Lusca :

# apt-get update
# apt-get install apache2 php5 squid squidclient squid-cgi gcc build-essential sharutils ccze libzip-dev automake1.9 libfile-readbackwards-perl -y

6. Setelah itu download juga paket Luscanya :

# wget http://backcode.googlecode.com/files/LUSCA_HEAD-r14809-patch.tar.bz2

7. Setelah proses download selesai, ekstraklah file tersebut :

# tar -xvjf LUSCA_HEAD-r14809-patch.tar.bz2

8. Sekarang baru kita masuk ke dalam tahap pengkompilan. Sebelum itu, kalian harus mengetahui terlebih dahulu kode CFLAGS dari tipe prosesor kalian. Karena kode CFLAGS ini kita perlukan untuk proses pengkompilan.

Ketahui terlebih dahulu tipe prosesor kalian dengan mengetikkan perintah berikut :

# cat /proc/cpuinfo

Perhatikan bagian yang kira-kira ada seperti ininya :

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i3 CPU       M 380  @ 2.53GHz

Setelah kalian mengetahui tipe prosesor kalian, baru cari CFLAGS nya dari web ini http://wiki.gentoo.org/wiki/Safe_CFLAGS atau web ini http://gentoo-en.vfose.ru/wiki/Safe_Cflags/Intel#Core_i7_and_Core_i5.2C_Xeon_55xx khusus untuk intel Xeon.



Dari situ kalian bisa dapatkan kode yang kira-kira seperti ini (yang ini merupakan CFLAGS untuk Processor Intel Core i3) :

CHOST="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -msse4 -mcx16 -mpopcnt -msahf -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"

Silahkan kalian kopi, lalu simpan baik-baik. Kode ini akan kita perlukan untuk langkah selanjutnya.

9. Yuk kita mulai proses kompilnya :

# cd LUSCA_HEAD-r14809
# make clean
# CHOST="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -msse4 -mcx16 -mpopcnt -msahf -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" \
./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-gnuregex --enable-async-io=24 --with-aufs-threads=24 \
--with-pthreads --with-aio --with-dl --enable-storeio=aufs,null \
--enable-removal-policies=heap --enable-icmp --enable-delay-pools --disable-wccp \
--enable-snmp --enable-cache-digests --enable-default-err-language=English \
--enable-err-languages=English --enable-linux-netfilter --disable-ident-lookups \
--with-maxfd=65535 --enable-follow-x-forwarded-for --enable-large-cache-files \
--with-large-files --enable-referer-log
# make
# make install

nb : pada script yang saya tandai merah, kalian ganti dengan kode CFLAGS milik kalian masing-masing.

Jika tidak ada pesan error, maka sampai tahap ini squid lusca kalian sudah berhasil terinstall.

10. Selanjutnya kalian harus mengganti hak akses partisi penyimpanan cache kalian agar menjadi kepemilikan user proxy dan grup proxy :

# chown -R proxy.proxy /proxy
# chmod -R 777 /proxy

11. Buat juga direktori untuk penyimpanan file log dari si Squid :

# mkdir /var/log/squid

Jangan lupa ganti kepemilikannya menjadi milik user proxy dan grup proxy juga :

# chown -R proxy.proxy /var/log/squid

12. Untuk file-file konfigurasi milik squidnya, saya sudah menyiapkannya untuk kalian. File-file konfigurasi ini saya dapatkan dari trit ubuntu-indonesia.com juga. Silahkan didownload saja :

# wget https://dl.dropboxusercontent.com/u/64064946/fileconfig.tar.gz

13. Ekstrak dan kopikan file-file konfigurasi tersebut ke direktori /etc/squid :

# tar -xvf fileconfig.tar.gz
# cp fileconf/* /etc/squid

14. Beri hak akses eksekusi untuk semua file berekstensi .pl pada direktori /etc/squid :

# chmod 0755 /etc/squid/*.pl

15. Dari semua file-file konfigurasi yang saya berikan hampir semuanya sudah tinggal pakai. Namun apabila kalian ada yang menggunakan konfigurasi yang berbeda dari punya saya, seperti subnet klien, nama disk cache, besar RAM, maupun ukuran harddisk disk cache, maka ada beberapa file yang perlu kalian edit.

Merubah subnet klien

Sesuai dengan topologi jaringan saya berikan diatas, subnet untuk klien saya adalah 192.168.1.0/24. Jika kalian ingin merubahnya sehubungan dengan perbedaan topologi jaringan, maka edit file acl.conf :

# nano /etc/squid/acl.conf

Cari baris acl localnet src 192.168.1.0/24 (Gunakan fasilitas search dengan menekan tombol CTRL + W). Lalu ganti bagian 192.168.1.0/24 sesuai dengan yang kalian inginkan. Jika sudah simpan dan tutup file tersebut.

Merubah nama disk cache

Pada artikel ini, disk cache yang saya buat bernama /proxy. Apabila kalian menggunakan nama lain, silahkan edit file squid.conf :

# nano /etc/squid/squid.conf

Cari bagian cache_dir aufs /proxy 16000 37 256 , lalu ganti bagian /proxy menjadi nama disk cache sesuai dengan milik kalian masing-masing.

Mengubah ukuran disk cache

Ukuran harddisk untuk disk cache pada artikel ini adalah sebesar 20GB. Untuk mengubahnya sesuai dengan ukuran disk cache kalian, edit file /etc/squid/squid.conf :

# nano /etc/squid/squid.conf

Cari bagian cache_dir aufs /proxy 16000 37 256 . Perhatikan yang saya tandai merah dan biru. Untuk yang saya tandai merah, itu merupakan 80% dari ukuran total disk cache saya yang sebesar 20GB. Ini merupakan prinsip penggunaan disk cache yang baik. Sehingga disitu saya tulis 16000 (satuannya megabyte). Silahkan kalian ganti dengan 80% dari total ukuran disk cache kalian masing-masing.

Sedangkan untuk yang saya tandai biru, itu diperoleh dari rumus : ukuran 80% disk cache  dalam satuan byte/13/256/256 X 2.

Kira-kira cara menghitungnya seperti ini : 16000000/13/256/256 X 2 = 37.5. Dibulatkan saja menjadi 37.

Mengubah ukuran RAM

RAM yang saya gunakan pada artikel ini adalah 2GB. Jika kalian memiliki ukuran RAM yang berbeda dari saya, untuk mengubahnya kalian perlu mengedit file tune.conf :

# nano /etc/squid/tune.conf

Cari bagian ipcache_size 4096 lalu ganti angka 4096 dengan 2X ukuran RAM kalian dalam satuan Megabyte. Sebagai contoh, disitu tertulis 4096 karena hasil dari 2 X ukuran ram saya yaitu 2048.

Setelah itu cari lagi bagian fqdncache_size 2048 lalu ganti angka 2048 dengan ukuran RAM kalian dalam satuan Megabyte. Jika sudah simpan dan tutup file tersebut.

Untuk script-script lainnya, bisa kalian pelajari sendiri dengan melihat semua file yang ada didalam direktori /etc/squid.

Testing

1. Sebelum kalian mengetes squid kalian, pertama-tama matikan terlebih dahulu service dari Squid3. Karena nanti akan bentrok dengan service milik Squid Lusca.

# service squid3 stop

2. Kemudian kalian harus membuat direktori-direktori untuk tempat penyimpanan cache didalam disk cache kalian dengan menggunakan perintah berikut :

# squid -f /etc/squid/squid.conf -z

3. Baru sekarang jalankan squidnya :

# squid -NDd1 &

Berhubung kita menjalankan squidnya pada mode background, maka setelah kalian menjalankan perintah diatas, kalian bisa tekan tombol Enter.

4. Lalu pastikan kalau squid sudah mampu menjalankan servicenya dengan file descriptor yang sudah kalian tentukan diawal, yaitu sebesar 65535 :

# squidclient mgr:info | grep 'file descri'
Maximum number of file descriptors: 65535
Available number of file descriptors: 65511

Reserved number of file descriptors: 100

5. Terakhir, pantau log file dari squid dengan perintah berikut :

# tail -f /var/log/squid/access.log | ccze



Membuat Autostart Squid

Agar service squid langsung berjalan setiap komputer menyala, maka kalian harus menambahkan script autostart baru pada direktori /etc/init.d :

# nano /etc/init.d/squid

Kopikan semua script yang ada di halaman ini http://web.suffieldacademy.org/ils/netadmin/docs/software/squid/etc/init.d/squid kedalam file tersebut. Jika sudah simpan dan tutup filenya.

nb : file /etc/init.d/squid memang kosong. jadi jangan kaget ketika kalian mengetikkan perintah diatas, ternyata malah seperti membuat file baru.

Kemudian eksekusi dua perintah berikut untuk memberikan hak akses executable dan membuat file tersebut autostart setiap komputer dijalankan :

chmod 755 /etc/init.d/squid
update-rc.d squid defaults

Selanjutnya masukkan juga script berikut pada file /etc/rc.local untuk membuat squid3 tidak berjalan setiap komputer nyala. Kalau tidak, takutnya nanti bentrok antara squid3 dengan lusca.

nano /etc/rc.local

Masukkan script ini :

service squid3 stop

Simpan dan tutup file tersebut.

Memonitor Kinerja Squid Lusca dengan Squid Analyzer

Apabila kita hanya melihat file log milik squid secara mentah, rasanya kita agak kurang paham dan kurang bisa melihat statistiknya secara lengkap. Oleh karena itu kita memerlukan tools tambahan agar kita bisa memantau file log squid dengan tampilan yang lebih user friendly. Kalian bisa membaca artikel milik saya tentang cara memonitor kinerja Squid Lusca dengan Squid Analyzer disini.

Komentar Pribadi

Seluruh konfigurasi diatas sudah sering saya coba di beberapa PC dengan spek yang berbeda, seperti Intel Pentium 4, Dual Core, Core 2 Duo, sampai Intel Core i3 dan Intel Xeon. Untuk ngehit situs-situs HTTP dan game-game HTTP seperti game facebook dan friv.com sangat lancar. Untuk ngehit youtube pun lancar. Yang kurang adalah tidak seluruh update patch game online bisa ngehit (saya baru mencoba yang bisa terHIT hanya beberapa game gemscool saja, sedangkan untuk game online selain itu tidak bisa), serta tidak bisa ngehit speedtest. Sehingga ketika di test di speedtest, hanya bisa menampilkan angka yang sesuai dengan bandwidth asli.

Saya masih dalam tahap mengoprek-oprek lagi agar kekurangan yang saya alami diatas agar bisa segera teratasi.  Apabila ada diantara kalian yang mempunyai script yang lebih mantap dari milik saya, yang mungkin bisa ngehit semua patch game online dan speedtest monggo dishare saja dengan mengomentari artikel ini.

Semoga bermanfaat :)

UPDATED 15 JUNI 2014

Artikel ini bakalan sering saya update, jadi tolong dicek secara berkala jika kalian memang membuat proxy berdasarkan artikel ini.

SUMBER

Tuesday, February 18, 2014

Mengganti Tampilan Halaman Error Webproxy Mikrotik

Tampilan Halman error pada Webproxy Mikrotik dapat kita rubah sesuai keingininan. Tampilan asli halaman error web proxy Mikrotik adalah sebagai berikut :
 
Kita dapat merubah tampilan tersebut dengan mengganti/merubah script yang ada di file /webproxy/error.hrml pada mikrotik. 


Namun jika direktori dan file tersebut tidak muncul di Mikrotik, maka anda harus mereset file HTML nya.
1. Masuk ke menu IP --> Web Proxy --> Reset HTML


2. Copy file error.html via File List atau akses FTP Mikrotik


3. Silakan anda edit filenya atau ganti dengan error page anda sendiri.

4. Yang perlu diperhatikan adalah, tidak semua kode HTML dapat dieksekusi di halaman error ini. Misalnya : tidak dapat menampilkan gambar atau animasi lainnya.

5. Jika anda ingin menambahkan gambar pada halaman error nya, file gambar nya bisa dirubah dulu ke dalam base64 string di web ini
http://webcodertools.com/imagetobase64converter

6. Selanjutnya bisa masukkan code HTML hasil convert nya ke halaman error tadi. Contoh nya seperti ini :


7. Hasilnya seperti ini :


Oke sekian dulu Tutorial Mengganti Tampilan Halaman Error Webproxy Mikrotik ini. Silakan anda coba :)

Mengganti Tampilan Halaman Error Webproxy Mikrotik

Tampilan Halman error pada Webproxy Mikrotik dapat kita rubah sesuai keingininan. Tampilan asli halaman error web proxy Mikrotik adalah sebagai berikut :
 
Kita dapat merubah tampilan tersebut dengan mengganti/merubah script yang ada di file /webproxy/error.hrml pada mikrotik. 


Namun jika direktori dan file tersebut tidak muncul di Mikrotik, maka anda harus mereset file HTML nya.
1. Masuk ke menu IP --> Web Proxy --> Reset HTML


2. Copy file error.html via File List atau akses FTP Mikrotik


3. Silakan anda edit filenya atau ganti dengan error page anda sendiri.

4. Yang perlu diperhatikan adalah, tidak semua kode HTML dapat dieksekusi di halaman error ini. Misalnya : tidak dapat menampilkan gambar atau animasi lainnya.

5. Jika anda ingin menambahkan gambar pada halaman error nya, file gambar nya bisa dirubah dulu ke dalam base64 string di web ini
http://webcodertools.com/imagetobase64converter

6. Selanjutnya bisa masukkan code HTML hasil convert nya ke halaman error tadi. Contoh nya seperti ini :


7. Hasilnya seperti ini :


Oke sekian dulu Tutorial Mengganti Tampilan Halaman Error Webproxy Mikrotik ini. Silakan anda coba :)

Tuesday, February 4, 2014

Cara Memblokir Situs Menggunakan Web Proxy MikroTik

Web Proxy Mikrotik memiliki beberapa fungsi, salah satunya yaitu fungsi filtering. Fitur Filtering Web Proxy ini dapat membatasi akses konten-konten tertentu yang di-request oleh client. Anda dapat membatasi akses ke situs tertentu, ekstensi file tertentu, melakukan redirect (pengalihan) ke situs lain, maupun pembatasan terhadap metode akses HTTP. Hal tersebut tidak dapat anda lakukan jika hanya menggunakan NAT. Penjelasan selengkapnya tentang Web Proxy Mikrotik ada disini :

Selanjutnya kita akan coba memblokir sebuah situs tertentu menggunakan fitur filtering Web Proxy ini. Pastikan Transparent Web Proxy Mikrotik sudak aktif. Jika belum silakan anda seting sesuai tutorial berikut ini :

Jika Transparent Web Proxy sudah aktif, kita mulai langkah-langkah Cara Memblokir Situs Menggunakan Web Proxy MikroTik berikut ini :

1. Login ke Mikrotik dengan Winbox

2. Masuk ke menu IP --> Web Proxy --> Access --> Add rule baru



3. Masukkan detail website yang mau di blok
> Dst. Port : isikan port http 80
> Dst. Host : isikan alamat website yang mau di blok misalnya www.rizkyagung.com
> Action : pilih deny untuk memblokir akses nya


4. Sebelum rule nya diaktifkan pastikan cek website yang mau di blok itu bisa dibuka apa tidak.



5. Aktifkan rule nya, dan cek apakah website sudah berhasil di blokir. Jika sukses maka akan tampil halaman error seperti ini :



6. Kita juga bisa memodifikasi rule nya dengan me-redirect ke situs lain. Misalnya ketika ada user yang mengakses web www.rizkyagung.com maka akan langsung dialihkan (redirect) ke blog ini MikrotikIndo.blogspot.com. 
Tinggal isikan saja alamat website nya di kolom Redirect To :



Oke, silakan anda coba dan isikan website apa saja yang mau diblokir. Selamat mencoba Cara Memblokir Situs Menggunakan Web Proxy MikroTik ini :)