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 :
- Smoothwall ISO, dapat didonlot disini
- Putty, dapat didonlot disini
- Winscp, dapat didonlot disini
- Advanced Proxy (advproxy), dapat didonlot disini
- Urlfilter, dapat didonlot disini
- 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