Setting Proxy Server with ACL and tranparent proxy
Cari bagian visible_hostname dan ubah opsi menjadi seperti berikut pada file konfigurasi /etc/squid/squid.conf agar service dapat berjalan.
visible_hostname smiert
Access Control List
Tambahkan baris berikut pada bagian bawah pada bagian ACL pada squid.conf
acl home_network src 192.168.0.0/24
acl business_hours time M T W H F 9:00-17:00
acl mornings time 08:00-12:00
Tambahkan baris berikut pada bagian atas pada bagian http_access pada squid.conf
http_access allow home_network business_hours mornings
Transparent Proxy
Tambahkan baris berikut pada bagian bawah file komfigurasi /etc/squid/squid.conf
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Jika Squid server dan firewall pada server yang sama, semua trafik HTTP dari network local di redirect ke firewall pada Squid port 3128 dan hanya firewall yang diizinkan mengakses Internet pada port 80.
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 \
-j REDIRECT --to-port 3128
# iptables -A INPUT -j ACCEPT -m state \
--state NEW,ESTABLISHED,RELATED -i eth1 -p tcp \
--dport 3128
# iptables -A OUTPUT -j ACCEPT -m state \
--state NEW,ESTABLISHED,RELATED -o eth0 -p tcp \
--dport 80
# iptables -A INPUT -j ACCEPT -m state \
--state ESTABLISHED,RELATED -i eth0 -p tcp \
--sport 80
# iptables -A OUTPUT -j ACCEPT -m state \
--state ESTABLISHED,RELATED -o eth1 -p tcp \
--sport 80
Jika Squid server dan firewall pada server yang berbeda, ada tiga koneksi :
• Dari Web browser client ke firewall
• Dari firewall ke Squid server
• Squid server ke Web
Squid server mendapatkan data dan me-reply ke firewall yang kemudian me-relay ke Web browser client.
# iptables -t nat -A PREROUTING -i eth1 -s ! 172.16.1.1 \
-p tcp --dport 80 -j DNAT --to 172.16.1.1:8080
# iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 \
-d 192.168.1.100 -j SNAT --to 192.168.1.1
# iptables -A FORWARD -s 192.168.1.0/24 -d 172.16.1.1 \
-i eth1 -o eth1 -m state
--state NEW,ESTABLISHED,RELATED \
-p tcp --dport 8080 -j ACCEPT
# iptables -A FORWARD -d 192.168.1.0/24 -s 172.16.1.1 \
-i eth1 -o eth1 -m state --state ESTABLISHED,RELATED \
-p tcp --sport 8080 -j ACCEPT
Agar service squid berjalan otomatis pada saat booting
# chkconfig squid on
Cara mengontrol service squid dengan
# /etc/init.d/squid { start | stop | status | restart | condrestart | configtest }