-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
1/22
Menyimpan Video Youtube Pakai Squid3
dan Nginx
http://www.walecha.net/content/menyimpan-video-youtube-pakai-squid3-dan-nginx
Submitted by walecha
Assalamu'alaikum warahmatullahi wabarakatuh,
Selamat malam semuanya. Bagaimana malam minggunya? Semoga semuanya dapat
merasakan bahagia bersama orang-orang yang kita sayangi, aamiin. Malam ini saya akan
membagikan sebuah resep utamanya untuk para proxier yang selalu dikeluhkesahi oleh
pengguna-pengguna proxy-nya tentang kecepatan buffering video dari YouTube. Sudah
menjadi fakta bahwa YouTube merupakan penyedia materi multimedia yangpaling sering
diakses saat ini. Kekuatan jaringan data Googlememang sangat membantu meningkatkankepopuleran YouTube.
Meskipun demikian, kepopuleran YouTube ini berimbas pula pada ketersediaan jalur data
atau bandwidth. Di banyak negara berkembang permintaan akan akses materi multimedia
YouTube umumnya kurang terakomodasi oleh kekuatan jalur data yang ada. Jika anda
sedang berada di Jepang atau Korea mungkin anda tidak akan merasakan lambatnya proses
pengunduhan video dari YouTube. Akan tetapi minimnya infrastruktur jaringan tersebut
bukanlah alasan untuk penggemar video online dan akhirnya muncullah Lusca.
LUSCALusca adalah sebuah tambahan pada Squid 2.x untuk membuat squid proxy menyimpan dan
mengubah alamat seluruh berkas video yang sedang disaksikan oleh pengguna proxy
sehingga jika video tersebut dibuka kembali di lain waktu, squid tidak perlu mengambilnya
kembali dari internet. Teknik ini mengimplementasikan sebuah algortima untuk
menterjemahkan alamat video hasil penyandian YouTube sehingga jika berkas video tersebut
dibuka kembali, meskipun akan berasal dari squid, pengguna akan melihat bahwa video yang
dilihatnya berasal dari YouTube. Sayangnya Lusca belum tersedia untuk squid3. Pilihannya
hanya gunakan squid2 atau tidak pakai lusca.
Tetapi pengguna squid3 janganlah terlalu gusar dengan keputusan pengembang lusca yangmasih belum menyediakan plugin ini untuk squid3. Toh squid3 juga masih tergolong baru.
Masih ada kesempatan lain. Dan satu hal lagi, masih ada cara yang lain kok. Sesuai judul
artikel ini, ternyata kita bisa memanfaatkanNGINX untuk melakukan hal yang mirip dengan
lusca.
Simpan dengan Nginx
Sejatinya Nginx adalah sebuah program web server ringan yang menurut saya dapat
menyaingi kualitas Apache HTTPD. Dalam kasus ini, kenapa kita pilih nginx? Ya karena
ukurannya yang lebih kecil jika dibandingkan dengan Apache2. Di slackware saya, Apache2berukuran 10MB sedangkan Nginx cuma 1MB. Toh yang kita butuhkan saat ini hanyalah
http://www.walecha.net/users/walechahttp://youtube.com/http://youtube.com/http://www.usatoday.com/tech/news/2006-07-16-youtube-views_x.htmhttp://www.usatoday.com/tech/news/2006-07-16-youtube-views_x.htmhttp://www.usatoday.com/tech/news/2006-07-16-youtube-views_x.htmhttp://google.com/http://google.com/https://code.google.com/p/lusca-cache/http://www.nginx.org/http://youtube.com/http://www.usatoday.com/tech/news/2006-07-16-youtube-views_x.htmhttp://www.usatoday.com/tech/news/2006-07-16-youtube-views_x.htmhttp://google.com/https://code.google.com/p/lusca-cache/http://www.nginx.org/http://www.walecha.net/users/walecha -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
2/22
fitur proxy dari nginx. Lagipula sumber daya sistem yang digunakan oleh nginx lebih kecil
daripada Apache2. Jadi sepertinya sepertinya terlalu berlebihan jika menggunakan Apache2
hanya untuk menyediakan alamat palsu YouTube.
Baik kita mulai saja. Hal pertama yang harus kita lakukan adalah menginstal nginx.
Pengguna slackware dapat menggunakan skrip SlackBuild dariSlackBuilds.org ataumenggunakan skrip SlackBuild punya saya. Setelah instalasi kita harus mengganti
konfigurasi nginx.conf menggunakan konfigurasi berikut:
# This config file is not written by me,# My Email address is inserted Just for tracking purposes# For more info, visit http://code.google.com/p/youtube-cache/# Syed Jahanzaib / aacable [at] hotmail.com# Modified for Slackware by Widya Walesa
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
3/22
proxy_store"/var/www/nginx/files/id=$arg_id.itag=$arg_itag.range=$arg_range.algo=$arg_algorithm";
proxy_ignore_client_abort off;proxy_method GET;proxy_set_header X-YouTube-Cache "[email protected]";
proxy_set_header Accept "video/*";proxy_set_header User-Agent "YouTube Cacher (nginx)";proxy_set_header Accept-Encoding "";proxy_set_header Accept-Language "";proxy_set_header Accept-Charset "";proxy_set_header Cache-Control "";
}}
}
Setelah itu kita perlu menyiapkan direktori-direktori yang diperlukan oleh proxy nginx ini:
$ mkdir -p /var/www/nginx/files /var/www/nginx/tmp$ chmod 777 /var/www/nginx/files /var/www/nginx/tmp
Kemudian jalankan nginx dan cek apakah nginx sudah berjalan atau belum:
$ /etc/rc.d/rc.nginx start$ netstat -nlp -t tcp | grep nginx
Jika sudah siap, kita dapat menyiapkan skrip ruby yang digunakan sebagai program penulis
ulang alamat oleh squid:
$ mkdir -p /etc/squid/nginx.rb
$ nano /etc/squid/nginx.rb
Isikan skrip ruby berikut ke file tersebut dan simpan
#!/usr/bin/env ruby# This script is not written by me,# My Email address is inserted Just for tracking purposes# For more info, visit http://code.google.com/p/youtube-cache/# Syed Jahanzaib / aacable [at] hotmail.com# Modified for Slackware by Widya Walesa
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
4/22
STDIN.each_line do |ln|r = SquidRequest.newr.url, r.client_ip, r.user, r.method, *dummy = ln.rstrip.split(' ')(STDOUT
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
5/22
# sumber pertama untuk permintaan video YouTube sebelum YouTube.comcache_peer 127.0.0.1 parent 8081 0 proxy-only no-query connect-timeout=10cache_peer_access 127.0.0.1 allow youtube_videos id_param itag_paramsver3_param !begin_param !range_requestcache_peer_access 127.0.0.1 deny all
Kemudian kita coba me-reload squid:
$ /etc/rc.d/rc.squid reloadatau$ squid -k reconfigure
Supaya mudah untuk mengetahui apakah proses pengubahan alamat dan penyimpanan video
YouTube sudah benar, serta untuk mengetahui ada atau tidak permasalahan pada squid dan
nginx, kita dapat mengaktifkan log squid dan nginx:
# FILE: /etc/squid/squid.confcache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.log# Supaya log-nya mirip dengan log apache/nginxemulate_httpd_log onlogformat squid %tl %6tr %>a %Ss/%03Hs %
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
6/22
cache_access_log /dev/nullcache_log /dev/nullcache_store_log /dev/null
Tulisan ini diadaptasi dengan beberapa modifikasi dari artikel penulis aslinya. Silakan
kunjungi artikel aslinya jika menginginkan informasi lebih lanjut:
http://aacable.wordpress.com/2012/08/13/youtube-caching-with-squid-nginx/
INSTALASI & KONFIGURASI SQUID3 DI UBUNTU SERVER
http://ecaknyo.blogspot.com/2012/11/instalasi-konfigurasi-
squid3-di-ubuntu.html
Tutorial yang membahas squid3 sudah banyak sekali di internet dan
mudah sekali diketemukan, tetapi ada beberapa tutorial yang malah
membingungkan bagi para pemula yang masih mencoba mengunakannya.
Disini akan saya paparkan secara sederhana agar lebih mudah dipahami yaitu
tentang bagaimana instalasi dan konfigurasi squid3. Dari pengalaman saya
konfigurasinya tidak begitu jauh berbeda dari versi squid dibawahnya misal
squid 2.7 Stable7.
Persiapan :
1. Putty
Diperlukan untuk me-reconfigure konfigurasi squid melalui terminal via remote.
2. WinSCP
Memudahkan dalam mengakses, mem-backup & mengedit squid3.conf. File
konfigurasi squid3 berada dalam folder /etc/squid3
Langkah-langkahnya sebagai berikut :
1. Backup-lah terlebih dahulu konfigurasi atau folder squid lama dengan winSCP,
simpanlah di komputer lain, misalnya laptopmu.
2. Login sebagai root di ubuntu server lewat putty , lalu instal squid3 dengan
http://aacable.wordpress.com/2012/08/13/youtube-caching-with-squid-nginx/http://4.bp.blogspot.com/-ESon9kB6G0E/ULRhGLSH-PI/AAAAAAAADyk/h9sY8EMPOPI/s1600/SQUID+100x100.jpghttp://aacable.wordpress.com/2012/08/13/youtube-caching-with-squid-nginx/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
7/22
cara ketik di terminal :
# apt-get install squid3
bagi yang telah memakai squid versi lama misalnya squid 2.7, tenang saja
karena folder squid yang lama tidak akan hilang atau tertimpa. Nanti akan adadua folder : squid dan squid3, untuk amannya di backup dulu seperti langkah 1.
Tunggu prosesnya hingga selesai, untuk sementara koneksi internet di jaringan
akan terputus.
3. Jika instalasi sudah selesai, akseslah folder squid3 lewat winSCP kemudian
copy paste file konfigurasi squid3 yang asli dan pada file copy tersebut berikan
nama default dibelakangnya contoh : squid.conf.default.
Di dalam folder /etc/squid3/squid.conf -> copy paste
|_ squid.conf copy -> di ubah menjadi squid3.conf.default
4. Buka file squid.conf dengan winSCP, lalu konfigurasi seperti dibawah ini :
Carilah tag-tag berikut dengan dengan Ctrl+F :
# TAG: acl
Tambahkan jaringan lokal.
Misal :
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl s3a50net src 10.5.50.0/24
# TAG: http_access
Bolehkan akses untuk jaringan lokal diatas.
Misal :
#Recommended minimum configuration:
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access allow SSL_ports
http_access deny purgehttp_access deny !Safe_ports
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
8/22
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow s3a50net http_access allow CONNECT !webmin_ports
http_access allow CONNECT !ssh_ports
http_access deny all
# TAG: http_port
Lalu hapus tanda pagar dan tambahkan dibelakangnya transparent.
3128 adalah port default service squid, ini bisa diubah bila di inginkan.
transparent adalah untuk membuat squid otomatis dapat diakses oleh usertanpa harus mengarahkan ( men-setting ) browser user ke squid.
Contoh :
# Squid normally listens to port 3128
http_port 3128 transparent
# TAG: cache_mem (bytes)#Default:
cache_mem 8 MB
# TAG: maximum_object_size_in_memory (bytes)#Default:
maximum_object_size_in_memory 8 KB
# TAG: memory_replacement_policy#Default:
#memory_replacement_policy lru
memory_replacement_policy heap GDSF
# TAG: cache_replacement_policy#cache_replacement_policy lru
cache_replacement_policy heap LFUDA
# TAG: cache_dir# Uncomment and adjust the following to add a disk cache
directory.
cache_dir ufs /var/spool/squid3 6000 16 256
Ket :
- Kalkulasinya ukuran cache ini harus tepat disesuaikan dengan spesifikasi server
ubuntu, semakin besar cache-nya belum tentu bagus malahan akan membuat
pencarian file yang tersimpan menjadi lebih lama.
- Letak direktorinya di /var/spool/squid3 ,berbeda lokasi dengan direktori
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
9/22
konfigurasi squid.
# TAG: minimum_object_size (bytes)#Default:
minimum_object_size 0 KB
Ket :- Besaran minimum file yang akan tersimpan di squid
# TAG: maximum_object_size (bytes)#Default:
maximum_object_size 4096 KB
Ket :
- Besaran maksimum file yang akan tersimpan di squid
# TAG: cache_swap_low (percent, 0-100)#Default:
cache_swap_low 90
# TAG: cache_swap_high (percent, 0-100)#Default:
cache_swap_high 95
# TAG: logfile_rotate#Default:
logfile_rotate 1
Ket :
- Akan berguna jika sudah menginstal Sarg & calamaris
Untuk Tuning Cache squid
# TAG: refresh_pattern
Tambahkan refresh_pattern berikut sesudah refresh_pattern default
refresh_pattern -i .(class|css|js|gif|jpg)$ 10080 100% 43200 ignore-no-cache
ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(jpe|jpeg|png|bmp|tif)$ 10080 100% 43200 ignore-no-cache
ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(tiff|mov|avi|qt|mpeg)$ 10080 100% 43200 ignore-no-cache
ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(mp3|3gp|mpg|mpe|wav|au|mid)$ 10080 100% 43200 ignore-
no-cache ignore-no-store reload-into-ims override-expirerefresh_pattern -i .(exe|iso|tar|rar|zip|gz|arj|lha|lzh)$ 10080 100% 43200 ignore-
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
10/22
no-cache ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(rar|tgz|tar|exe|bin|vpx)$ 10080 100% 43200 ignore-no-cache
ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(hqx|pdf|rtf|doc|swf)$ 10080 100% 43200 ignore-no-cache
ignore-no-store reload-into-ims override-expire
refresh_pattern -i .(inc|cab|ad|txt|dll)$ 10080 100% 43200 ignore-no-cacheignore-no-store reload-into-ims override-expire
# TAG: quick_abort_min (KB)#Default:
quick_abort_min 16 KB
# TAG: quick_abort_max (KB)#Default:
quick_abort_max 16 KB
# TAG: quick_abort_pct (percent)#Default:
quick_abort_pct 95
# TAG: read_ahead_gap buffer-size#Default:
read_ahead_gap 16 KB
# TAG: positive_dns_ttl time-units#Default:
# positive_dns_ttl 6 hours
positive_dns_ttl 1 hour
# TAG: negative_dns_ttl time-units#Default:
# negative_dns_ttl 1 minutesnegative_dns_ttl 1 minute
# TAG: store_avg_object_size (kbytes)
#Default:
store_avg_object_size 13 KB
# TAG: dns_nameserversdns_nameservers 203.130.193.74 203.130.208.18
202.134.0.155 202.134.1.5 8.8.4.4 8.8.8.8
Ket :
- Di atas mengunakan dns telkom speedy & google.
- Gantilah dns server sesuai dengan yang diberikan oleh ISP anda.
# TAG: ipcache_size (number of entries)#Default:
#ipcache_size 1024
ipcache_size 4096
# TAG: ipcache_low (percent)#Default:
ipcache_low 90
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
11/22
# TAG: ipcache_high (percent)# The size, low-, and high-water marks for
the IP cache.
#Default:
ipcache_high 95
# TAG: fqdncache_size (number of entries)# Maximum number ofFQDN cache entries.
#Default:
#fqdncache_size 1024
fqdncache_size 4096
# TAG: reload_into_ims on|off# see also refresh_pattern for a more
selective approach.
#Default:
reload_into_ims on
SIMPAN..jika konfigurasi sudah selesai.
5. Buatlah swap squid3, matikan dahulu service squid melalui terminal putty
dengan :
# /etc/init.d/squid3 stop
- Lalu lanjutkan dengan # squid3 -z
- Tunggulah sampai prosesnya selesai.
6. Jika pembuatan swap squid sudah berhasil, hidupkan kembali service squid
dengan :
# squid3 start
7. Terakhir, untuk memastikan telah berjalan dengan sukses atau belum,
monitorlah lalu lintas squid3 dengan :
# tail -f /var/log/squid3/access.log
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
12/22
Install & Konfigurasi Squid3 di Ubuntu Server 12.04
oke agan2 sekalian akhirnya kita jumpa lagi ya pada pertemuan kali ini, kali ini
saya akan membahas tentang bagaimana cara melakukan konfigurasi squid 3 di
ubuntu server 12.04.
oke gan langsung saja ya kita mulai
Pertama
Instal terlebih dahulu squid 3 pada ubuntu server agan2 sekalian, dengan
menggunakan perintah :
Sudo apt-get install squid3
Kedua
Setelah proses instalasi selesai masuk ke dalam direktori squid3 dengan
menggunakan perintah :
cd /etc/squid3
kemudian lanjutkan dengan perintah mengcopy squid.conf.origin dan ganti
namanya dengan squid.conf, adapun perintah yang digunakan yaitu :
cp squid.conf.origin squid.conf
Ketiga
Setelah proses pengcopyan file selesai selanjutnya lakukan konfigurasi di dalam
squid.conf tersebut, dengan menggunakan perintah :
sudo nano /etc/squid3/squid.conf
kemudian cari http port 3128, http_access allow localhost, dan acl localnet src
192.168.0.0/16 hilangkan tanda # didepannya, jika semuanya telah dihilangkan
save dan keluar dari jendela konfigurasi.
Keempat
Jika konfigurasi squid3 telah selesai restart squid3 dengan perintah :
sudo /etc/init.d/squid3 restart
Keelima
Selanjutnya hubungkan komputer clien dengan komputer server dengan
menggunakan kartu jaringan 1 buah lagi setting ip pada kedua komputer
tersebut dalam 1 kelas ip yang sama.
Keenam
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
13/22
Jika telah selesai tes dengan perintah ping. Pastikan kedua komputer telah
terhubung dengan mendapatkan balasan reply. jika telah terhubung ketikkan
perintah berikut di komputer server
sudo tail -f /var/log/squid3/access.log
Jika selesai setting proxy pada komputer clien dengan ip yang terdapat pada
komputer server dan dengan port 3128 yang di konfigurasi pada squid3 tadi. Jika
selesai, lakukan browser pada alamat tertentu pada komputer clien jika
konfigurasi benar maka akan alamat tersebut akan tampil pada komputer server.
oke agan2 sekalian mungkin cukup sampai disini saja pertemuan kita kali ini
semoga semua ini dapat berguna bagi kita semua. ^_^
Setting Mikrotik dan Squid Proxy External
Full Versi
Written By Agustinus Sriyanto on Jumat, 30 Maret 2012 |
11.11
Settingan ini cocokuntuk warnet atau penyedia hotspotmenurut saya, tau menurut sobatmah
ahahhaha. Settingan ini yang saya pake sekarang, Sudah siap untuk melihat dan menelitinya?
Ok Lanjuuuuuuuut.......!!!
Alat Yang di Gunakan :
- Modem Speedy
- RB750 ROS 4.6 atau Mikrotik v5.xx
- Squid proxy yang berjalan transparant pada port 3128 + zph
Topologi :
- Speedy 2M down dan 512 up
- 1M untuk jatah download semua client dengan batasan maksimal 256kbps/client- Akses tanpa dibatasi limit untuk beberapa IP tertentu (dalam hal ini IP 192.168.2.16 dan
192.168.2.17)
- Browsing tidak dibatasi
- Aplikasi QOS pada outbound/paket yang keluar dari modem speedy
Manifest IP address yang digunakan :
[MODEM]
Public IP Address = 192.168.1.2/24
[CLIENTS]
Client IP Address = 192.168.2.2-192.168.2.17 (ip selain itu tidak konek internet)
[SQUID BOX]
Proxy Ip Address = 192.168.3.2squid.conf dengan zph
http://serverstutorial.blogspot.com/2012/03/setting-mikrotik-dan-squid-proxy.htmlhttp://serverstutorial.blogspot.com/2012/03/setting-mikrotik-dan-squid-proxy.htmlhttp://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://serverstutorial.blogspot.com/2012/03/setting-mikrotik-dan-squid-proxy.htmlhttp://serverstutorial.blogspot.com/2012/03/setting-mikrotik-dan-squid-proxy.htmlhttp://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
14/22
http_port 3128 transparent
zph_mode tos
zph_local 0x30
zph_parent 0
zph_option 136
================Basic Configuration================
/interface ethernet
set 0 comment="Public Interface" name=Public
set 1 comment="Local Interface" name=Local
set 2 comment="Proxy Interface" name=Proxy
/ip address
add address=192.168.2.1/24 broadcast=192.168.2.2 comment="" disabled=no \
interface=Local network=192.168.2.0
add address=192.168.3.1/24 broadcast=192.168.3.2 comment="" disabled=no \
interface=Proxy network=192.168.3.0add address=192.168.1.2/24 broadcast=192.168.1.3 comment="" disabled=no \
interface=Public network=192.168.1.0
/ip dns
set allow-remote-requests=yes cache-max-ttl=1w cache-size=4096KiB \
max-udp-packet-size=512 servers="125.160.4.82,203.130.196.155"
(sesuaikan dengan DNS ISP sobat)
/ip route
add gateway=192.168.1.1 comment="" disabled=no
/ip service
set telnet address=0.0.0.0/0 disabled=yes port=23
set ftp address=0.0.0.0/0 disabled=yes port=21
set www address=0.0.0.0/0 disabled=no port=80
set ssh address=0.0.0.0/0 disabled=yes port=22
set www-ssl address=0.0.0.0/0 certificate=none disabled=yes port=443
set api address=0.0.0.0/0 disabled=yes port=8728
set winbox address=0.0.0.0/0 disabled=no port=8291
/system ntp client
set enabled=yes mode=unicast primary-ntp=152.118.24.8 secondary-ntp=\
202.169.224.16
/ip firewall address-list
add address=192.168.3.1/24 comment="" disabled=no list=ProxyNETadd address=192.168.2.2-192.168.2.17 comment="" disabled=no list=localNet
(saya hanya menjalankan client konek internet 2-17 client)
=================end of basic configuration=================
Untukfirewall filternya saya terapkan yang terpentingnya saja.
/ip firewall filter
add action=drop chain=input comment="Drop Invalid connections" \
connection-state=invalid disabled=no
add action=add-src-to-address-list address-list="port scanners" \address-list-timeout=2w chain=input comment="Port scanners to list " \
http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
15/22
disabled=no protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="NMAP FIN Stealth scan" \
disabled=no protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="SYN/FIN scan" disabled=no \protocol=tcp tcp-flags=fin,syn
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="SYN/RST scan" disabled=no \
protocol=tcp tcp-flags=syn,rst
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="FIN/PSH/URG scan" disabled=\
no protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="ALL/ALL scan" disabled=no \
protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list="port scanners" \address-list-timeout=2w chain=input comment="NMAP NULL scan" disabled=no \
protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
add action=drop chain=input comment="Dropping port scanners" disabled=no \
src-address-list="port scanners"
add action=accept chain=input comment="Allow Established connections" \
connection-state=established disabled=no
add action=accept chain=input comment="Allow Related connections" \
connection-state=related disabled=no
add action=accept chain=input comment="Allow ICMP from LOCAL Network" \
disabled=no protocol=icmp src-address-list=localNet
add action=accept chain=input comment="Allow ICMP from PROXY Network" \
disabled=no protocol=icmp src-address-list=ProxyNET
add action=accept chain=input comment="Allow Input from LOCAL Network" \
disabled=no src-address-list=localNet
add action=accept chain=input comment="Allow Input from PROXY Network" \
disabled=no src-address-list=ProxyNET
add action=drop chain=input comment="Drop everything else" disabled=no
add action=drop chain=forward comment="Drop Invalid connections" \
connection-state=invalid disabled=no
add action=jump chain=forward comment="Bad packets filtering" disabled=no \
jump-target=tcp protocol=tcpadd action=jump chain=forward comment="" disabled=no jump-target=udp \
protocol=udp
add action=jump chain=forward comment="" disabled=no jump-target=icmp \
protocol=icmp
add action=drop chain=tcp comment="deny SMTP" disabled=no dst-port=25 \
protocol=tcp
add action=drop chain=tcp comment="deny TFTP" disabled=no dst-port=69 \
protocol=tcp
add action=drop chain=tcp comment="deny RPC portmapper" disabled=no dst-port=\
111 protocol=tcp
add action=drop chain=tcp comment="deny RPC portmapper" disabled=no dst-port=\135 protocol=tcp
-
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
16/22
add action=drop chain=tcp comment="deny NBT" disabled=no dst-port=137-139 \
protocol=tcp
add action=drop chain=tcp comment="deny cifs" disabled=no dst-port=445 \
protocol=tcp
add action=drop chain=tcp comment="deny NFS" disabled=no dst-port=2049 \
protocol=tcpadd action=drop chain=tcp comment="deny NetBus" disabled=no dst-port=\
12345-12346 protocol=tcp
add action=drop chain=tcp comment="deny NetBus" disabled=no dst-port=20034 \
protocol=tcp
add action=drop chain=tcp comment="deny BackOriffice" disabled=no dst-port=\
3133 protocol=tcp
add action=drop chain=tcp comment="deny DHCP" disabled=no dst-port=67-68 \
protocol=tcp
add action=drop chain=tcp comment="deny P2P" disabled=no p2p=all-p2p
add action=drop chain=udp comment="deny TFTP" disabled=no dst-port=69 \
protocol=udpadd action=drop chain=udp comment="deny PRC portmapper" disabled=no dst-port=\
111 protocol=udp
add action=drop chain=udp comment="deny PRC portmapper" disabled=no dst-port=\
135 protocol=udp
add action=drop chain=udp comment="deny NBT" disabled=no dst-port=137-139 \
protocol=udp
add action=drop chain=udp comment="deny NFS" disabled=no dst-port=2049 \
protocol=udp
add action=drop chain=udp comment="deny BackOriffice" disabled=no dst-port=\
3133 protocol=udp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=0:0-255 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:0 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:3 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:4 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=8:0-255 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \icmp-options=11:0-255 limit=5,5 protocol=icmp
add action=drop chain=icmp comment="Drop other icmp packets" disabled=no
add action=accept chain=forward comment="Allow Established connections" \
connection-state=established disabled=no
add action=accept chain=forward comment="Allow Forward from LOCAL Network" \
disabled=no src-address-list=localNet
add action=accept chain=forward comment="Allow Forward from PROXY Network" \
disabled=no src-address-list=ProxyNET
add action=drop chain=forward comment="Drop everything else" disabled=no
UntukNAT nya sebagai berikut :
http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
17/22
/ip firewall nat
add action=masquerade src-address-list=localNet chain=srcnat comment="NAT-LOCAL"
disabled=no \
out-interface=Public
add action=masquerade src-address-list=ProxyNet chain=srcnat comment="NAT-PROXY"
disabled=no \out-interface=Public
add action=dst-nat chain=dstnat comment="TRANSPARENT PROXY" disabled=no \
dst-address-list=!ProxyNET dst-port=80,8080,3128 in-interface=Local \
protocol=tcp to-addresses=192.168.3.2 to-ports=3128
(atau yang saya punya redirect proxy seperti ini :)
add action=dst-nat chain=dstnat comment="TRANSPARENT PROXY" disabled=no \
src-address=192.168.2.2-192.168.2.17 dst-port=80,8080,3128 in-interface=Local \
protocol=tcp to-addresses=192.168.3.2 to-ports=3128
add action=dst-nat chain=dstnat comment="TRANSPARENT DNS" disabled=no \dst-port=53 in-interface=Local protocol=udp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Local protocol=tcp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Proxy protocol=udp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Proxy protocol=tcp to-ports=53
Penjelasan :
- Transparent DNS agar client tidak bisa menggunakan NS selain yang terpasang di mikrotik
(bisa sobat gunakan atau tidak, tergantung keinginan)
- Mengarahkan request dari client tujuan port 80,8080,3128 ke squid external
saya beri contoh 2 untuk redirect terserah sobat mo pilih yang mana pastinya keduanya jalan
jika ada interface lain misalkan hotspot sobat tingal tambahkan tanda ! pada src.address
atau dst.address list
Untukmanglenya biar saya jelaskan satu-persatu biar tidak bingung :
/ip firewall mangle
add action=mark-packet chain=forward comment="PROXY-HIT-DSCP 12" disabled=no \
dscp=12 new-packet-mark=proxy-hit passthrough=no
Menandai paket proxy-hit dari external proxy yang nantinya pada rule queue diberikan
kebebasan tanpa proses limitasi
http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
18/22
add action=change-dscp chain=postrouting comment=CRITICAL disabled=no \
new-dscp=1 protocol=icmp
add action=change-dscp chain=postrouting comment="" disabled=no dst-port=53 \
new-dscp=1 protocol=udp
add action=change-dscp chain=postrouting comment="" disabled=no dst-port=53 \
new-dscp=1 protocol=tcpadd action=mark-connection chain=postrouting comment="" disabled=no dscp=1 \
new-connection-mark=critical_conn passthrough=yes
add action=mark-packet chain=postrouting comment="" connection-mark=\
critical_conn disabled=no new-packet-mark=critical_pkt passthrough=no
Menandai paket ICMP dan DNS request untuk diberikan prioritas tertinggi
add action=mark-connection chain=prerouting comment=MARK-ALL-CONN disabled=no \
dst-address-list=!localNet in-interface=Local new-connection-mark=\
all.pre_conn passthrough=yes
add action=mark-connection chain=forward comment="" disabled=no \new-connection-mark=all.post_conn out-interface=Local passthrough=yes \
src-address-list=!localNet
add action=mark-packet chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no new-packet-mark=all.pre_pkt passthrough=yes
add action=mark-packet chain=forward comment="" connection-mark=all.post_conn \
disabled=no new-packet-mark=all.post_pkt passthrough=yes
Menandai SEMUA paket keluar masuk dari Local interface SELAIN ke Local Address
add action=mark-connection chain=prerouting comment=GAMES connection-mark=\
all.pre_conn disabled=no dst-port=9339,843 new-connection-mark=games_conn \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=40000-40010 new-connection-mark=\
games_conn passthrough=yes protocol=udp
add action=mark-packet chain=forward comment="" connection-mark=games_conn \
disabled=no new-packet-mark=games_pkt passthrough=no
Menandai PaketGAMESuntuk diberikan prioritas KEDUA
add action=mark-connection chain=prerouting comment=HTTP-CLIENT \
connection-mark=all.pre_conn disabled=no new-connection-mark=\
browsing_conn packet-size=0-64 passthrough=yes protocol=tcp tcp-flags=ack
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=80,443 new-connection-mark=\
browsing_conn passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=0-131072 \
connection-mark=browsing_conn disabled=no new-packet-mark=browsing_pkt \
passthrough=no protocol=tcp
add action=mark-connection chain=prerouting comment=HTTP-PROXY disabled=no \dst-address-list=!localNet dst-port=80,443 new-connection-mark=proxy_conn \
http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
19/22
passthrough=yes protocol=tcp src-address-list=ProxyNET
add action=mark-packet chain=forward comment="" connection-mark=proxy_conn \
disabled=no new-packet-mark=proxy_pkt passthrough=no
Menandai paket untuk browsing TERMASUK http req dari external proxy dengan conn-
byte=0-131072 serta paket-paket protocol tcp yang berukuran kecil (packet-size=0-64 tcp-
flags=ack) untuk diberikan prioritas KETIGA
add action=mark-connection chain=prerouting comment=REALTIME connection-mark=\
all.pre_conn disabled=no dst-port=22,179,110,161,8291 \
new-connection-mark=realtime_conn passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=123 new-connection-mark=realtime_conn \
passthrough=yes protocol=udp
add action=mark-packet chain=forward comment="" connection-mark=realtime_conn \disabled=no new-packet-mark=realtime_pkt passthrough=no
Menandai paket-paket REALTIME ACCESS untuk diberikan prioritas KEEMPAT
add action=mark-connection chain=prerouting comment=FILETRANSER \
connection-mark=all.pre_conn disabled=no dst-port=20,21,23 \
new-connection-mark=communication_conn passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-mark=\communication_conn disabled=no new-packet-mark=communication_pkt \
passthrough=no
Menandai paket-paket FILETRANSFER untuk diberikan prioritas KELIMA
add action=mark-connection chain=prerouting comment=NORMAL connection-mark=\
all.pre_conn disabled=no dst-address-list=!ProxyNET new-connection-mark=\
normal_conn passthrough=yes
add action=mark-packet chain=forward comment="" connection-mark=normal_conn \
disabled=no new-packet-mark=normal_pkt passthrough=no
Menandai semua paket yang tersisa SELAIN tujuan Proxy untuk diberikan prioritas
KEENAM
add action=mark-packet chain=forward comment=DOWNLOAD connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.2 new-packet-mark=client1 passthrough=no protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.3 new-packet-mark=client2 passthrough=no protocol=tcp
..dst sampai jumlah client yang di perlukanterpenuhi
http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
20/22
add action=mark-packet chain=forward comment=DOWNLOAD-NO-LIMIT connection-
bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.16 new-packet-mark=client16 passthrough=no protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\192.168.2.17 new-packet-mark=client17 passthrough=no protocol=tcp
Menandai paket protocol tcp yang diteruskan ke client untuk memberikan batasan download
pada masing-masing client dengan conn-byte=131072-4294967295
Setelah itu buat queue type nya
/queue type
add kind=pcq name=pcq_up pcq-classifier=src-address pcq-limit=200 pcq-rate=0 \
pcq-total-limit=8000
add kind=pcq name=pcq_down pcq-classifier=dst-address pcq-limit=200 pcq-rate=\0 pcq-total-limit=8000
add kind=pfifo name=pfifo-critical pfifo-limit=10
add kind=pcq name=pcq_critical.up pcq-classifier=src-address,src-port \
pcq-limit=20 pcq-rate=0 pcq-total-limit=500
add kind=pcq name=pcq_critical.down pcq-classifier=dst-address,dst-port \
pcq-limit=20 pcq-rate=0 pcq-total-limit=500
di lanjut menambahkan queue tree nya..
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. PROXY HIT" packet-mark=proxy-hit parent=Local \
priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="B. CRITICAL" packet-mark=critical_pkt parent=Public \
priority=1 queue=pfifo-critical
Tanpa limit dengan prioritas pertama untukproxy hit dan critical
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="C. INBOUND" packet-mark=all.post_pkt parent=global-out \priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="D. OUTBOUND" packet-mark=all.pre_pkt parent=Public \
priority=8
Membuat parent untuk inbound (traffic masuk ke client) dan outbound (traffic keluar
dari public)
Untuk child INBOUND nya saya bagi menjadi beberapa prioritas seperti berikut :
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \max-limit=0 name="A. GAMES" packet-mark=games_pkt parent="C. INBOUND" \
http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
21/22
priority=2 queue=pcq_critical.down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="B. HTTP" packet-mark=browsing_pkt parent="C. INBOUND" \
priority=3 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="C. REALTIME" packet-mark=realtime_pkt parent=\"C. INBOUND" priority=4 queue=pcq_critical.down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="D. FILETRANS" packet-mark=communication_pkt parent=\
"C. INBOUND" priority=5 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="E. NORMAL" packet-mark=normal_pkt parent=\
"C. INBOUND" priority=6 queue=pcq_down
selanjutnya parent untuk download per client nya :
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \max-limit=1024k name="F. DOWN 1M" parent="C. INBOUND" priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="G. DOWN 2M" parent="C. INBOUND" priority=8
membuat 2 parent untuk 1M dan 2M (atau tanpa limit)
Setelah itu buat child nya, untuk memberikan batasan download per clientnya
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256k name=Client1 packet-mark=client1 parent=\
"F. DOWN 1M" priority=8 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256k name=Client2 packet-mark=client2 parent=\
"F. DOWN 1M" priority=8 queue=pcq_down
..dst sampai semua paket ke client yang di perlukan terpenuhi
Batasan download sebesar 1M untuk semua client dan maksimum 256k per client
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Client16 packet-mark=client16 parent=\"G. DOWN 2M" priority=8 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Client17 packet-mark=client17 parent=\
"G. DOWN 2M" priority=8 queue=pcq_down
Tanpa batasan download untuk IP 192.168.2.16 dan 192.168.2.17
Kemudiam membuat limit untuk uploadnya
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. GAMES UP" packet-mark=games_pkt parent="D. OUTBOUND" \priority=2 queue=pcq_critical.up
http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/http://gressnet-hotspot.blogspot.com/ -
7/23/2019 Menyimpan Video Youtube Pakai Squid3 Dan Nginx
22/22
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=256k name="B. HTTP UP" packet-mark=proxy_pkt parent=\
"D. OUTBOUND" priority=3 queue=pcq_up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=32k \
max-limit=64k name="C. REALTIME UP" packet-mark=realtime_pkt parent=\
"D. OUTBOUND" priority=4 queue=pcq_critical.upadd burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="D. FILETRANS UP" packet-mark=communication_pkt \
parent="D. OUTBOUND" priority=5 queue=pcq_up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="E. NORMAL UP" packet-mark=normal_pkt parent=\
"D. OUTBOUND" priority=6 queue=pcq_up
C a t a t a n
- Silahkan sobat sesuaikan Untuk IP ADDRESS, Nama Ethernet. dll
- Tanda Hijau Biru dan Merah sengaja saya tandai agar sobat tidak tertukar jika sobat sudah
memberi nama lain (maksudnya harus di sesuaikan)
- Tanda Jingga da Ping harus sama dengan yang ada di address list (jika sobat menggantidengan nama lain)
- Silahkan sobat Kopi script yang saya buat dan pastekan dahulu di notepad (maksudnya di di
hilangkan keterangan-keteranganya, buat satu block satu block biar tidak pusing eheheh)
Diurutkan berdasarkan prioritas paket keluar, mulai dari games, http request, realtime
connection, filetransfer dan normal request
Hasil akhir yang saya capai, masing-masing client tidak terganggu oleh aktifitas download
ketika mereka browsing atau main games, baik pada saat user sedang upload pun tidak
mengganggu/memperbesar latency games. sependek pengetahuan saya soal mikrotik
setelah beberapa kali uji coba, mungkin ini settingan terbaik yang pernah saya buat.
Semoga bermanfaat dan selamat mereset Mikrotiknya, succes!!!!