Instalasi-Squid-Lusca-Proxy-di-Ubuntu-Server-1204-LTS no proxy detected


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 /cache1
# chmod -R 777 /cache2

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 777 /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 adalah192.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 /cache1. Apabila kalian menggunakan nama lain, silahkan edit file squid.conf :

# nano /etc/squid/squid.conf

Cari bagian cache_dir aufs /cache1 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 inihttp://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 777 /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 22 JUNI 2014

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

SUMBER