Tutorial Installasi Ubuntu 9.10 + Squid Proxy Terbaru

Posted by

TUTORIAL INSTALL UBUNTU 9.10 + SQUID PROXY TERBARU


1. INSTALL SEPERTI BIASA UBUNTU 9.10



Tutorial Installasi Ubuntu 9.10

Ubuntu 9.10

Disini saya melakukan install langsung menggunakan CD Booting Ubuntu 9.10 (non server) . Untuk installasi ubuntu 9.10 ini saya rasa tidak terlalu sulit, karena penginstallan ubuntu ini hampir sama persis dengan penginstallan windows XP. Disini saya hanya menekankan mengenai pembagian harddisk. Bagilah hardisk anda 4 partisi. Contoh :
Harddisk 40GB Seagate IDE :
1. 500MB /boot /ext4 (untuk partisi boot 500MB dengan format extended-4)
2. 32GB /home /raiserFs (untuk partisi home 32GB tempat webproxy format raiser-FS)
3. 5GB /root /ext4 (untuk partisi root 5GB dengan format extended-4)
4. 2,5GB /swap (untuk partisi swap )

Saya juga membuat 2 buah Lan Card sebagai jalur keluar masuk data, yang mana lancard dengan nama ETH0 adalah lancard yang menuju Modem, dan lancard ETH1 menuju client.



2. LAKUKAN UPDATE UBUNTU DENGAN CARA :

   a. masuk ke dalam terminal consule ketik "sudo su" & masukkan password (mode root)
   b. ketik apt-get update (update cukup lama)
   c. setting IP ethernet ketik "pico /etc/network/interfaces"  dan tambahkan

auto eth0
iface eth0 inet dhcp (mode dhcp untuk eth0 yg terhubung ke modem speedy)

auto eth1
iface eth1 inet static (mode static ip untuk eth1 yg terhubung ke client)
address 192.168.0.1 (ip eth1, bila tidak sesuai silahkan di ganti)
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules
       (dua baris di akhir untuk menambahkan save & load otomatis untuk iptables.rules)


3. INSTALL DHCP SERVER PENTING UNTUK ETH1 YANG MENGARAH KE CLIENT
     a. mode consule ketik :
"apt-get install dhcp3-server"
     b. edit dengan
"pico /etc/dhcp3/dhcpd.conf"

     c. isi konfig dhcp3-server dengan ip eth1 anda & jangan lupa masukkan range ip-nya
     d. restart dengan perintah
/etc/init.d/dhcp3-server restart


4. INSTALL NTP AGAR USER & SERVER MEMILIKI WAKTU YG SAMA
    a. mode consule ketik :
"apt-get install ntp"
    b. /etc/init.d/ntp restart


5. MENGINSTALL ROUTING DAN NAT
    a. edit
"pico /etc/sysctl.conf"

    b. hapus "#" pada teks net.ip4.ip_forward=1 dan simpan
    c. pada mode consule (mode root) ketik :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128 (port proxy nantinya)
iptables -t nat -A PREROUTING -i -p udp -m udp --dport 80 -j REDIRECT --to-port 3128 (port proxy nantinya)

    f. simpan iptables dengan cara :
sh -c "iptables-save" > /etc/iptables.rules
    g. cek dengan pico /etc/iptables.rules (jangan sampai ada salah)



6. MENGINSTALL SQUID PROXY
    a. install gcc untuk keperluan squid :
apt-get install gcc

    b. wget : squid.cbn.net.id/pub/squid/squid-2.7.STABLE7.tar.gz << terserah pilih squid yg mana & dari alamat mana
    c. sesudah di download, extrak

"tar xzvf squid-2.7.STABLE7.tar.gz"

d. ke directory squid
"cd squid-2.7.STABLE7"

e. compile dengan perintah
./configure --prefix=/usr/local/squid --exec-prefix=/usr/local/squid --enable-delay-pools --enable-cache-digests --enable-poll --enable-linux-netfilter --enable-removal-policies --with-maxfd=8192 --enable-storeio=ufs,aufs,diskd,null --disable-wccp --enable-x-accelerator-vary --enable-kill-parent-hack --enable-async-io=8 --disable-ident-lookups

 f. tunggu sampe kelar lalu
"make && make install" untuk menginstall squid

g. karena di install tidak dari update (apt-get install squid) maka hasi install berada di "

/usr/local/squid"

maka kita akses directory tersebut :
"cd /usr/local/squid"


h. edit file "SQUID.CONF" konfigurasi squid,
"gedit /usr/local/squid/etc/squid.conf"
i. hapus semua isinya dan paste-kan isi yg dibawah


#-----------------------------------#
# Proxy Server Versi 2.7.Stable9
# by thelamerz@gmail.com
# update 04 Agustus 2010
#-----------------------------------#

#---------------------------------------------------------------#
# Port
#---------------------------------------------------------------#
http_port 3128 transparent <<< port transparant proxy
icp_port 3130
prefer_direct off

#---------------------------------------------------------------#
# Mengatasi Facebook Blank setelah login
#---------------------------------------------------------------#
server_http11 on


#---------------------------------------------------------------#
# Cache & Object
#---------------------------------------------------------------#
cache_mem 8 MB <<< memory jgn terlalu besar
cache_swap_low 98
cache_swap_high 99
max_filedesc 8192 maximum_object_size 20 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 128 KB
ipcache_size 8192
ipcache_low 98
ipcache_high 99
fqdncache_size 8192
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

#----------------------------------------------------------------#
# cache_dir >
#----------------------------------------------------------------#
cache_dir aufs /home/proxy1 10000 20 256
cache_dir aufs /home/proxy2 10000 20 256
(directory cache yg akan digunakan sebagai webproxy, gunakan HANYA 60% dari total keseluruhan harddsik yang tersisa, contoh saya gunakan 32GB tetapi saya hanya memakai 20GB untuk proxy. 10GB di folder proxy1, dan 10GB di folder proxy2)

cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none
pid_filename /var/run/squid.pid
cache_swap_log /var/log/squid/swap.state
dns_nameservers /etc/resolv.conf <<< juga bisa diganti DNS dari ISP anda
emulate_httpd_log off
hosts_file /etc/hosts
half_closed_clients
off negative_ttl 2 minutes

#---------------------------------------------------------------#
# Rules: Safe Port
#---------------------------------------------------------------#
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl lan src 192.168.1.0/24 <<< tambahkan IP jaringan LAN atau eth1
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
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 CONNECT method CONNECT

http_access allow manager localhost
http_access allow localhost
http_access allow lan
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !Safe_ports
http_reply_access allow
all icp_access allow all

#---------------------------------------------------------------#
# Refresh Pattern
#---------------------------------------------------------------#
#global refresh pattern
refresh_pattern -i \.(gif|png|jpg|jpeg|ico|tiff|tif|bmp)$ 10080 50% 43200 override-expire ignore-no-cache reload-into-ims
refresh_pattern -i \.(swf|rm|rmvb|avi|mpeg|mpg|flv|x-flv|mov|3gp)$ 43200 70% 432000 override-expire ignore-no-cache
refresh_pattern -i \.(wav|mp3|mp4|au|mid)$ 10080 50% 43200 override-expire ignore-no-cache
refresh_pattern -i \.(deb|rpm|exe|ram|bin|pdf|ppt|doc|docx|txt)$ 10080 85% 43200 override-expire ignore-no-cache ignore-auth
refresh_pattern -i \.(zip|gz|arj|lha|lzh|tar|tgz|cab|rar|iso|tar|cab)$ 10080 75% 43200 override-expire ignore-no-cache ignore-auth
refresh_pattern -i \.(css|js|html|htm|php|asp|aspx|cgi|xml) 10080 100% 43200 override-expire ignore-no-cache

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320


#---------------------------------------------------------------#
# Cache CGI & Administrative
#---------------------------------------------------------------#
cache_mgr thelamerz@gmail.com
visible_hostname black.proxy.net
cache_effective_user proxy
cache_effective_group proxy
coredump_dir /var/spool/squid
shutdown_lifetime 10 seconds
logfile_rotate 12


#-----------------------------------------------------------------#
#tcp_outgoing_tos 0x30 localnet
#-----------------------------------------------------------------#
zph_mode tos
zph_local 0x30
zph_parent 0
zph_option 136

 #------ END OF SQUID.CONF------#



j. setelah semuanya diganti diatas, maka buatlah directory yg belum ada seperti : 
/home/proxy ( directory cache proxy nantinya)
/var/log/squid/ ( directory log dari squid )
/var/spool/squid/ ( directory spool dari squid )

k. beri izin kepada masing2 directory diatas :
chown -R proxy.(nama user | contoh black ) /home/proxy
chown -R proxy.black /var/log/squid
chown -R proxy.black /var/spool/squid

l. setelah memberikan izin, membuat swap directory cache, dan mencek error
/usr/local/squid/sbin/squid -z
/usr/local/squid/sbin/squid -NDd1


m. bila tidak ada error lalu edit (gedit /etc/rc.local) dan tambahkan "/usr/local/squid/sbin/squid" kedalam barisan tersebut.

n. bila telah usai, silakan restart CPU anda



7.MENGINSTALL TOOL MONITORING GRAPHIC
Ok langsung aja deh, pada Ubuntu 9.10 LTS.dan pastikan anda berada posisi Root atau Super User.
Kebutuhan yang diperlukan
* Apache
* Perl
* Perl-GD

Pertama2 pastikan anda mempunyai tool Perl dan Perl-GD, tapi biasanya sudah tersedia, tapi untuk Perl-GD harus kita install-kan dulu. Caranya adalah sebagai berikut :
"apt-get install libgd-gd2-perl

OK kita langsung deh eksekusi masuk pada directori Temporary :
"cd /tmp"

Langsung kita sedot Source Squid-Graph
"wget http://biznetnetworks.dl.sourceforge.net/project/squid-graph/squid-graph/3.2/squid-graph-3.2.tar.gz"

Setelah sudah terdownload, langsung kita ekstrak yang kita sedot tadi...
"tar xzvf squid-graph-3.2.tar.gz -C /etc/init.d/"

biar bisa di eksekusi gunakan perintah ini
"chmod +x /etc/init.d/squid-graph/* "

kita buatkan directory untuk HTML-nya
"cd /var/www"
"mkdir squid-graph"

masuk ke directorynya
"cd /etc/init.d/squid-graph"

kita coba eksekusi deh
"./squid-graph --tcp-only -n -o=/var/www/squid-graph/ --title="proxy" < /var/log/squid/access.log"

setelah setelah eksekusi buka di browser dengan alamat sebagai berikut :

"http://IPubuntu/squid-graph"

Sekarang kita buatkan Cronjob-nya biar langsung Update sesuai kebutuhan kita, ane ilustrasikan untuk setiap 5 menit sekali update. Caranya adalah sebagai berikut:

"crontab -e"

Sesuaikan pilihan editor anda: dan kasih tambahkan kode ini
"*/5 * * * * /etc/init.d/squid-graph/squid-graph --tcp-only -n -o=/var/www/squid-graph/"

dan bila telah usai silakan akses CPU anda (modem harus bridge) dari browser dengan memasukkan IP publik seperi contoh diatas


8. MEMBUAT PPPOE DARI UBUNTU, UNTUK MENGUBAH MODEM MENJADI BRIDGE
a. ubah modem menjadi bridge
b. masuk consule (sebagai root) ketik "pppoeconf"
c. ikuti langkah pppoe konfigurasi (mudah kok)



Credit :
Thank's to http://www.forummikrotik.com

Nb :
Tutorial diatas, harus anda praktekan langsung bila ingin router + squid anda jalan, terutama bagian SQUID.CONF bila anda hanya copy paste, saya jamin tidak akan jalan.

Update:
Squid Proxy terbaru dengan Lusca Head


Demo Blog NJW V2 Updated at: 10/15/2011 08:51:00 AM

5 komentar:

  1. mas, mana yang lebih bagus versi ini atau 10.04 .... setingan sama aja ya??? .. apa bedanya ???

    ReplyDelete
  2. Kalau untuk settingannya sama aja baik menggunakan ubuntu 9.10, maupun 10.04. Namun saya sarankan untuk menggunakan ubuntu versi 10.04, karena ubuntu 10.04 emang dibuat sebagai server, sementara ubuntu 9.10 ada yang versi server ada juga yang versi desktop.

    ReplyDelete
  3. setelah saya jalankan squid terjadi error begini

    root@squid:/home/trend# squid -z
    2011/03/27 17:15:10| parseConfigFile: squid.conf:52 unrecognized: 'off'
    2011/03/27 17:15:10| squid.conf line 82: http_reply_access allow
    2011/03/27 17:15:10| aclParseAccessLine: Access line contains no ACL's, skipping
    2011/03/27 17:15:10| parseConfigFile: squid.conf:83 unrecognized: 'all'
    2011/03/27 17:15:10| parseConfigFile: squid.conf:120 unrecognized: ' #------'
    2011/03/27 17:15:10| Squid is already running! Process ID 1081

    kira2 apanya ya gan.
    terima kasih sebelumnya.

    ReplyDelete
  4. 2011/03/27 17:15:10| Squid is already running! Process ID 1081

    Squidnya udah jalan mas, tuh udah saya paste diatas. Jadi pemahamannya saat membuat swap directory dengan perintah "squid -z" squid proxy harus dalam keadaan tidak jalan terlebih dahulu.

    ReplyDelete
  5. Mantap Om tp Buat ane bingung

    ReplyDelete

Saling Berbagi