Beruflich Dokumente
Kultur Dokumente
#sudo -i
isikan password :
1 apt-get update
2 apt-get install devscripts -y
Download Squid installer lalu lakukan configure dan install, disini saya menggunakan squid versi 3.5.12, anda
bisa lihat Disini untuk versi yang lain.
wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.12.tar.gz
1 tar zxvf squid-3.5.12.tar.gz
2 cd squid-3.5.12
3 ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib/s
4 localstatedir=/var --libdir=/usr/lib --with-default-user=proxy --with-logdir=/var/log/s
5 pidfile=/var/run/squid.pid
sudo make && make install
Sampai disini langkah pertama selesai, jika saat Instalasi tidak terjadi error maka dipastikan squid anda sudah
terinstall dengan benar. Untuk cek squid versi yang terinstall anda bisa melakukan perintah berikut pada putty:
1 squid -v
Langkah Ke Dua :
Masukan Script di bawah ini pada file “squid.conf” yang ada di directory “/etc/squid/squid.conf”, namun
sebelum anda masukan terlebih dulu anda edit baris yang sudah saya kasih komentar.
Copy script di bawah ini lalu pastekan ke dalam notepad++ terlebih dulu dan edit yang sudah saya kasih
komentar, lalu buka file squid.conf yang ada di “/etc/squid/squid.conf” menggunakan “winscp” lalu hapus
isinya kemudian masukan script yang ada di notepad++ , kemudian simpan.
Warning!! jangan sampai salah ketika anda edit dan memasukan “squid.conf” salah sedikit dapat
mengakibatkan squid tidak bisa berjalan.
Setting Squid.conf
# nano /etc/squid/squid.conf
Agar Squid Berjalan secara otomatis ketika komputer ubuntu-server di restart, maka kita butuh scrip untuk
menjalankan proses tersebut. Pertama yang kita lakukan adalah membuat file bernama “squid” dan
menyimpannya pada directory “/etc/init.d/”. berikut cara membuatnya dan lakukan perintahnya dengan putty
1 touch /etc/init.d/squid
Sekarang buka file tersebut menggukan winscp yang ada di directory “/etc/init.d/squid” lalu copy script di
bawah ini kemudian masukan scriptnya pada file tersebut.
#! /bin/sh
#
# squid32012 Startup script for the SQUID HTTP proxy-cache.
#
# Version: @(#)squid3.rc 1.0 07-Jul-2006 luigi@debian.org
#
### BEGIN INIT INFO
# Provides: Squid 3.X
# File-Location: /etc/init.d/squid3
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Squid HTTP Proxy version 3.2.0.12
### END INIT INFO
NAME="By www.dokter-squid.com"
DESC="HTTP/HTTPS Proxy"
DAEMON=/usr/sbin/squid
PIDFILE=/var/run/$NAME.pid
CONFIG=/etc/squid/squid.conf
SQUID_ARGS="-YC -f $CONFIG"
# RAMFS=/scripts/ramcache
[ ! -f /etc/default/squid ] || . /etc/default/squid
. /lib/lsb/init-functions
PATH=/bin:/usr/bin:/sbin:/usr/sbin
[ -x $DAEMON ] || exit 0
ulimit -n 65535
find_cache_dir () {
w=" " # space tab
res=`sed -ne '
s/^'$1'['"$w"']\+[^'"$w"']\+['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
t end;
d;
:end q' < $CONFIG`
[ -n "$res" ] || res=$2
echo "$res"
}
find_cache_type () {
w=" " # space tab
res=`sed -ne '
s/^'$1'['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
t end;
d;
:end q' < $CONFIG`
[ -n "$res" ] || res=$2
echo "$res"
}
start () {
# $RAMFS clean
# $RAMFS mount
# $RAMFS restore
#
# Create spool dirs if they don't exist.
#
if [ "$cache_type" = "coss" -a -d "$cache_dir" -a ! -f "$cache_dir/stripe" ] || [ "$cache_type" != "coss" -a -
d"$cache_dir" -a ! -d "$cache_dir/00" ]
then
log_warning_msg "Creating $DESC cache structure"
$DAEMON -z
fi
umask 027
ulimit -n 65535
cd $cache_dir
start-stop-daemon --quiet --start \
--pidfile $PIDFILE \
--exec $DAEMON -- $SQUID_ARGS < /dev/null
return $?
}
stop () {
PID=`cat $PIDFILE 2>/dev/null`
start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
#
# Now we have to wait until squid has _really_ stopped.
#
sleep 2
if test -n "$PID" && kill -0 $PID 2>/dev/null
then
log_action_begin_msg " Waiting"
cnt=0
while kill -0 $PID 2>/dev/null
do
cnt=`expr $cnt + 1`
if [ $cnt -gt 24 ]
then
log_action_end_msg 1
return 1
fi
sleep 5
log_action_cont_msg ""
done
log_action_end_msg 0
return 0
else
return 0
fi
}
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
if start ; then
log_end_msg $?
else
log_end_msg $?
fi
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
if stop ; then
log_end_msg $?
else
log_end_msg $?
fi
# $RAMFS dump
# $RAMFS umount
# $RAMFS clean
;;
reload|force-reload)
log_action_msg "Reloading $DESC configuration files"
start-stop-daemon --stop --signal 1 \
--pidfile $PIDFILE --quiet --exec $DAEMON
log_action_end_msg 0
;;
restart)
log_daemon_msg "Restarting $DESC" "$NAME"
stop
if start ; then
log_end_msg $?
else
log_end_msg $?
fi
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart}"
exit 3
;;
esac
exit 0
# END
Lakukan perintah di bawah ini menggunakan putty, bertujuan agar file “squid” yang tadi kita buat bisa di
proses secara default:
1 chmod 755 /etc/init.d/squid
2 update-rc.d squid defaults
Sampai disini untuk langkah yang kedua selesai, tinggal ke langkah berikutnya
Langkah Ke Tiga :
Beri Permision pada beberapa file :
1 chown -R proxy:proxy /var/log/squid
2 mkdir /cache
3 chown-R proxy:proxy /cache
chmod 777 /cache
Membuat directory cache
1 squid -z
langsung tekan [enter] jika saat bikin directory selesai, ciri-cirinya sudah tidak ada gerakan.
Sekarang kita test squid yang barusan kita install. karna proxy yang barusan kita buat
belum bisa transparant, maka untuk meneruskan traffic http ke proxy kita harus setting
manual di browser. caranya sangat mudah, saya contohkan pada browser firefox lihat
gambar berikut:
Untuk melihat log lewat putty, caranya lakukan perintah berikut:
Terobosan….:
1. Set interface:
/interface set 0 name=public \
;/interface set 1 name=local \
;/interface set 2 name=proxy
/ip firewall nat add action=dst-nat chain=dstnat comment="REDIRECT KE PROXY" disabled=no dst-
port=80,8080,3128 in-interface=local protocol=tcp src-address=!192.168.3.0/24 to-
addresses=192.168.3.2 to-ports=3128
8. Selanjutnya Firwall layer7,yang nanti nya untuk limit .exe .zip .rar dll:
/ip firewall layer7-protocol add name=YOUTUBE regexp="http/(0\\.9|1\\.0|1\\.1)[\\x09-\\x0d ][1-5][0-9][0\
-9][\\x09-\\x0d -~]*(content-type: video)"
9. Selanjutanya Mangle…….
A. Mangle Suid Hit:
L. Mangle Paket client (sesuaikan Ip addressnya dengan ip address client jaringan anda):
C. Queue Limit Extention prioritas ke 3 (jika anda ingin melimit yang berbeda silahkan ubah max-
limitnya):