Sharing Knowledge Mr Wevils
Halaman ini sebagai sarana Sharing Knowledge Mr Wevils dibidang Open Source & Free Software terkhusus bahasan-bahasan mengenai GNU/Linux. Knowledge jika disimpan sendiri ngak akan menambah wawasan yang kita miliki. Semoga tulisan-tulisan dibawah ini memberi faedah buat yang membacanya terkhusus pribadi Mr Wevils yang sering lupa akan sesuatu hal.
update terakhir: Rabu, 23 Oktober 2013
Butuh Layanan GNU/Linux?
Mr Wevils menyediakan Layanan Support GNU/Linux untuk Anda!
    GNU/Linux Server Support
      - Linux Server Setup Package
      - Linux Server Maintenance

    Kelas Privat GNU/Linux
      - Kelas Privat Linux Desktop
      - Kelas Privat Linux Server

    Distributor CD Distro GNU/Linux
     Tersedia distro-distro dibawah ini.
      - Ubuntu      - Slackware      - Mandriva
      - CentOS     - Open SuSE     - PCLinux
      - Fedora

Pilih Distro Sesuai Selera
Distro akronim dari Distribusi GNU/Linux adalah gabungan sistem operasi  GNU/Linux beserta paket aplikasi lengkap yang dapat digunakan langsung.

Membuat Proxy Server Ubuntu 8.04
Rabu, 14 Desember 2011 | 10.18 wib

Taukan tentang proxy server? Pengen membuat proxy server? Gak usah minta orang profesional membuatnya, cukup ikuti referensi ini kemudian improvasi sesuai kebutuhan yakin proxy kamu bisa jalan dengan baik. Saya tidak membahas mendalam tentang proxy server, silahkan gunakan referensi lain untuk lebih memahami. Saya sarankan anda membaca pengantar squid diwebsite resminya. Secara teori proxy memiliki fungsi utama yaitu caching, filtering dan autentikasi (pembasan mengarah ke fungsi ini)

Dokumentasi ini saya tulis saat membuat proxy server menggunakan squid di mesin gateway berbasis ubuntu 8.04 dengan 2 ethernet card yaitu eth0 untuk koneksi internet dan eth1 untuk local network. Berikut cara yang saya lakukan.
Membuat Proxy Server Ubuntu 8.04 dengan squid
1. Install paket proxy ubuntu
root@geek:~# apt-get install squid
Pastikan tidak ada yang error saat proses instalasi. Jika belum terhubung dengan internet sebaiknya gunakan cd repository ubuntu. Tapi ingat untuk mengetest proxy berjalan dengan baik tetap butuh koneksi internet nantinya.

2. Konfigurasi squid proxy anda
- Jangan lupa untuk backup file konfigurasi orginal proxy
root@geek:~# cp /etc/squid/squid.conf /etc/squid/squid.conf.orig
- Buat swap directory proxy
root@geek:~# mkdir /data/proxy
- Atur Permission Directory
root@geek:~# chown proxy.proxy -R /data/proxy
chmod 750 -R /data/proxy

- Konfigurasi file squid.conf
root@geek:~# vim /etc/squid/squid.conf

http_port 8080
hierarchy_stoplist cgi-bin ?

cache_effective_user proxy
cache_effective_group proxy
cache_dir ufs /data/proxy 1000 16 256
access_log /var/log/squid/access.log squid
cache_mgr gue@wevils.com
visible_hostname www.wevils.com

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

acl intranet src 192.168.10.0/24
acl blokporno dstdomain "/etc/squid/blok-url.txt"
acl blokkeyword url_regex -i "/etc/squid/blok-keyword.txt"

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
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

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny blokporno
http_access deny blokkeyword
http_access allow intranet
http_access deny all
icp_access deny all

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid


Save lalu keluar

- Buat daftar situs yang diblok
root@geek:~# vim /etc/squid/blok-url.txt
www.yahoo.com

- Buat daftar keyword yang diblok
root@geek:~# vim /etc/squid/blok-keyword.txt
porn
sex

- Membuat swap directories
root@geek:~# squid -z
Perhatian :
- Menjalankan proxy di port 8080 dimana port proxy default 3128

3. Restart service squid
root@geek:~# /etc/init.d/squid restart

4. Testing di client
- Ubah setingan browser agar menggunakan proxy
Tools ~ Option ~ Tab Advance ~ Network
- Masukkan ip address proxy dan ingat port ke 8080
- Testing Browsing
www.yahoo.com
Jika Muncul Error Messeges seperti dibawah ini berarti proxy anda berjalan dengan baik.
ERROR
The requested URL could not be retrieved
Jika ingin lebih menyakinkan cek log squid proxy saat melakukan browsing di client
root@geek:~# tail -f /var/log/squid/access.log
Perhatikan proses yang berjalan.

5. Transparent proxy
Merupakan teknik menggunakan proxy server tanpa perlu setup ip proxy server dan port di setiap browser di client, inilah esensi dari kata transparent karena ip address dan port proxy tidak kelihatan di browser client. Teknik ini sangat mudah karena dengan ip forwading cukup meredirect request yang mengarah ke port 80 sebagai default port saat proses browsing terjadi. Port 80 cukup dialihkan ke port proxy yang kita gunakan yaitu 8080 maka semua koneksi di paksa melewati mesin proxy server yang kita buat.
- Tambahkan setingan transparent di squid.conf
http_port 8080 transparent
- Redirect port 80 (webserver) ke 8080 (proxy server)
Redirect semua request yang mengarah ke port 80 ke port proxy yang kita buat yaitu 8080. Kita menggunakan iptables
root@geek:~# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Pastikan ip forward di mesin proxy anda sudah aktif. Pastikan nilai 1 di file /proc/sys/net/ipv4/ip_forward. Jika belum harus di aktifkan karena akan percuma..
root@geek:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Berikut hasil rule yang baru saya masukkan