January 27, 2012

Konfigurasi Squid Pada Debian 5 Lenny

dari wikipedia.com :
"Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP.
Squid pada awalnya dikembangkan oleh Duane Wessels sebagai "Harvest object cache", yang merupakan bagian dari proyek Harvest yang dikembangkan di University of Colorado at Boulder. Pekerjaan selanjutnya dilakukan hingga selesai di University of California, San Diego dan didanai melalui National Science Foundation. Squid kini hampir secara eksklusif dikembangkan dengan cara usaha sukarela.
Squid umumnya didesain untuk berjalan di atas sistem operasi mirip UNIX, meski Squid juga bisa berjalan di atas sistem operasi Windows. Karena dirilis di bawah lisensi GNU General Public License, maka Squid merupakan perangkat lunak bebas."
Hm..bagian mana yang belum faham?? Intinya squid adalah sebuah aplikasi yang mempunyai fungsi sebagai berikut: mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas



Kemudia kali ini penulis akan menginstal squid pada Sistem operasi Debian Leny dengan syarat sebagai berikut :
  1. Praktik dilakukan pada Virtual Machine
  2. Topologi sesuai link ini
  3. Debian Lenny 5.04 DVD
  4. Windows XP SP 2
  5. Terkoneksi >> Cara koneksi antar Virtual Host
  6. Kopi luwak tumbuk halus
  7. Kacang goyeng isi 2 biji, wajib he
Ok langkahnya sebagai berikut,
Buat NAT dulu di server debian. NAT sendiri berfungsi untuk mengijinkan IP lokal agar bisa menggunakan IP WAN. Sehingga client dapat terkoneksi. Dalam hal ini, IP atau Interface yang di Nat adalah interface yang keluar, bukan yang ke lokal. Intinya, interface luar tersebut dishare sehingga interface lokal dapat menggunakan IP tersebut secara bersama sama
eth0 : lokal
eth1 : luar

Edit file /proc/sys/net/ipv4/ip_forward kemudia ubah yang semula 0 menjadi 1, hal ini berarti bahwa forwarding packet diaktifkan
0 : off
1 : aktif

Kemudian edit lagi dengan sintaks pico  /etc/sysctl.conf 
Uncoment text #net.ipv4.ip_forward=1 sehingga menjadi net.ipv4.ip_forward=1
Jangan lupa untuk menyimpan gunakan CTRL+O
Sekarang ke masalah IpTables
Masukan langsung dari comand line 3 baris berikut
# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
artinya : Bahwa routing memerlukan sebuah interface yang di NAT maka interface yang keluar lah yang di berlakukan NAT, sehingga ip pun bisa tersharing
# iptables -A FORWARD -i eth0 -j ACCEPT
artinya : Mengijinkan packet diteruskan pada saat melewati eth0
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
artinya : Pada saat mengakses web, kita menggunakan port 80, oleh karena itu port tersebut harus lewat port proxy kita yaitu 3128, untuk itu inilah yang namanya REDIRECT

Tes dahulu apakah client dapat Ping ke www.google.com, syaratnya si Debian ini sudah harus bisa ping ke www.google.com dahulu. Silahkan edit nameservernya.
Kalau sudah bisa koneksi, script 3 iptables tadi silakan tulis ulang pada rc.local
Jadi edit lagi pico /etc/rc.local, masukan sebelum exit 0 jadi

bla bla..
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
exit 0 

Simpan kemudian keluar
Hal ini berfungsi agar ketika Server ini direstart konfigurasi akan kembali seperti apa yang kita lakukan pada iptables tersebut.
Kalau tanpa REDIRECTING, kita perlu meng set Proxy sendiri pada browser misal, proxy 192.168.1.3 portnya 3128, tapi karena ada REDIRECTING maka tidak perlu meng set lagi.

Ok..sampai saat ini routing berhasil, tinggal konfigurasi squidnya.

Konfigurasi Proxy Server
1. Sistem Operasi = OS Linux
2. Port proxy = 3128
3. Cache Manager = nama_peserta@sekolah.sch.id
4. Visible host = www.sekolah.sch.id
5. Transparent proxy
6. Bloking site = www.youtube.com, www.facebook.com
 
Sebelumnya lakukan instalasi squidnya
apt-get install squid ikuti prosesnya
backup squid dengan cp squid.conf squid.conf.backup
kemudian lakukan editing pada /etc/squid/squid.conf
perhatikan bagian bagian ini :

CTRL+W cari http_port 3128
tambahkan sehingga
http_port 3128 transparent
perintah ini meng set proxi ke port 3128 secara transparent

CTRL+W cari cache_mgr webmaster
ganti sehingga
cache_mgr didit@sekolah.sch.id

CTRL+W cari # Visisble hostname
tambahkan sehingga
Visisble hostname www.sekolah.sch.id

CTRL+W cari acl aclname srcdoman
tambahkan sehingga
acl bloksitus dstdomain .facebook.com .youtube.com
situs yang akan diblok menggunakan sintaks dstdomain
CTRL+W cari acl localnet src
tambahkan sehingga
acl smknasa src 192.168.1.0/24
ijinkan jaringan mana yang boleh mengakses squid
CTRL+W cari http_access allow localhost
tambahkan sehingga
http_access deny bloksitus 
http_access allow smknasa
deny tidak diijinkan, allow mengijinkan

CTRL+O kemudian CTRL+Z
ketikan squid -z
kemudian restart squid 
/etc/init.d/squid restart

  • Testing pada client dengan input proxy manual ataupun tanpa proxy
  • Mencoba akses ke situs yang diblok, lihat pesan squidnya
  • Selesai :)




Disqus Comments