Home > LiNuX (based on debian), Proxy Server > Konfigurasi Sederhana Squid Proxy Server

Konfigurasi Sederhana Squid Proxy Server

Di negara yg kita cintai ini, ternyata bandwidth internet masih SANGAT MAHAL harganya, oleh karena itu bandwidth yg kita beli harus dipergunakan se-efektif mungkin. Oleh karena itu kita bisa memanfaatkan proxy server utk mengatasi keterbatasan ini.

Proxy / Cache bekerja dengan cara menyimpan object (mis : halaman-halaman web, hasil download, dll) yang diakses oleh user dalam memorinya (dalam cache-nya), sehingga ketika user berikutnya ingin mengakses halaman web yang sama, proxy tdk lagi mengambilkan halaman web tsb dari internet, tetapi langsung dari cache-nya, hal inilah yang bisa membuat akses internet terasa lebih cepat, karena jalur ke internet tidak secar terus-menerus digunakan untuk mengambil object (halaman-halaman web, hasil download, dll) yang sama

Berikut ini adalah langkah-langkah untuk mensetting squid proxy server pada OS debian.
Install paket squid dari repository terdekat
apt-get install squid3
Edit konfigurasi squid, sesuaikan dengan kebutuhan
mcedit /etc/squid3/squid.conf

  1. Mengatur port dimana squid binding (berjalan).
  2. http_port 3128
    atau utk lebih aman-nya, kita bisa juga definisikan ip address dan portnya sekaligus
    http_port 10.2.1.55:3128

  3. Mengatur letak dan ukuran direktori dimana squid menyimpan cache-nya.
  4. cache_dir ufs /cache 100 16 256
    keterangan
    100 : 100 MB yg dialokasikan utk cachenya squid
    16 : direktori tingkat 1 yg digunakan utk penyimpanan cache
    256 : direktori tingkat 2 yg digunakan utk penyimpanan cache

  5. Access Control List (ACL) : digunakan untuk memberikan akses (allow/deny) pada squid.
  6. acl lab-crew src 10.2.1.0/24
    10.2.1.0/24 : source ip-address LAN yg diperbolehkan mengakses squid
    lab-crew : nama dari ACL

  7. Memperbolehkan akses dari lab-crew (10.2.1.0/24)
  8. http_access allow lab-crew

  9. Membuka Port-port yg diperlukan untuk chat (YM = 5050, mirc = 6660-6670) -> port ini sebetulnya tidak mengakses squid dengan cara yang normal sebagaimana yang terjadi apabila kita mengakses http (port 80), melainkan dengan metode CONNECT.
  10. acl PortPenting port 5050 6660-6670
    http_access allow CONNECT PortPenting

  11. Menampilkan alamat email dari admin yg bertanggung jawab thd squid proxy-server.
  12. cache_mgr lqman@computer.ee.its.ac.id

  13. Menampilkan hostname dari proxy.
  14. visible_hostname constantine.computer.ee.its.ac.id
    hostname anda akan tampak dari sisi user apabila proxy mengalami error / sedang mengakses website secara Indexes

  15. Mempercepat proses restart squid (defaultnya 30 seconds).
  16. shutdown_lifetime 5 seconds

  17. Cek validasi konfigurasi yang baru kita tambahkan lalu restart squid
  18. root@constantine:~# squid3 -k check
    root@constantine:~# squid3 -k parse

    Apabila tidak ada pesan error, maka silakan di-restart service squid dg cara :

    root@constantine:~# /etc/init.d/squid3 restart
    Selamat mencoba dan happy proxying 🙂
    referensi :
    /etc/squid.squid.conf atau /usr/share/doc/squid/examples/squid.conf

    Advertisements
  1. nsf
    8 December 2007 at 9:45 am

    useful banget mas tutorialnya, sangat membantu.. yg postfix kmaren, yg squid ini juga, tapi kok bersambung??

    ditunggu donk sambungannya…

    your next seat

    Jawab :
    Oke, tunggu habis TA yaaaa…..

  2. 3 January 2008 at 7:24 am

    klo aku mah kagak ngerti ini apaan
    ketemu juga denganmu disini nak

    Jawab :
    Aduh, wong iki maneh rek 😦

  3. joko
    19 March 2008 at 6:13 am

    mas
    acl src lab-crew 10.2.1.0/24
    sama
    acl lab-crew src 10.2.1.0/24
    sama gak mas!!!!!!!!

    Jawab :
    Gak sama jok, sing bener format-e yg kedua
    acl lab-crew src 10.2.1.0/24
    http_access allow lab-crew

  4. joko
    22 March 2008 at 7:44 am

    berarti contoh e sampeyan salah no point 3. OK suwun.

    Jawab :
    Ok Suwun, saiki wis tak benakno jok.
    Nobody is Perfect 😀

  5. erta
    23 June 2008 at 1:43 am

    Bos, kok mIRC dan Yahoo Cam gak bisa diakses client, ya? padahal udah diikuti contoh di atas..kira-kira salahnya di mana ya?

    Jawab :

  6. rizki
    29 January 2009 at 1:46 pm

    mas kalo mbuat proxy server didalam proxy server gimana config squid.conf …

    jelaskan ttg cache_peer xxx parent apa itu untuk meredirect proxy servernya… (maaf keyboard tanda tanyanya rusak)

    skrn.

    Jawab :
    Eiiiiiits, karena masih bakti-lab mode : ON, maka g bisa tak jawab dulu.
    Tapi klo sudah lewat bakti-lab nya, akan tak jelaskan sejelas-jelasnya.
    Baca Manual, dokumentasi, tutorial-nya dulu dooong, pasti ada jawabanya koq.
    Bakti-lab khan agar antm bisa belajar cara utk belajar, oleh krn itu pertanyaan ini saya pending dulu jawabannya.
    Otre?
    :mrgreen:

  7. hendra
    22 May 2009 at 2:00 am

    permisi mas, gw pngen nanyain cara pendaftaran facebook pas waktu login facebook ko gak bisa masuk ya padahal udah sukses masukin passwordnya tapi ko gak ada konfirmasi ke email

    Jawab :
    wah sorry pertanyaan-nya koq g nyambung yaaa? sptnya lbh baik d tanyakan k developernya facebook deh 🙂
    *apa hubungannya dg squid yaa*

  8. sigit
    9 July 2009 at 4:31 am

    Mas, tanya nich…
    Untuk instalasi proxy dengan menggunakan centos 4, bagaimana?

    Thks
    Regards,Sigit

    Jawab :
    Wah untuk centOS sy g pernah pegang, yg jelas yaa tinggal install squid-nya kemudian pake konfigurasi sederhana spt yg dijelaskan diatas insya Allah bisa koq.

  9. Mulyono
    7 October 2009 at 2:58 am

    mas, saya sudah coba konfigurasi tapi masih error, berikut err-log nya,
    2009/10/07 08:31:38| Starting Squid Cache version 2.7.STABLE7 for i686-pc-winnt…
    2009/10/07 08:31:38| Running as Squid Windows System Service on Windows XP
    2009/10/07 08:31:38| Service command line is:
    2009/10/07 08:31:38| Process ID 4000
    2009/10/07 08:31:38| With 2048 file descriptors available
    2009/10/07 08:31:38| With 2048 CRT stdio descriptors available
    2009/10/07 08:31:38| Windows sockets initialized
    2009/10/07 08:31:38| Using select for the IO loop
    2009/10/07 08:31:38| Performing DNS Tests…
    2009/10/07 08:31:38| Successful DNS name lookup tests…
    2009/10/07 08:31:38| DNS Socket created at 0.0.0.0, port 1032, FD 5
    2009/10/07 08:31:38| Adding nameserver 208.67.222.222 from Registry
    2009/10/07 08:31:38| Adding nameserver 222.124.204.34 from Registry
    2009/10/07 08:31:38| Adding nameserver 208.67.220.220 from Registry
    2009/10/07 08:31:38| Adding nameserver 202.134.0.155 from Registry
    2009/10/07 08:31:38| Adding DHCP nameserver 192.168.10.21 from Registry
    2009/10/07 08:31:38| Adding domain pnm.co.id from Registry
    2009/10/07 08:31:38| User-Agent logging is disabled.
    2009/10/07 08:31:38| Referer logging is disabled.
    2009/10/07 08:31:38| logfileOpen: opening log c:/squid/var/logs/access.log
    2009/10/07 08:31:38| Unlinkd pipe opened on FD 8
    2009/10/07 08:31:38| Swap maxSize 102400 + 8192 KB, estimated 8507 objects
    2009/10/07 08:31:38| Target number of buckets: 425
    2009/10/07 08:31:38| Using 8192 Store buckets
    2009/10/07 08:31:38| Max Mem size: 8192 KB
    2009/10/07 08:31:38| Max Swap size: 102400 KB
    2009/10/07 08:31:38| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
    2009/10/07 08:31:38| logfileOpen: opening log c:/squid/var/logs/store.log
    2009/10/07 08:31:38| Rebuilding storage in c:/squid/var/cache (CLEAN)
    2009/10/07 08:31:38| Using Least Load store dir selection
    2009/10/07 08:31:38| Set Current Directory to c:/squid/var/cache
    2009/10/07 08:31:38| Loaded Icons.
    2009/10/07 08:31:38| Accepting proxy HTTP connections at 0.0.0.0, port 3128, FD 14.
    2009/10/07 08:31:38| Accepting ICP messages at 0.0.0.0, port 3130, FD 15.
    2009/10/07 08:31:38| Accepting HTCP messages on port 4827, FD 16.
    2009/10/07 08:31:38| Accepting SNMP messages on port 3401, FD 17.
    2009/10/07 08:31:38| Ready to serve requests.
    2009/10/07 08:31:39| Done reading c:/squid/var/cache swaplog (0 entries)
    2009/10/07 08:31:39| Finished rebuilding storage from disk.
    2009/10/07 08:31:39| 0 Entries scanned
    2009/10/07 08:31:39| 0 Invalid entries.
    2009/10/07 08:31:39| 0 With invalid flags.
    2009/10/07 08:31:39| 0 Objects loaded.
    2009/10/07 08:31:39| 0 Objects expired.
    2009/10/07 08:31:39| 0 Objects cancelled.
    2009/10/07 08:31:39| 0 Duplicate URLs purged.
    2009/10/07 08:31:39| 0 Swapfile clashes avoided.
    2009/10/07 08:31:39| Took 1.0 seconds ( 0.0 objects/sec).
    2009/10/07 08:31:39| Beginning Validation Procedure
    2009/10/07 08:31:39| Completed Validation Procedure
    2009/10/07 08:31:39| Validated 0 Entries
    2009/10/07 08:31:39| store_swap_size = 0k
    2009/10/07 08:31:40| storeLateRelease: released 0 objects
    2009/10/07 08:58:51| commBind: Cannot bind socket FD 18 to 192.168.218.4:0: (10049) WSAEADDRNOTAVAIL, Cannot assign requested address.
    —————–
    konfigurasi
    windows xp
    wireless — 192.168.218.xx — ini yang seharusnya dipake ama squid buat koneksi ke internet via modem 192.168.218.4
    cable — 192.168.9.xx — ini buat squid terima order dari client

    thanks ya….

    Jawab :
    Maaf mas, sebaiknya googling dulu aja, soalnya saya tidak pernah mengalami error yg seperti itu (maklum pengalaman saya terbatas)….
    Atau via YM aja…

  10. 3 June 2010 at 2:27 am

    Thank you bung Lqman ^^ ijin copas sumber desvianri dan sudah direvisi http://hi-techmall.org/workshop/node/1103

    Jawab :
    Ok, trims atas pengertiannya. Soalnya saya paling g suka klo karya saya “dicuri”, padahal diambil saja (dengan mencantumkan sumber aslinya) boleh.

  11. boedie
    8 February 2011 at 4:56 pm

    “Berikut ini adalah langkah-langkah untuk mensetting squid proxy server pada OS debian.
    Install paket squid dari repository terdekat.”
    apa sih maksudnya repository terdekat???

    jawab :
    repository adalah source untuk menginstall paket debian, bisa berupa CD, ato alamat web seperti ini http://110.139.12.238/share/mirror/debian/.
    Utk setting repository anda tinggal ubah2 file /etc/apt/sources.list, jgn lupa baca manualnya dulu yaaa….

  12. sendy
    2 December 2011 at 6:32 am

    selamat siang…

    mas sy mau tny kalo TCP miss’y sampe 99% itu kenapa ya ?
    terus solusi’y gmn ?

    sy pake konfigurasi

    acl manager proto cache_object
    acl localhost src 127.0.0.1/32 ::1
    acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
    acl lan src 192.168.5.0/25 192.168.5.128/25 ::1
    #acl localnet src 192.168.5.0/25 # RFC1918 possible internal network
    acl localnet src fc00::/7 # RFC 4193 local private network range
    acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged)
    acl SSL_ports port 443
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 # https
    acl Safe_ports port 70 # gopher
    acl Safe_ports port 210 # wais
    acl Safe_ports port 1025-65535 # unregistered ports
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    acl Safe_ports port 591 # filemaker
    acl Safe_ports port 777 # multiling http

    acl porno url_regex "/etc/squid3/pornourl.txt"
    acl ads url_regex "/etc/squid3/denied_ads.txt"

    deny_info http://labkom-elektro.co.cc porno
    deny_info http://labkom-elektro.co.cc/iklan/iklan.php ads

    acl CONNECT method CONNECT
    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow localnet
    http_access deny ads
    http_access deny porno
    http_access allow lan
    http_access deny all
    http_port 3128 transparent
    hierarchy_stoplist cgi-bin ? localhost

    access_log /var/log/squid3/access.log squid

    cache_mem 8 MB

    maximum_object_size_in_memory 32 KB
    store_dir_select_algorithm least-load

    cache_swap_low 98 #90
    cache_swap_high 99 #95
    cache_dir ufs /var/spool/squid3 1024 16 256
    cache_log /var/log/squid3/cache.log

    maximum_object_size 128 MB
    maximum_object_size_in_memory 32 KB

    ipcache_size 2048
    ipcache_low 93 #98
    ipcache_high 98 #99

    cache_replacement_policy heap LFUDA
    memory_replacement_policy heap GDSF

    coredump_dir /var/spool/squid3
    dns_nameservers 192.168.5.31
    positive_dns_ttl 2 minute

    acl youtube dstdomain .youtube.com
    acl speedtest dstdomain .speedtest.net
    cache allow youtube
    cache allow speedtest
    hierarchy_stoplist cgi-bin ? .js .jsp
    acl QUERY urlpath_regex cgi-bin \? .js .jsp
    no_cache deny QUERY

    refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod
    refresh_pattern -i \.(class|css|js|tif)$ 1440 95% 10080 reload-into-ims override-lastmod
    refresh_pattern -i \.(jpe|jpg|jpeg|png|bmp|gif)$ 1440 95% 10080 reload-into-ims override-lastmod
    refresh_pattern -i \.(tiff|mov|avi|qt|mpeg|3gp)$ 10080 95% 20160 reload-into-ims override-lastmod
    refresh_pattern -i \.(mpg|mpe|wav|au|mid)$ 10080 95% 20160 reload-into-ims override-lastmod
    refresh_pattern -i \.(zip|gz|arj|lha|lzh)$ 10080 95% 20160 reload-into-ims override-lastmod
    refresh_pattern -i \.(rar|tgz|tar|exe|bin)$ 10080 95% 20160 reload-into-ims override-lastmod
    refresh_pattern -i \.(pdf|rtf|doc|swf|txt)$ 1440 95% 20160 reload-into-ims override-lastmod
    refresh_pattern -i \.(inc|cab|ad|hqx|dll)$ 10080 95% 43200 reload-into-ims override-lastmod
    refresh_pattern -i \.(asp|acgi|pl|shtml|php3|php)$ 2 20% 4320 reload-into-ims override-lastmod
    refresh_pattern -i \? 2 20% 4320

    refresh_pattern ^http://*.facebook.*/.* 1440 40% 40320
    refresh_pattern ^http://*.fbcdn.*/.* 1440 40% 40320
    refresh_pattern ^http://*.youtube.*/.* 1440 40% 40320
    refresh_pattern ^http://*.c.youtube.*/.* 1440 40% 40320
    refresh_pattern ^http://*.twitter.*/.* 1440 40% 40320
    refresh_pattern ^http://*.indowebster.*/.* 1440 40% 40320
    refresh_pattern ^http://*.yimg.*/.* 1440 40% 40320
    refresh_pattern ^http://*.144.channel.facebook.*/.* 1440 40% 40320
    refresh_pattern ^http://*.120.channel.facebook.*/.* 1440 40% 40320
    refresh_pattern ^http://*.twimg.*/.* 1440 40% 40320
    refresh_pattern ^http://*.50cubes.*/.* 1440 40% 40320
    refresh_pattern . 0 20% 4320
    quick_abort_min 0
    quick_abort_max 0
    quick_abort_pct 98

    request_header_access Referer deny all
    request_header_access X-Forwarded-For deny all
    request_header_access Via deny all
    request_header_access Cache-Control deny all
    visible_hostname squid.status.labkom-elektro.co.cc

    #mematikan n merekonfigur squid
    shutdown_lifetime 10 seconds

    #meningkatkan refersh pattern
    reload_into_ims on
    pipeline_prefetch on
    vary_ignore_expire on

    forwarded_for off

  13. 20 December 2011 at 9:08 am

    @sendy:
    TCP_MISS artinya object yg d request client anda diambilkan dari internet, bukan dari cache yg d miliki squid.
    Klo sampe 99% TCP_MISS nya, maka (salah satu) kesimpulan saya proxy anda sangat tidak efektif keberadaannya, karena tidak bs meng-cache dgn baik (masih mengambil semua object dari internet).
    Silakan di tune-up lagi konfig squid nya biar lebih optimal dalam melayani clientnya.

  14. sendy
    30 April 2012 at 4:43 am

    alhamdulilah udah ga miss 99% lagi,setelah comot sana n sini squid.conf nya…

    tp ada yg mau sy tnyain lg ni mas…

    kalo maksud dr CONNECT method itu apa ya ?

    diatas di jelaskan membuka port2 penting,maksudnya gmn ?

    makasih…

  15. 30 April 2012 at 10:47 am

    @Sendy : alhmdllh klo sdh ada efeknya..
    CONNECT maksutnya utk melakukan http-tunnel, utk lebih lengkapnya silakan googling aja. 😀
    *bingung jelaskan mode ON*

  16. sendy
    30 April 2012 at 11:09 pm

    okelah kalo begitu…

    makasih mas 😀

  17. dewa
    29 May 2012 at 2:38 am

    gendeng ente bro

  18. 29 May 2012 at 6:24 am

    disini gak ada yang gendeng, kecuali dewavicky@gmail.com.
    Sudah, ngaca dulu sana.
    Klo sudah bisa berkata2 yg baik, baru boleh comment lagi yaaa !!!

  19. 12 November 2012 at 6:23 pm

    “Mengatur letak dan ukuran direktori dimana squid menyimpan cache-nya”.

    cache_dir ufs /cache 100 16 256

    mas, sy minta tolong donk dijelasin yg diatas tu.
    diatas kan 100 mb, seandainya klo sy yiapin cache…. 9000 mb misalnya.
    apa kah 16 256 ikut juga seperti diatas? cache_dir ufs 9000 16 256

    terima kasih sebelumnya, maaf kalo pertanyaan sy kurang jelas

    *pertanyaan yg mengutip tulisan diatas sdh saya edit utk membenarkan kesalahan ketik*

  20. 13 November 2012 at 5:13 am

    iya benar, klo anda pake cache sebesar 9000MB maka bisa cukup ditulis seperti itu ataupun diganti / dituning sesuai kemampuan filesystem yg bersangkutan.

    cache_dir /cache 9000 16 256

    16 -> jumlah directory dibawah /cache, yaitu /cache/0, /cache/1, …, /cache/15
    256 -> jumlah directory dibawah /cache/0/0, /cache/0/1, …. /cache/15/255

    lebih lengkapnya silakan baca http://www.squid-cache.org/Doc/config/cache_dir/

  1. 15 August 2008 at 3:03 pm
  2. 2 January 2009 at 3:01 pm
  3. 16 January 2009 at 11:05 am
  4. 17 August 2009 at 4:55 pm
  5. 17 August 2009 at 5:01 pm
  6. 5 January 2011 at 12:07 pm
  7. 16 April 2012 at 7:58 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: