Friday, May 3, 2013

Install Ubuntu 12.04 ( LTS ) dan Squid Lusca 14942

Spec PC untuk Ubuntu Server

Hdd = 250 GB
Memory = 2 GB
Lan Card = 2 buah

Ikuti Langkah instal disini install-dan-setting-proxy-ubuntu-server sampai dengan langkah no 35, Pada local zone ( bukan time zone ) pilih united states karna jika kita pilih US squid3 akan diinstall. Kalau pilih Indonesia squid 2.7 yg akan diinstall. Lalu pada bagian mengisi ip address, ubah isi addressnya dengan 192.168.1.200. Netmask, gateway dan dns tetap sama.
Setelah itu login ke ubuntu server dengan putty

Isi ip address di putty 192.168.1.200 trus klik open

#login as proxyku
#password : proxyku
#sudo passwd
# enter new UNIX password isi dg proxyku (enter)
# retype new UNIX password isi proxyku (enter)
#su -
#passwd : proxyku ( password yang baru kita bikin untuk root tadi diatas )

Install Paket yg di butuhkan :

sudo apt-get update  (enter)
sudo apt-get install squid (enter)
sudo apt-get install squid squidclient squid-cgi (enter)
sudo apt-get install gcc (enter)
sudo apt-get install build-essential (enter)
sudo apt-get install sharutils (enter)
sudo apt-get install ccze (enter)
sudo apt-get install libzip-dev (enter)
sudo apt-get install automake1.9 (enter)
sudo apt-get install multitail (enter)
sudo apt-get install acpid (enter) ( agar proses shutdown bisa dilakukan dgn menekan tombol power dipc )
sudo  apt-get install libfile-readbackwards-perl

Kemudian kita remove squid3 karna kita akan menginstall lusca head 14942

apt-get purge squid3 &&
apt-get autoremove

Kemudian download deb-htproxy

Untuk Ubuntu 32 bit
http://arbinet-squid.googlecode.com/files/deb-htproxy_14942_i386.tar.bz2

Untuk Ubuntu 64 bit
http://arbinet-squid.googlecode.com/files/deb-htproxy_14942_x86-64.tar.bz2

Disini saya menggunakan Ubuntu 64 bit karna saya menggunakan processor AMD 64 bit

wget http://arbinet-squid.googlecode.com/files/deb-htproxy_14942_x86-64.tar.bz2 &&
tar xvf deb-htproxy_14942_x86-64.tar.bz2 &&
dpkg -i *.deb

#copy  dan rename etc/squid jadi /etc/squid-lawas dan kemudian meremove /etc/squid :

cp -Rf /etc/squid /etc/squid-lawas &&
rm -rf /etc/squid && rm -f /usr/sbin/squid

#Kemudian kita download lusca head 14942 :

wget  http://arbinet-squid.googlecode.com/files/LUSCA_HEAD-r14942.tar.gz &&
tar -xvzf LUSCA_HEAD-r14942.tar.gz &&
cd LUSCA_HEAD-r14942/

#download patch lusca dan langsung kita patch

wget  http://arbinet-squid.googlecode.com/files/LUSCA_HEAD-patch.tar.gz &&
tar -xvzf LUSCA_HEAD-patch.tar.gz &&
patch -p0 < 3xx-loop.diff &&
patch -p0 < async-issue.diff &&
patch -p0 < http-gzip.diff &&
patch -p0 < ignore-must-revalidate.diff &&
patch -p0 < improve-nn-parser.diff &&
patch -p0 < lusca-vary.diff &&
patch -p0 < segmentation-fault.diff

Lalu kita compile luscanya : ( compile untuk amd64 )

./configure --build=x86_64-linux-gnu --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin  --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid  --localstatedir=/var/spool/squid  --datadir=/usr/share/squid --enable-async-io --enable-epoll --enable-removal-policies=lru,heap  --with-aio --with-dl --enable-snmp --enable-delay-pools  --enable-htcp  --enable-cache-digests  --disable-unlinkd --enable-large-cache-files  --with-large-files --with-pthreads  --enable-storeio=aufs --enable-linux-netfilter --enable-arp-acl --enable-referer-log --enable-stacktraces --enable-truncate  --enable-http-violations --enable-follow-x-forwarded-for --disable-linux-tproxy --disable-ssl --disable-select --disable-poll --disable-dependency-tracking  --disable-auth --disable-ident-lookups --disable-wccp --disable-wccpv2  --enable-err-languages=English --enable-default-err-language=English  --with-maxfd=65535

( compile untuk  i386 )
./configure --build=i386-linux-gnu --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin  --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid  --localstatedir=/var/spool/squid  --datadir=/usr/share/squid --enable-async-io --enable-epoll --enable-removal-policies=lru,heap  --with-aio --with-dl --enable-snmp --enable-delay-pools  --enable-htcp  --enable-cache-digests  --disable-unlinkd --enable-large-cache-files  --with-large-files --with-pthreads  --enable-storeio=aufs --enable-linux-netfilter --enable-arp-acl --enable-referer-log --enable-stacktraces --enable-truncate  --enable-http-violations --enable-follow-x-forwarded-for --disable-linux-tproxy --disable-ssl --disable-select --disable-poll --disable-dependency-tracking  --disable-auth --disable-ident-lookups --disable-wccp --disable-wccpv2  --enable-err-languages=English --enable-default-err-language=English  --with-maxfd=65535

#kita install lusca

make &&
make install

#Stop squid

/etc/init.d/squid stop

Download file ini dengan mozilla http://arbinet-squid.googlecode.com/files/squid%20conf.rar
Lalu extract isinya dan jalankan  winscp, login ke ubuntu isi ip address 192.168.1.200 dan isi username root dan password proxyku
copy file di folder "paste ke etc-squid" ke etc/squid yaitu squid.conf ,refresh.conf, squid.conf.pl dan storeurl.pl
Edit line2 berikut :

cache_dir aufs /cache 200000 191 256  

Ket :
200000 adalah besar harddisk yang kita alokasikan untuk cache( sebaiknya 80% dari hdd total = 80% x 250 GB = 200 GB )
192 adalah L1 (numeric) yaitu jumlah directory yang akan di buat di dalam directory /cache ketika perintah #squid -f /etc/squid/squid.conf -z di eksekusi
cara mencarinya dengan rumus

((( x / y ) / 256 ) / 256 ) * 2 ≈ L1

x = besarnya disk cache yang akan di gunakan, satuannya adalah Kb (200 GB = 200.000.000 KB)
y = jumlah rata-rata object biasanya bernilai 32Kb
256 adalah L2 (numeric)yaitu jumlah directory yang akan di buat di dalam masing-masing directory L1 ketika perintah #squid -f /etc/squid/squid.conf -z di eksekusi
misalkan besarnya cache disk adalah 200 GB maka:

(((200.000.000/32)/256)/256)*2 ≈ 190.73486328125 lalu kita bulatkan keatas menjadi = 191

Setelah selesai jangan lupa save.

Kembali ke putty , jalankan perintah berikut :

sudo chmod +x /etc/init.d/squid
sudo chmod +x /etc/squid/storeurl.pl
chown proxy:proxy /cache
chmod 777 /cache
chown proxy:proxy /etc/squid/squid.conf
chmod 777 /etc/squid/squid.conf
chown proxy:proxy /etc/squid/storeurl.pl
chmod 777 /etc/squid/storeurl.pl
chown proxy:proxy /etc/squid/refresh.conf
chmod 777 /etc/squid/refresh.conf

#Kemudian cek configurasi untuk melihat error . dgn mengetikkan perintah berikut :

Squid -k parse
squid -k reconfigure

#Jika tidak ada error berarti bisa lanjut kelangkah berikut. Jika ada, edit command yang error tersebut di squid.conf

#Membuat folder-folder swap/cache di dalam folder cache yang telah ditentukan dg perintah :

squid -f /etc/squid/squid.conf -z

Restart squid dengan perintah :

#/etc/init.d/squid restart
#squid -NDd1 &&

reboot

Cek apakah squid sudah jalan:
# netstat -pln

Cek service apakah sudah jalan:
# netstat -pln |grep squid

cek access
#tail -f /var/log/squid/access.log | ccze

Langkah terakhir kita set ip address untuk  lan card kedua yaitu eth1
Login ke ubuntu dgn winscp , kemudian masuk ke /etc/network/ dan klik interfaces. Kita edit isinya :

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.1.200
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 203.130.193.74 202.134.1.10 202.134.0.155

auto eth1
iface eth1 inet static
    address 192.168.2.200
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.255

Lalu save.

Untuk membuatnya transparent ( tanpa mengisikan ip proxy di browser ) kita perlu menyetting iptable di file /etc/rc.local
 Ketik perintah :
- nano /etc/rc.local (enter)
tambahkan code2 berikut sebelum exit 0

 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 -j MASQUERADE

 iptables --table nat -A PREROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports   3128

Tekan CTRL dan O ( enter) kemudian CTRL dan X ( enter)

Lalu reboot.

5 comments:

  1. mas pas copy paste patch lusca minta konfirmasi [n]? itu ketiknya apa

    ReplyDelete
  2. mas kenapa lusca nya selelu gagal, pas mau cek configurasi selalu ada jawaban squid abnormal dan apas patch lusca selalu ada pertanyaan [n]

    ReplyDelete
  3. itu tandanya luscanya udah di patch ...

    ReplyDelete
  4. topologinya seperti apa gan kalo dengan mikrotik untuk hotspot

    ReplyDelete