Langkah Pertama :
Login ke Ubuntu server dengan user “root” menggunakan putty.
Lakukan Update dan install paket pendukung pada Ubuntu server:
#sudo -i
isikan password :
Download Squid installer lalu lakukan configure dan install, disini saya menggunakan squid versi 3.5.12, anda bisa lihat Disini untuk versi yang lain.
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:
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.
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
masukan scipt squid.cof :
- acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
- acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
- acl localnet src 192.168.1.0/24 # RFC1918 possible internal network
- acl localnet src fc00::/7 # RFC 4193 local private network range
- acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
- 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
- acl ipblacklist dst "/etc/squid/ipblacklist/ip-blacklist.txt"
acl noipblacklist dst "/etc/squid/noipblacklist/noip-blacklist.txt"
acl situsblacklist url_regex -i "/etc/squid/situsblacklist/situs-blacklist.txt"
http_access allow noipblacklist
http_access deny ipblacklist
http_access deny situsblacklist - http_access deny !Safe_ports
- http_access deny CONNECT !SSL_ports
- http_access allow localhost manager
- http_access deny manager
- http_access allow localnet
- http_access allow localhost
- http_access deny all
- http_port 3128
- # BAGIAN YANG PERLU DI SESUAIKAN
- # DISINI SAYA MENGGUNAKAN PARTISI /cache untuk cache_dir, jika nama partisi anda berbeda silahkan sesuaikan
- # UNTUK UKURAN cache_dir sesuaikan juga, disini yang mencontohkan 100gb,
- cache_mgr Administrator
- cache_dir aufs /cache 100000 100 256
- 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
- # END
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
cache_dir=`find_cache_dir cache_dir /var/spool/squid/cache`
cache_type=`find_cache_type cache_dir ufs`
#
# 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:
Sampai disini untuk langkah yang kedua selesai, tinggal ke langkah berikutnya
Langkah Ke Tiga :
Beri Permision pada beberapa file :
- Sekarang kita restart ubuntujika ubuntu sudah running kembali, silahkan login kembali putty nya.
- Terakhir adalah mengecek, apakah squid sudah berjalan atau belum, caranya lakukan perintah berikut dengan putty.
- 2. squid -k reconfigure
- jika tidak ada info error atau “no running service” maka sudah di pastikan squid anda sudah berjalan dengan baik.
Selamat, sekarang anda sudah berhasil install squid3 dengan mudah.
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:
Contoh log nya:
Jika menggunakan mikrotik :
Setting redirect ke proxy :
/ip firewall nat
add chain=dstnat comment="Redirect-Proxy" dst-port=80 protocol=tcp src-address=!192.168.1.89 action=redirect to-ports=3128
Setting bypass akses internet tanpa proxy :
/ip firewall nat
add chain=srcnat commet=bypass-proxy port=80 protocol=tcp src-address-list=!boleh action=accept
Membuat addresslist untuk bypass proxy :
ip firewall address-list add list=boleh | comment="Wifi KAM" address=192.168.1.4 |
ip firewall address-list add list=boleh | comment="Pak BS" address=192.168.1.7 |
ip firewall address-list add list=boleh | comment="Wifi MM" address=192.168.1.8 |
ip firewall address-list add list=boleh | comment="Wifi Meeting Direksi" address=192.168.1.9 |
ip firewall address-list add list=boleh | comment="Wifi Direksi" address=192.168.1.10 |
ip firewall address-list add list=boleh SUmber : https://dokter-squid.com/install-squid3/ | comment=Axell address=192.168.1.16 |
0 Response to "Membuat Proxy Server Ubuntu, Install Squid3 & Setting Mikrotik redirect proxy"
Post a Comment