Kemarin saya mendapat tugas dari guru saya untuk membuat Proxy Server di Ubuntu 9.10 server. Sempat saya kebingungan dalam konfigurasinya, karena contoh yang di berikan tidak jelas, oleh karena itu buat anda yang ingin mengkonfigurasi Proxy Server di Ubuntu 9.10 Server bisa lihat langkah-langkah berikut.
Langkah instalasi :
1. Persiapkan komputer dengan minimal 2 ethernet card. eth0 dan eth1.
2. Operating sistem LINUX, di sini saya menggunakan ubuntu 9.10.
3. Setelah terinstall OS linux, langkah selanjutnya adalah update path repository untuk mendapatkan source terbaru.
root@andra:~#sudo apt-get update
Setelah itu Install Linux tersebut dengan minimal paket yang dibutuhkan adalah Squid, Postfix dan beberapa paket server linux.(jika belum ada program Squid dan postfix, unduh dahulu dengan mengetikan
root@andra:~#apt-get install squid
untuk mendapatkan Squid, sedangkan untuk mendapatkan Postfix kita ketikan
root@andra:~#apt-get install postfix .
4. Setelah Terinstall dengan baik coba lihat konfigurasi squid anda, ini adalah contoh konfigurasi squid saya, Anda boleh copy paste disini :
*perlu di ingat, sebelum anda mengedit file squid ini sebaiknya di copy dahulu, gunanya apabila script squid yang asli mengalami error bisa di gnakan lagi script yang asli.
root@andra:~# sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.asli
# batang-nevada.co.nr
(CARI DI BAWAH #squid normally listens to port 3128, kemudian ubah http_port 3128 menjadi)
http_port 192.168.1.254:8080 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY(CARI DI BAGIAN MEMORY CACHE OPTIONS)
cache_mem 16 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 2000 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 10 KB
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDS
Fauth_param basic children 5
auth_param basic realm
Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log squid
# BUAT DAFTAR KONEKSI ANDA DISINI
acl all src 0.0.0.0/0.0.0.0 (masukan ip jaringan yang akan di buat)
acl kabehbeh src 191.168.1.0/24
acl udanggoreng src 192.168.1.1-192.168.1.5
acl petiskangkung src 192.168.1.16-192.168.1.41
acl gembusrebus src 192.168.1.42-192.168.1.43
acl babyboy src 192.168.1.10
acl qutebebeh src 192.168.1.111
acl berli src 192.168.1.0/24
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
# BUAT WAKTU KONEKSI YANG INGIN ANDA ATUR DISINI
# INGAT WAKTU INI HARUS SESUAI DENGAN HARDWARE CLOCK (BIOS CLOCK)
acl pagi time MTWHF 07:45-18:30
acl siang time MTWHF 12:00-13:00
acl sore time MTWHF 15:15-17:00
acl sehari time MTWHF 07:00-19:00
#MTWHF artinya MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY kalo sabtu tambah S SATURDAY
#Recommended minimum configurasi :
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https, snews
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 Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
# TULIS KEBIJAKAN ANDA DISINI BISA FULL / JAM TERTENTU
http_access deny manager
http_access allow ndokasin
http_access allow kemah sehari
http_access allow selamat sore
http_access allow babybetina sehari
http_access allow andramaullana
http_access allow manager localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
#================konfigurasi client ================
acl admin src 192.168.1.104
http_access allow admin
#acl wides src 192.168.1.253
#http_access allow wides
acl blok-update url_regex -i "/etc/squid/blokir2.txt"
http_access deny blok-update
acl wides src 192.168.1.253
http_access allow wides
acl bahaya url_regex "/etc/squid/blokir1.txt"
acl aman url_regex "/etc/squid/tidakblokir.txt" (daftar alamat web tidak di isi, tidak masalah)
http_access allow aman
http_access deny bahaya
#--------------group sekolah-------------------------------
acl labtkjap src 192.168.40.0/27 # Lab TKJ dan Umum
acl labmulti src 192.168.20.0/24 # LAB Multimedia
acl kde src 192.168.1.45
http_access allow labtkjumum
http_access deny labmulti
http_access allow kde
#httpd_accel_port 80
#httpd_accel_host virtual
#httpd_accel_single_host off
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on
http_access allow localhost
http_reply_access allow all
visible_hostname server-batang-nevada.co.nr (SESUAIKAN DENGAN HOSTNAME ANDA)
cache_mgr admin@batang-nevada.co.nr
forwarded_for on
ie_refresh on
Membuat direktori squid
root@andra:~#mkdir /usr/local/squid
root@andra:~#mkdir /usr/local/squid/cache
root@andra:~#touch /usr/local/squid/cache.log
root@andra:~#touch /usr/local/squid/access.log
root@andra:~#sudo adduser squid
root@andra:~#chown -Rf squid.squid /usr/local/squid
root@andra:~#sudo chown squid.squid /var/spool/squid -Rf
root@andra:~#sudo chown squid.squid -Rf /etc/squid
6) Membuat struktur cache directory
root@andra:~#/etc/squid# squid -z
2009/05/19 05:19:49| Squid is already running! Process ID 4971
root@andra:~#/etc/squid# squid -d 1 -D
2009/05/19 05:20:55| Squid is already running! Process ID 4971
8) Menjalankan Squid
root@andra:~#/etc/squid# squid -sYD
2009/05/19 05:21:37| Squid is already running! Process ID 4971
9) Konfigurasi Squid sudah diaktifkan, jangan lupa restart squid
root@andra:~# /etc/rc.c/init.d/squid restart
(Saya Pake Mandrake, yang lain sesuaikan sendiri)
10) edit file /proc/sys/net/ipv4/ip_forward .
root@andra:~#echo “1” > /proc/sys/net/ipv4/ip_forward
11) lakukan POSTROUTING pada jaringan yang sudah anda buat.
root@andra:~#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
12) Jangan lupa konfigurasi ethernet addressnya yang eth1 dengan alamat lokal, yang eth0 dengan alamat public (jika ada) kalo adsl gunakan alamat yang sesuai dengan modem adslnya. Buat konfigurasi ipaddress dengan editor biasa
root@andra:~#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.254 (Sesuaikan dengan alamat jaringan anda)
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
buat juga untuk eth1 nya
root@andra:~# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes
(Sesuaikan dengan alamat public anda atau dengan alamat ADSL anda)
13) Ediit file /etc/resolve.conf
nameserver 202.134.0.155
(sesuaikan dengan dns provider anda , disini saya menggunakan provider dari telkom)
14) Untuk membaca log squid gunakan,
root@andra:~# tail -f /var/log/squid/access.log
1242725175.667 1212 192.168.15.253 TCP_MISS/302 898 GET http://www.google.com/search?q=install+squid+ubuntu&ie=utf-8&oe=utf-
8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a- DIRECT/74.125.19.147 text/html