Konfigurasi default untuk Squid Proxy
SquidProxy standar dengan konfigurasi berikut yang dapat diubah dengan mudah:
- Port proxy default ke 3128.
- Hostname adalah SquidProxy.
- Kontrol akses diatur untuk mengizinkan 10.0.0.0/8. Ini dapat diubah/ditambah untuk mengizinkan jaringan yang ada di tempat Anda.
- Tweak pengoptimalan telah dibuat untuk membuat server bekerja lebih cepat.
Optimasi Squid Proxy Server
Kami telah sedikit mengkonfigurasi file Squid (squid.conf) dan mensetup untuk performa tinggi dengan tweak berikut yang dapat disesuaikan. (Catatan: bisa berbeda performa, karena masing-masing infrastruktur jaringan berbeda-beda)
hosts_file /etc/hosts
cache_replacement_policy heap LFUDA
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 50 KB
cache_dir aufs /var/spool/squid 3000 16 256
cache_mem 100 MB
logfile_rotate 10
memory_pools off
maximum_object_size 50 MB
quick_abort_min 0 KB
quick_abort_max 0 KB
log_icp_queries off
client_db off
buffered_logs on
half_closed_clients off.
Kami juga menambahkan refresh_patterns berikut untuk mempercepat browsing dari jenis file media umum yang akan di-cache:
cache_dir ufs /var/spool/squid 3000 16 256
refresh_pattern -i \.(gir|png|jpg|jpeg|ico)$ 3600 90% 43200 refresh_pattern -i \.(3gp|7z|ace|asx|avi|bin|cab|dat|deb|divx|dvr-ms) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern -i \.(rar|jar|gz|tgz|bz2|iso|m1v|m2(v|p)|mo(d|v)) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf|css|js) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern -i \.(mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p)|og(x|v|a|g)|rar|rm|r(a|p)m|snd|vob|wav) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern -i \.(pp(s|t)|wax|wm(a|v)|wmx|wpl|zip|cb(r|z|t)) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern windowsupdate.com/.*\.(cab|exe) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern update.microsoft.com/.*\.(cab|exe) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern download.microsoft.com/.*\.(cab|exe) 10800 80% 10800 ignore-no-cache ignore-private override-expire override-lastmod reload-into-ims refresh_pattern ^http://.googlesyndication.*/.* 720 100% 4320 refresh_pattern ^http://*.google.*/.* 720 100% 4320 refresh_pattern -i \.htm 120 50% 10080 reload-into-ims refresh_pattern -i \.html 120 50% 10080 reload-into-ims
Proses Instalasi SquidProxy
Sebelum memulai, selalu disarankan untuk memperbarui sistem Anda dengan paket terbaru.
apt update -y apt upgrade -y
Untuk menggunakan Squid sebagai proksi transparan, Anda harus mengaktifkan penerusan IP di server Anda. Aktifkan dengan mengedit file sysctl.conf.
nano /etc/sysctl.conf
Uncomment pada baris berikut:
net.ipv4.ip_forward = 1
Simpan file kemudian jalankan perintah berikut untuk mengimplementasikan perubahan.
sysctl -p
Installing SquidProxy
apt install squid -y systemctl start squid systemctl enable squid systemctl status squid
Squid Proxy ACL – Access Control List
sudo nano /etc/squid/squid.conf
# Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing # should be allowed acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN) acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN) acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN) acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN) acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN) acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
# Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed http_access allow localnet http_access allow localhost # And finally deny all other access to this proxy http_access deny all
service squid restart
Ubah alamat email admin squid
Opsi ini mengirimkan email ke administrator ketika Squid mengalami masalah. Sangat berguna untuk memantau kesehatan server Anda.
# ADMINISTRATIVE PARAMETERS # ----------------------------------------------------------------------------- # TAG: cache_mgr # Email-address of local cache manager who will receive # mail if the cache dies. The default is "webmaster". #Default: # cache_mgr webmaster cache_mgr [email protected]
Change the proxy listener port
Jika Anda ingin mengubah port default 3128 ke port lain, atau menambahkan dan port tambahan cukup buka file squid.conf melalui editor nano seperti yang ditunjukkan pada langkah sebelumnya dan cari – http_port 3128 dan ganti dengan port yang Anda inginkan.
# Squid normally listens to port 3128 http_port 3128 http_port 1337 http_port 1338
Change the proxy hostname
Untuk mengubah nama host yang akan dilihat pengguna di halaman kesalahan proxy, cukup lakukan pencarian untuk visible_hostname di dalam file squid.conf dan ganti dengan nama host yang Anda inginkan.
Nama host default adalah SquidProxy, cukup ganti dengan nama baru Anda.
# TAG: visible_hostname # If you want to present a special hostname in error messages, etc, # define this. Otherwise, the return value of gethostname() # will be used. If you have multiple caches in a cluster and # get errors about IP-forwarding you must set them to have individual # names with this setting. #Default: # Automatically detect the system host name visible_hostname SquidProxy
Block Website
Melakukan block website menggunakan squid bisa dengan membuat file ACL supaya bisa dilakukan blocking.
nano /etc/squid/conf.d/blocked.conf
Contoh melakukan block semua akses facebook.com & semua akses ke youtube.com, maka bisa diisi dengan text berikut:
acl block_websites dstdomain .facebook.com .youtube.com http_access deny block_websites
Jangan lupa jika sudah melakukan perubahan dan akan langsung menerapkan maka untuk me-restart service
service squid restart
Terimakasih Semoga membantu Anda