loading...

Kamis, 18 Januari 2018

Membuat proxy server transparent di ubuntu server 16.04 dengan menggunakan Squid


 


Persiapan:
Ubuntu server 16.04, dengan rincian sebagai berikut:
  1. Hostname: squidserver
  2. Username: blackside        Password: Welcome7
  3. IP Statik
    #nano /etc/network/interfaces
    # The primary network interface
    auto ens160
    iface ens160 inet static
    address 192.168.1.34
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
  4. Hapus repository bawaan dengan repository lokal, lakukan update dan upgrade setelah itu
    #nano /etc/apt/sources.list
    deb http://buaya.klas.or.id/ubuntu/ xenial main restricted universe multiverse
    deb http://buaya.klas.or.id/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://buaya.klas.or.id/ubuntu/ xenial-security main restricted universe multiverse
    deb http://buaya.klas.or.id/ubuntu/ xenial-backports main restricted universe multiverse
    deb http://buaya.klas.or.id/ubuntu/ xenial-proposed main restricted universe multiverse
    #apt update
    #apt upgrade -y
Instalasi squid:
 #apt install squid3 -y


Konfigurasi
Backup file konfigurasi bawaan squid
# cp /etc/squid/squid.conf /etc/squid/squid.conf_old

Hapus isi squid.conf bawaan dan isi dengan konfigurasi berikut:
#nano /etc/squid/squid.conf

##Network Options
http_port 3128 transparent


##Memory Cache Options
cache_mem 8 MB
cache_swap_low 98
cache_swap_high 99
max_filedesc 8192
maximum_object_size 1024 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 4 bytes

#Nilai caching di direktori /home/proxy
cache_dir aufs /home/proxy 100000 32 256

##DNS Server
dns_nameservers 8.8.8.8 8.8.4.4

##Rules:Safe Port
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 873 #https news rsync
acl Safe_ports port 80 #http
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports !SSL_ports
http_access deny CONNECT !SSL_ports !Safe_ports

##Membuka port yang dapat diakses client lewat proxy server
acl client src 192.168.1.0/24
http_access allow client
http_access deny all

Tambahan nat untuk redirect koneksi ke port 3128 di file /etc/rc.local
iptables -t nat -A PREROUTING -i ens160 -p tcp --dport 80 -j REDIRECT --to-port 3128

Uji Coba:
Pada client, gunakan gateway dengan alamat IP server squid.



Tips:
- Untuk melihat versi squid gunakan perintah : #squid -v
- Untuk melihat log, jalankan perintah #tail -f /var/log/squid/access.log
TCP_MISS 
Artinya data yang di request oleh client di ambil langsung dari server aslinya. 

TCP_HIT 
Artinya data yang di request oleh client di ambil dari server local atau mesin proxy anda.

TCP_MEM_*
Artinya data yang di request oleh client di ambil dari MEMORY (RAM) cache

Sumber : https://veesp.com/en/blog/how-to-setup-squid-on-ubuntu

Tidak ada komentar:

Posting Komentar