March 07, 2012

Utak-Atik-Otak Parent Proxy di Squid

Ini adalah catatan kecil tentang berbagi akses internet melewati sebuah proxy. Proxy yang disetup ini akan disuruh untuk melakukan parent proxy ke proxy lain yang punya konek internet. Requirement-nya adalah:
  1. IP yang di-hit client adalah 10.100.1.200 port 3128
  2. Melakukan parent proxy ke 10.10.10.10 dengan menggunakan IP 10.100.1.201
  3. Membolehkan akses dari client tertentu saja
  4. Untuk tujuan lokal tidak perlu melakukan parent proxy
Pertama yang harus dilakukan adalah menambahkan interface alias eth0.0 dengan IP 10.100.1.201
ifconfig eth0.0 10.100.1.201/24
Buat konfigurasi squid terpisah supaya gampang mengubah, menambah dan melakukan tuning. Anggap saja file konfigurasinya adalah /etc/squid3/lokal.config.

Suruh Squid listen di IP 10.100.1.200 port 3128
http_port 10.100.1.200:3128
Lalu suruh parent proxy ke 10.10.10.10 port 8080 menggunakan IP 10.100.1.201 saat request ke parent proxy.
cache_peer 10.10.10.10 parent 8080 0 no-query no-digest
tcp_outgoing_address 10.100.1.201
Permit IP yang boleh akses.
acl teman src 10.100.1.1 10.100.1.2 10.100.1.3
http_access allow teman
Suruh supaya direct access ke destination 10.0.0.0/8 dan selalu via parent (never direct) untuk yang lainnya.
acl local-servers dst 10.0.0.0/8
always_direct allow local-servers
never_direct allow all
Lalu konfigurasi ini di-include-kan ke file /etc/squid3/squid.conf
root@sandbox:/home/ardhyw# head /etc/squid3/squid.conf
include /etc/squid3/lokal.config