Membuat Proxy Server Dengan Smoothwall

In Linux, Mikrotik, Tutorial

Pembuatan proxy server menggunakan Smoothwall ini berawal karena ada 1 unit pc nganggur yang kebetulan agak jadul dengan spek P4, ram 1gb, dan hdd ata 80gb.

Dengan pertimbangan low spek tadi jadi tidak mungkin diberi OS linux terbaru distro apapun karena jatuhnya pasti akan cukup boros dengan space hdd dan RAM-nya apalagi digunakan untuk proxy server nantinya.

Supaya agak ampuh (*ciiee) proxy server ini nantinya akan dikombinasikan dengan MIkrotik, selain untuk manajemen bandwidth dan memaksimalkan fungsi proxy server itu sendiri.

Ok, langsung aja dengan langkah2 instalasi proxy server dengan Smoothwall, aku harap dengan tampilan gambar semuanya akan lebih jelas :

Pastikan beberapa software berikut sudah Anda miliki :

  1. Smoothwall ISO, dapat didonlot disini
  2. Putty, dapat didonlot disini
  3. Winscp, dapat didonlot disini
  4. Advanced Proxy (advproxy), dapat didonlot disini
  5. Urlfilter, dapat didonlot disini
  6. Calamaris Webproxy report, dapat didonlot disini

Sebelum melakukan install Smoothwall, pastikan ada 2 ethernet yang terpasang pada pc server tersebut.

Topologi jaringan :

 

Langkah-langkah instalasi Smoothwall :

 

 

Pilih RED + GREEN, dimana RED adalah ether menuju Modem dan tidak terpakai karena nantinya hanya menggunakan ether GREEN saja.

 

 

Pilih PROBE, untuk melakukan cek lancard secara otomatis.

 

 

Isi dengan IP Address dengan subnet yang sama dengan IP Ether MIkrotik yang mengarah ke proxy server. IP Address GREEN dan RED harus dalam 1 subnet, meskipun nanti yang akan lebih banyak digunakan adalah IP Address dari GREEN.

 

Isikan dengan gateway dan dns MIkrotik yang ke arah proxy server.

 

Sampai pada tahap ini instalasi dasar Smoothwall sudah selesai, sekarang tinggal melakukan install Advanced Proxy, URL Filter dan Calamaris Report.

Setting Smoothwall …..

Untuk membuka Smoothwall cukup menggunakan http://smoothwall_ipaddress:81 

 

Jangan lupa aktifkan port 222, supaya Smoothwall dapat dimonitor menggunakan putty. Port yang digunakan oleh Smoothwall adalah 222 bukan 22 seperti pada Linux umumnya.

 

 

Setelah itu lakukan update pada Security Smoothwall

 

Install Smoothwall Addons

1. Install Advance Proxy

Masukkan file advproxy yang dalam format .tar.gz ke dalam proxy server Smoothwall dengan menggunakan WINSCP.

Setelah itu, diekstrak dengan menggunakan perintah :

tar -zxvf swe3-nn-advproxy-version.tar.gz

setelah berhasil diekstrak kemudian install addon tersebut dengan perintah :

./install

Jika proses instalasi berhasil maka menu Advanced Proxy akan langsung terlihat pada tampilan web Smoothwall.

  

Setelah muncul tampilan seperti diatas langsung saja lakukan konfigurasi pada Advanced Proxy, berikut ini adalah konfigurasiku pada proxy server yang aku pakai saat ini :

memory cache size (MB) = 50
Minimal object size (KB) = 0
Hardisk cache size (MB) = 50000 ( hardisk yang saya pake 80 GB SATA)
Maximum object size (KB) = 256000
memory replacement policy = heap GDSF
cache replacement policy = heap LFUDA

Untuk port proxy server silahkan menyesuaikan saja, tapi biasanya menggunakan port 8080 atau 3128.

2. Install urlfilter

Urlfilter, adalah addon yang digunakan untuk melakukan pembatasan terhadap url yang dapat diakses oleh user.

Upload file master urlfilter pada proxy server, kemudian ekstrak dengan menggunakan perintah :

tar -zxvf sw3-nn-urlfilter-version.tar.gz

setelah diekstrak kemudian install addons tersebut :

./install

Perhatikan pada menu ” Block Categories “, secara default addon urlfilter sudah menampilkan beberapa opsi. Namun masih perlu untuk diupdate lagi yaitu dengan cara mengupload daftar blacklistnya melalui menu ” Blacklist Update “.

Update blacklist dapat diperoleh disini

Setelah update, silahkan di setting sesuai dengan kebutuhan.

3. Install Calamaris Proxy Report

Upload file Calamaris Proxy Report ke dalam server, dan kemudian ekstrak

tar -zxvf sw3-nn-calamaris-version.tar.gz

kemudian install

./install

Setelah menginstall ke-3 addons tersebut maka proxy server sudah siap digunakan.

Untuk meningkatkan performa log access sebaiknya dimatikan saja, karena akan mempengaruhi waktu load karena server juga harus menyimpan log setiap terjadi request.

Buat file store_url_rewrite.pl pada /var/smoothwall/proxy, dengan script seperti dibawah ini :

#!/usr/bin/perl
$|=1;
while (<>) {
@X = split;
$url = $X[0];
$url =~s@^http://(.*?)/get_video?(.*)video_id=(.*?)&.*@squid://videos.youtube.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/get_video?(.*)video_id=(.*?)$@squid://videos.youtube.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/videodownload?(.*)docid=(.*?)$@squid://videos.google.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/videodownload?(.*)docid=(.*?)&.*@squid://videos.google.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums?&.*@squid://images.photobucket.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums?$@squid://images.photobucket.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums?&.*@squid://videos.photobucket.INTERNAL/ID=$3@;
$url =~s@^http://(.*?)/albums?$@squid://videos.photobucket.INTERNAL/ID=$3@;
print "$urln"; }

kemudian buat juga file include.acl pada /var/smoothwall/proxy/advanced/acls/

memory_pools off
icp_hit_stale on
query_icmp on
reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on
server_http11 on



# The keyword for all youtube video files are "get_video?", "videodownload?" and "videoplaybeck?id"
# The ".(jp(e?g|e|2)|gif|png|tiff?|bmp|ico|flv)?" is only for pictures and other videos
acl store_rewrite_list urlpath_regex /(get_video?|videodownload?|videoplayback?id) .(jp(e?g|e|2)|gif|png|tiff?|bmp|ico|flv)? /ads?
acl store_rewrite_list_web url_regex ^http://([A-Za-z-]+[0-9]+)*.[A-Za-z]*.[A-Za-z]*
acl store_rewrite_list_path urlpath_regex .(jp(e?g|e|2)|gif|png|tiff?|bmp|ico|flv)$
acl store_rewrite_list_web_CDN url_regex ^http://[a-z]+[0-9].google.com doubleclick.net

#ambil yang jarak jauh, jarak dekat langsung aja
#acl local-dst dst 192.168.0.7
#acl local-domain dstdomain localhost sumberalam.co.id sumberalam.net speedtest.net speedtest.telin.co.id
#always_direct allow localhost local-dst local-domain
#always_direct deny all

#refresh
refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod
refresh_pattern ^http://*.facebook.com/.* 0 30% 0

#refresh 02
#refresh_pattern ((facebook.com)|(69.63.181.11|69.63.181.12|69.63.1 89.11|69.63.189.16)).*.(jpg|png|gif|swf|mp3|mp4|m pg|3gp|flv|swf|wmv|zip|rar) 12960 99% 12960
refresh_pattern -i .facebook.com.*.(jpg|gif|png|swf|wav|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv|zip|rar) 12960 999999% 129600
refresh_pattern -i .fbcdn.net.*.(jpg|gif|png|swf|wav|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv|zip|rar) 12960 999999% 129690
refresh_pattern -i .zynga.com.*.(jpg|gif|png|swf|wav|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv) 12960 999999% 129609
refresh_pattern -i .crowdstar.com.*.(jpg|gif|png|swf|wav|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv) 12960 999999% 129609
refresh_pattern ^http://static.ak.fbcdn.net*.(jpg|gif|png|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv) 129600 999999% 129600
refresh_pattern ^http://videoxl.l[0-9].facebook.com/(.*)(3gp|flv|swf|wmv|mp(e?g|a|e|1|2|3|4)) 129600 999999% 129600
refresh_pattern ^http://*.channel.facebook.com/(.*)(js|css|swf|jpg|gif|png|mp(e?g|a|e|1|2|3|4)) 129600 999999% 129600
refresh_pattern ^http://video.ak.facebook.com*.(3gp|flv|swf|wmv|mp(e?g|a|e|1|2|3|4)) 129600 999999% 129600
refresh_pattern ^http://photos-[a-z].ak.fbcdn.net/(.*)(css|swf|jpg|gif|png|mp(e?g|a|e|1|2|3|4)) 129600 999999% 129600
refresh_pattern ^http://profile.ak.fbcdn.net*.(jpg|gif|png) 129600 999999% 129600
refresh_pattern ^http://platform.ak.fbcdn.net/.* 720 100% 4320
refresh_pattern ^http://creative.ak.fbcdn.net/.* 720 100% 4320
refresh_pattern ^http://apps.facebook.com/.* 720 100% 4320
refresh_pattern ^http://static.ak.fbcdn.net*.(js|css|jpg|gif|png) 129600 999999% 129600
refresh_pattern ^http://statics.poker.static.zynga.com/(.*)(swf|jpg|gif|png|mp(e?g|a|e|1|2|3|4)) 129600 999999% 129600
refresh_pattern ^http://statics.poker.static.zynga.com/.* 720 100% 4320
refresh_pattern ^http://*.zynga.com*.(swf|jpg|gif|png|wav|mp(e?g|a|e|1|2|3|4)) 129600 999999% 129600
refresh_pattern ^http://*.crowdstar.com*.(swf|jpg|gif|png|wav|mp(e?g|a|e|1|2|3|4)) 129600 999999% 129600
refresh_pattern ^http://*.google-analytics.*/.* 720 100% 4320
refresh_pattern -i .kaskus.co.*.(jpg|gif|png|swf|wav|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv|zip|rar) 12960 999999% 129600
refresh_pattern -i .kaskus.co.*.(jpg|gif|png|swf|wav|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv|zip|rar) 12960 999999% 129600
refresh_pattern ^http://*.kaskus.co*.*(jpg|gif|png|mp(e?g|a|e|1|2|3|4)|3gp|flv|swf|wmv) 129600 999999% 129600

#http_access allow manager localhost
cache allow store_rewrite_list
cache allow all
storeurl_access allow store_rewrite_list
storeurl_access deny all
storeurl_rewrite_program /var/smoothwall/proxy/store_url_rewrite.pl
storeurl_rewrite_children 1
storeurl_rewrite_concurrency 10

#opsi zph
zph_mode tos
zph_local 48
zph_sibling 0
zph_parent 0
zph_option 136


#opsi yg lain
quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98
ie_refresh off
client_lifetime 2 hours
ipcache_size 2048
ipcache_low 98
ipcache_high 99
maximum_object_size 128 MB
maximum_object_size_in_memory 32 KB

#cache mem
cache_swap_low 98
cache_swap_high 99

#log
log_fqdn off
log_icp_queries off
cache_log none
cache_store_log none

Setelah membuat file tersebut kemudian restart server … sampai pada langkah ini proxy server menggunakan Smoothwall sudah dapat digunakan. Namun perlu diketahui, spek PC yang digunakan akan lebih baik jika lebih tinggi meskipun dengan PC low spek tetap bisa berjalan.

Menghubungkan Proxy Server Smoothwall dengan Mikrotik …..

1. Hubungkan proxy server Smoothwall ke Mikrotik melalui Web Proxy Setting di MIkrotik, dan ditandai dengan redirect port 3128 menuju 8080 ke proxy server Smoothwall.

/ip proxy
set always-from-cache=no cache-administrator=webmaster cache-hit-dscp=4 
 cache-on-disk=no enabled=yes max-cache-size=none max-client-connections=
 600 max-fresh-time=3d max-server-connections=600 parent-proxy=192.168.72.142 
 parent-proxy-port=8080 port=3128 serialize-connections=no src-address=
 0.0.0.0

 

 

 

 

 

 

 

 

 

 

Perlu diperhatikan opsi ” Cache On Disk ” jangan di checkmark karena jika di checkmark proxy content akan tersimpan di Mikrotik itu sendiri.

2. Redirect port user 80 ke port 3128 seperti di Web Proxy Setting

/ip firewall nat
add action=redirect chain=dstnat comment="Web proxy" disabled=no dst-port=80 
 protocol=tcp src-address-list=!noproxy to-ports=3128

Jika ada client VIP yang tidak ingin melewati proxy dan supaya tidak terjadi looping ip proxy server maka dibuatkan address list ” noproxy “.

3. Setelah itu kasih rule buat Proxy HIT supaya akses dari proxy server menuju user tidak ter-limit oleh Mikrotik dan letakkan pada baris paling atas.

/ip firewall mangle
add action=mark-packet chain=prerouting comment="proxy hit" disabled=no dscp=12 
 new-packet-mark=proxyhit passthrough=no

/ip firewall mangle
add action=mark-connection chain=forward comment=Proxy_HIT
disabled=no in-interface=Proxy new-connection-mark=Hit
out-interface=Lokal passthrough=yes protocol=tcp

add action=mark-packet chain=forward comment="" connection-mark=Hit
disabled=no in-interface=Proxy new-packet-mark=Proxy Hit
out-interface=Lokal passthrough=no protocol=tcp

/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
limit-at=0 max-limit=0 name=.:Proxy Hit:. packet-mark=Hit
parent=global-out priority=1 queue=default

Jika tidak ingin memanfaatkan fungsi webproxy Mikrotik dapat menggunakan rule dibawah ini, jadi port 80 langsung diarahkan ke proxy external tanpa melewati fitur webproxy Mikrotik :

/ ip firewall nat
add chain=dstnat action=dst-nat to-addresses=192.168.2.1 to-ports=3128 
in-interface=”To LAN” dst-port=80 protocol=tcp src-address-list=local 
comment=”client force to proxy” disabled=no

Dengan 3 konfigurasi tersebut proxy server Smoothwall sudah terkoneksi dengan Mikrotik, dan semua user yang menggunakan port 80 / browsing akan diredirect ke proxy server.

Cuman yang perlu diperhatikan adalah pembatasan bandwidth untuk proxy server itu sendiri karena semua koneksi akan terfokus pada proxy server.

Jangan sampai rencana untuk menghemat bandwidth tapi malah jadi tidak terkontrol bandwidthnya.

Ok ,segitu dulu kalau ada kekurangan mohon dikoreksi, maklum CUPU 😀 ….. selamat mencoba dan bereksperimen ……..

 

Related Search

Tags: #Advanced Proxy #facebook #KB #MB #mikrotik

Anda sedang membaca artikel tentang Membuat Proxy Server Dengan Smoothwall. Silahkan baca artikel Be Log tentang Linux, Mikrotik, Tutorial lainnya. Semoga bermanfaat ...

Bypass Nawala dan Internet Positif di Mikrotik
Bypass Nawala dan Internet Positif di Mikrotik
Mungkin sudah banyak yang bahas, tapi ga
Setup Unifi Controller di Debian 7 (Wheezy)
Setup Unifi Controller di Debian 7 (Wheezy)
Untuk kalangan admin jaringan memegang kendali atas
Blokir Share Folder dan Printer Dengan Mikrotik
Blokir Share Folder dan Printer Dengan Mikrotik
Beberapa masalah pada sebuah jaringan di beberapa
Cara Convert GTP to MBR
Cara Convert GTP to MBR
Sebelum membahas mengenai cara convert GPT to

Top