Mikrotik routerboard memiliki built-in proxy didalamnya, namun memiliki kendala yakni keterbatasan kapasitas penyimpanan. Oleh karena itu, kebanyakan administrator jaringan yang menggunakan mikrotik akan menggunakan proxy eksternal untuk mengatasi kendala ini.
Program atau daemon yang paling banyak digunakan untuk proxy eksternal adalah squid atau turunannya (lusca). Ada beberapa keuntungan dalam penggunaan squid proxy eksternal antara lain :
- Mudah untuk di sesuaikan konfigurasinya sesuai dengan kebutuhan.
- Penggunaan access control lists (ACL) yang dapat digunakan untuk keperluan tertentu.
- Squid (khususnya versi 2.7) dapat “dipersenjatai” dengan url redirector. Pada suatu kondisi, redirector dapat digunakan untuk menangani akses konten dinamik (seperti video Youtube).
- Kapasitas penyimpanan yang lebih besar karena pada umumnya komputer menggunakan harddisk sebagai media penyimpanan.
Dalam posting ini, saya akan sedikit menjabarkan integrasi proxy eksternal dengan mikrotik menggunakan pengaturan NAT atau mangle dengan diagram jaringan seperti gambar berikut ini :
Keterangan :
- IP address mikrotik menuju proxy : 192.168.90.1
- IP address proxy menuju mikrotik : 192.168.90.2
- IP address klien-klien : 192.168.1.0/24
Skenario pertama : menggunakan NAT.
Kita dapat menggunakan NAT untuk “membelokkan” akses browsing klien (port 80/HTTP) menuju IP dan port proxy eksternal. Monggo di copas script berikut ini :
/ip firewall address-list add address=192.168.90.0/24 list=ip-proxy /ip firewall nat add action=dst-nat chain=dstnat comment="transparent proxy" dst-port=80 protocol=tcp src-address-list=!ip-proxy to-addresses=192.168.90.2 to-ports=3128
Keterangan :
Terlebih dahulu kita mendeskripsikan kelas IP address yang digunakan untuk komunikasi antara mikrotik – proxy.
/ip firewall address-list
add address=192.168.90.0/24 list=ip-proxy
Kemudian, akses browsing klien (HTTP port 80) kita belokkan menuju proxy eksternal port 3128
/ip firewall nat
add action=dst-nat chain=dstnat comment=”transparent proxy” dst-port=80 protocol=tcp src-address-list=!ip-proxy to-addresses=192.168.90.2 to-ports=3128
Skenario kedua : menggunakan mangle.
Saya secara pribadi menyukai penggunaan skenario kedua ini. Berikut script nya :
/ip route add check-gateway=ping distance=1 gateway=192.168.90.2 routing-mark=to-ext-proxy /ip firewall mangle add action=mark-routing chain=prerouting comment="mark routing to proxy" dst-port=80 new-routing-mark=to-ext-proxy protocol=tcp src-address=192.168.1.0/24
Keterangan :
Sebelumnya, tambahkan route menuju proxy eksternal untuk routing yang akan kita tandai di mangle.
/ip route
add check-gateway=ping distance=1 gateway=192.168.90.2 routing-mark=to-ext-proxy
Setelah itu, akses browsing klien kita tandai dengan routing mark pada mangle, sehingga semua akses browsing akan “bermuara” langsung ke proxy eksternal sebagaimana telah kita tentukan sebelumnya pada route.
/ip firewall mangle
add action=mark-routing chain=prerouting comment=”mark routing to proxy” dst-port=80 new-routing-mark=to-ext-proxy protocol=tcp src-address=192.168.1.0/24
Catatan :
Jangan lupa menambahkan pengaturan pada proxy eksternal agar akses klien dapat berjalan dengan baik antara lain menentukan default gateway proxy dan mengizinkan akses port 3128 pada iptables. Simpan baris-baris berikut ini kedalam file /etc/rc.local :
route add default gateway 192.168.90.1 iptables -A PREROUTING -t nat -j REDIRECT -p tcp -s 192.168.1.0/24 -d 0/0 --dport 80 --to-ports 3128 iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 192.168.90.2 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -s 192.168.90.2 --sport 3128 -d 0.0.0.0/0 -m state --state ESTABLISHED -j ACCEPT
Semoga bermanfaat…
mas ada cd tutorial yang mas jual nga yang biasa buat saya pelajari untuk instal ampe konfigurasi web proxy ubuntunya.,,, ane mau belajar… klw ada dijual ane mau beli buat belajar terimakasih wassalam
Wss.wr.wb, untuk cd panduan setup proxy saya nggak ada bikin sih. Di internet banyak kok panduan setup proxy dalam bentuk ebook atau artikel. InsyaAllah kalo sempat nanti saya coba bikinkan ebook setup proxy untuk ubuntu yg lengkap, dari proses install sampe running.
mas,,,mikrotik saya sudah pke proxy,,selama ini aman untuk warnet dan game online,
ad 1 port yg nganggur,,saya buat untuk hotspot,,
kenapa client dari hotspot tidak bisa hit ke proxy??
tolong bantu mas,,
klien yg dari hotspot juga harus dipaksa lewat proxy agar browsing nya bisa tercache. silakan tambahkan rule baru di nat nya yg memaksa browsing lewat proxy (dst-nat atau sejenisnya)
klu itu saya bingung,,,cos saya terima dari jasa setting.
setelah saya coba²,user hotspot yg default/admin,,bisa hit ke proxy,,tp user lain yg sudah pke profil lain(dh dilimit),tdk bisa hit ke proxy.
kira² kesalahan saya dimana y??mohon pencerahannya
coba nat kelas ip klien hotspot nya ke proxy.. misalnya klien pake ip 192.168.2.0/24 dan proxy 192.168.1.254
/ip firewall nat
add action=dst-nat chain=dstnat comment=”transparent proxy - hotspot” dst-port=80 protocol=tcp to-addresses=192.168.1.254 to-ports=3128
proxy sejajar dengan client saya coba ini :
/ip firewall address-list
add address=192.168.10.254 list=ip-proxy
/ip firewall nat
add action=dst-nat chain=dstnat comment=”transparent_proxy” dst-port=80 protocol=tcp src-address-list=!ip-proxy to-addresses=192.168.10.254 to-ports=3128
/ip firewall nat
add chain=scrnat out-interface=LAN src-address=192.168.10.0/24 protocol=tcp action=src-nat to-addresses=192.168.10.3 to-ports=0-65535
tapi kok gak berhasil
config mikrotik saya begini
1 ;;; ALL OUT
chain=srcnat action=masquerade out-interface=PUBLIC
2 chain=dstnat action=redirect to-ports=3129 protocol=tcp
src-address-list=!admin in-interface=LAN dst-port=80
lusca berjalan normal kalau set proxy pada browser
apanya yang salah ya?
thanks
Coba dstnat yg me redirect ke port 3129 di nonaktifkan dulu.
sudah tp tetep gak bisa
sudah bisa nih salah di srcnat yang tadinya scrnat hehehe
disini nih
“add chain=scrnat out-interface=LAN src-address=192.168.10.0/24 protocol=tcp action=src-nat to-addresses=192.168.10.3 to-ports=0-65535”
ow iya sama satu lagi yang ke hit di access.log itu IP mikrotiknya ya bukan IP clientnya?
thanks a lot
yg nongol ip mikrotik atau ip klien yg menentukan adalah setting nat atau route nya (tergantung setting mana yg dipake), coba utak atik lagi.. caiiyoo! :)
Gan,..ane mau nanya neh
ane lg buat kaya topologi di atas,.cuman pake Centos 6.3 buat proxy squidnya
Nat di Mikrotik
chain=dstnat action=dst-nat to-addresses=192.168.10.10 to-ports=3128 protocol=tcp src-address=192.168.10.0/24 dst-port=80
di Squidnya udah ane edit
visible_hostname router
#port squid
# Squid normally listens to port 3128
http_port 3128 transparent
acl LAN src 192.168.2.0/24
http_access allow LAN
#vi /etc/rc.local
iptables –table nat -A PREROUTING -s 192.168.2.0/24 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128
Hasilnya ketika buat browsing server not found
Mohon bantuannya,.thanks
Saya balik nanya nih karena bnyk faktor yg bikin kasus kayak agan.
Apakah klien bisa browsing normal tanpa proxy?
Apakah dari squid sudah bisa ping dan melakukan dns lookup dengan benar?
Apakah ipv4 forwardingnya udah di aktifkan disisi centos?
Apakah setting dns dan gateway kliennya udah bener?
Mas Fazar,
Bisa minta konfigurasi accelerator untuk cache game yang sudah ada ? mo saya coba ngoprek pake ubuntu server, saya udah berhasil menyimpan cache youtube. Saya mo coba trial cache game yg tidak hit ke database (entah NGINX, PHP ato yg lain) trims
Mas Fazar,
Saya mo nanya, gimana cara menyimpan cache game yang disimpan di nginx atau PHP.
Sebab ada beberapa game online udah habis dipatching kalo dibuka lagi tidak ngehit, maka saya punya pemikiran patch game disimpan dalam database seperti halnya youtube. Saya lihat seperti di IP COP ada, cuman ini mo saya praktekkan di Ubuntu Server, Thx
Squid khususnya yg versi 2.7 atau turunannya memang bisa fleksibel untuk disandingkan dengan rewriter (php, perl, ruby, dsb) dan memaksa object yg dicache disimpan terpisah kedalam direktori lain yg kemudian dapat diproses kembali oleh webserver (apache, nginx, dsb).
Untuk di ipcop atau sejenisnya (ipfire dan smoothwall) cache game dapat dilakukan menggunakan update accelerator. yg diperlukan hnya mengedit konfigurasinya agar matching dengan url-url patch game. Rasanya cukup susah memporting update accelerator ke ubuntu, kecuali masbro punya teknik dan pendekatan lain.
Nah, khusus untuk update accelerator, ane mungkin bisa bantu… yg ane perlukan adalah daftar url dan ekstensi file patch game. Url dan ekstensi ini bisa dilihat di squid access.log.
Kalo kombinasi nginx/apache + ruby + squid + ubuntu, terus terang ane masih blank. Kemaren sempat baca2 dan jujur ane tertarik dgn implementasi ruby karena codingnya tampak lebih sederhana, tapi blum sempat ujicoba langsung.
Monggo add facebook ane di facebook.com/symbio agar kita bisa berdiskusi lebih lanjut. Thanks.
dari ispnya si udah pake proxy, nah saya pengin pake proxy sendiri…gt gan…mhn bantuannya, td saya udah coba yang skenario 1, tapi gagal…
ether0=isp 192.168.10.35
ether1=proxy 192.168.1.1
ether2=hotspot 192.168.80.1
ether3=office 10.50.4.1
ether4=lab 10.50.5.1
biar ether2-4 lewat proxy, scripnya gmn gan..? maklum pemula
ane mau tanya lagi gan
di port 4 RB450G terhubung dengan RB433AH untuk hotspot menggunakan usermanager
apakah usermanager di RB433 bisa di remote jarak jauh?
So pasti bisa, coba baca2 tutorialnya di mikrotik wiki.
mas mao nanya donk :
1. kalo pas update game seperti xshot : proxy en mikrotik udah terinstall bagus, dan sudah tercache.. tapi kenapa yah saya, anak2 yang maen game jadi ngelag ? padahal saya melihat di mikrotiknya tidak terlalu besar output ke internetnya.. tapi jadi ngelag.. xshotnya juga sudah tercache cumen pas nge setiap kali patch pasti jadi ngelag..
2. kalo proxy hit seperti yang diatas itu kan queue simple.. nah kalo untuk treenya mas ??? apa perlu dilimit ?? gunanya untuk apa ya ?? apa biar dia tidak ngelag ?? atau kadang jadi rto ?
nah, kalo kasusnya gitu, coba limit proxy hit nya dikisaran 20 – 30 Mb/s, jangan lebih dari itu agar load di reouterboard tidak melonjak. solusi lain, gunakan routerboard yg lebih mumpuni/spek tinggi. kalo udah taro rule di simple queue, ndak perlu lagi dibikinin rule di queue tree.