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…
Gan ane mau tanya
Ether1 : modem
Ether2 : Local
Ether3 : Proxy
Ether4 : RB433AH
yang ingin ane tanyakan
gimana caranya agar RB433AH itu bisa NgeHIT PROXY?
mohon bantuannya gan
pertama disisi proxy tambahkan dalam squid.conf baris berikut ini :
zph_mode tos
zph_local 0x30
kemudian disisi mikrotik, tambahkan mangle untuk mengenali tos/qos dari squid tadi :
/ip firewall mangle
add action=mark-packet chain=postrouting comment="ToS/QoS Proxy" dscp=12 new-packet-mark=packet-hits passthrough=no
trus, di simple queue tambahkan rule berikut agar hit proxy jadi loss (ndak loss sih.. disini ane contohkan 40 Mb agar RB nggak terbebani).
/queue simple
add comment="PROXY HIT" interface=localnet max-limit=40M/40M name="Cache HIT" packet-marks=packet-hits priority=1
atur agar rule tersebut berada di posisi paling atas. that’s it! your proxy and mikrotik is ready to rocks! :)
catatan : zph pada contoh ini hanya berlaku untuk squid 2.7 atau lusca. tidak dapat jalan di squid 3.x
Terima kasih gan
mantap berhasil
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?
bagi yang ingin settingan terbaru proxy dengan cache youtube 1hit full (no-range) dan mikrotik bisa add YM saya : spider84_gun@live.com
atau FB saya http://www.facebook.com/mikrotik.medan
sebelumnya sy ucapkan “sukses untuk mas fazar…..”
mas fazar sy mau tanya, klo pc proxy punya hdd ada dua, itu gimana cara membagi/mempartisinya? kebetulan sy punya pc hdd nya ada dua.
sebelumnya sy ucapkan terimakasi….
silakan create partition dulu untuk harddisk yang kedua misalnya dipartisi dengan mount point /cache2, kemudian tambahkan konfigurasi cache_dir /cache2
mas fazar, aku baru mempelajari IPfire. mau tanya:
1. untuk membuat partisi cache di IPFire bagaimana?
2. kalaupun menggunakan hardisk kedua untuk konfigurasinya bagaimana?
3. apakah IPFire bisa di install addons webmin?
Terimakasih mas fazar, aku masih belajar.
untuk pertanyaan 1 dan 2, bisa dilakukan dengan fasilitas ExtraHD di web interface, tinggal pasang harddisk kedua, kemudian partisi dan mount dengan menggunakan ExtraHD. Partisi cache defaultnya di /var/log/cache, namun bisa disesuaikan dengan keinginan kita dengan memodifikasi file /srv/web/ipfire/cgi-bin/proxy.cgi
if ($proxysettings{'CACHE_SIZE'} ne '0')
{
print FILE "cache_dir aufs /var/log/cache $proxysettings{'CACHE_SIZE'} $proxysettings{'L1_DIRS'} 256\n\n";
}
menjadi
if ($proxysettings{'CACHE_SIZE'} ne '0')
{
print FILE "cache_dir aufs /partisi/cache/yang/baru $proxysettings{'CACHE_SIZE'} $proxysettings{'L1_DIRS'} 256\n\n";
}
perhatikan! ganti /partisi/cache/yang/baru dengan partisi cache yg masbro tentukan sendiri.
untuk webmin, sepenuhnya belum diujicoba dan tidak diketahui kompatibilitasnya dengan IPFire. bukankah IPFire sudah punya web interface yg mumpuni untuk urusan konfigurasi server? :)
selamat mengoprek, silakan koreksi ane kalo ada kesalahan karena ane juga masih belajar. sukses selalu buat masbro.
Thank mas fazar ilmunya, aku praktekan dulu kalo mentok aku tanya lagi ya mas…
Thanks om..
barusan test and working 100%
ada tutorial cache file”update dari launcher game gak om?
Thx before
untuk patch game, silakan cek path url patch nya di access_log. kemudian bikinin refresh_pattern nya. good luck.
Mas fazar.mau nanya nih
aku baru nyoba buat server proxy
dengan ip gateway mikrotik 192.168.88.1
ip client 192.168.88.0/24
ip proxy 192.168.88.254
port proxy 3128
pake Lusca.
proxy sudah jalan dan mencache cukup baik pada video,tapi masalahnya
musti di pakaikan secara manual lewat browser / lan setting di setiap client
aku coba tutorial NAT dan routing yang di atas lewat mikrotik RB750 malah jadi putus dan tidak dapat browsing
mohon pencerahannya :D
aku baru belajar jaringan dan mikrotik :D
proxy sejajar klien ya.. coba gunakan nat berikut (untested! sesuaikan out-interface nya.. )
/ip firewall address-list
add address=192.168.88.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.88.254 to-ports=3128
/ip firewall nat
chain=srcnat out-interface=ToSwitch src-address=192.168.88.0/24 protocol=tcp action=src-nat to-addresses=192.168.88.1 to-ports=0-65535
kemudian pastikan proxy nya udah transparent
http_port 3128 transparent
semoga membantu.. dan silakan dikoreksi kalo ane salah.
mas fazar, jawaban yang memuaskan. say perlu belajar instalasi dan konfigurasi IPFire. terimakasih jawabannya mas.
sama-sama.. semoga bermanfaat. :)
mas, kalo nat-nya untuk hotspot gimana?, misal
ether1 = 192.168.1.1 = modem
ether2 = 192.168.2.2 = lan
ether3 = 192.168.3.2 = proxy
ether4 = 192.168.4.1 = hotspot
ether5 = 192.168.5.1 = ga dipake
tambahkan aja nat buat redirect http request dari hotspot. misalnya ip proxy 192.168.3.1 (sekelas ether3) dan port proxy 3128.
/ip firewall mangle
add action=dst-nat chain=dstnat comment="hotspot to ext. proxy" dst-port=80 \
protocol=tcp src-address=192.168.4.0/24 to-addresses=192.168.3.1 to-ports=3128
mas fazar, thanks infonya. mau tanya lagi nih. kalo Routerboard yang bagus untuk jaringan point to multi point pake RB seri berapa( untuk station n client) 3 buah client. dan di tiap client menghandle 25 komputer????, apakah sanggup dg bandwith 2 MB menhandle 75 komp + 25 Komp (hotspot) dg komp proxy core i3 ram 8 giga???
untuk yg seperti ini ane saranin yg RB nya gigabit, prosesor yg rada gede, dan memori yg lumayan (khususnya RB yg dipakai sebagai gateway utama). minimal seperti RB450G.. kalo ada budget beli yg lebih dari itu. untuk yg handle klien (25 pc) pake RB750 biasa ane rasa cukup (dan harganya murah meriah.. ditempat ane RB750 pernah dipake ampe 60 klien).
bandwidth 2 mb untuk 100 pc (75+25) untuk zaman sekarang sepertinya nya tidak mencukupi apalagi kalo dipake untuk aktivitas berat (kirim email via SMTP, upload file, browsing, dsb) tapi kalo untuk aktivitas ringan (chatting di YM, dll) masih mencukupi kok.
komputer proxy i3 dan ram 8gb sudah sangat mencukupi, usahakan untuk cache dibuat partisi terpisah dengan harddisk yg berbeda. semoga bermanfaat. :)
thans mas, bermanfaat banget n slalu memantau perkembangan https://fazar.net/ krn isinya berbobot n halamannya classic.
trims atas komentar dan kunjungannya. semoga postingnya bermanfaat.
Mas fazar, nanya lagi nih..,
1. saya punya kendala untuk mengcompile jenis procesor core i3, karena di Safe Cflags/Intel cpu info core i3 nggak ada, ketika menggunakan Safe Cflags/Intel core i5 malah jadi error. terus untuk core i3 Safe Cflags/Intel harus seperti apa ya mas???
2. Idealnya Hardisk 500 Giga sata untuk membuat pembagian partisinya bagaimana mas??
3. terus kalo hardisk SSD yang 120 Giga pembagian yang ideal atau yang bagusnya seperti apa mas???
4. apakah mas fazar sudah mencoba ClearOS 6.3 dijadikan komputer Proxy server untuk dijadikan mesin produksi?, kalo sudah pernah performanya bagaimana?
Mohon sarannya mas dan terimakasih telah berbagi dan tidak bosan menjawab pertanyaan dari saya yang masih belajar mengenal jaringan n linux.
CFLAGS=”-march=core2 -O2 -pipe -fomit-frame-pointer”
untuk partisi biasanya disesuaikan selera. contoh aja : / 5 gb, /home 10 gb, /swap 512 mb, sisanya bisa aja dibikin /cache kalo mau dipake buat proxy dgn harddisk tunggal.
wah… SSD, sedap! partisinya tetap sesuai selera. kalo mau dibikin proxy, partisi /cache nya taroh aja di SSD sedangkan untuk OS ditaroh di harddisk lain (skenario 1 hd, 1 SSD). response time yg kecil di SSD jadi keuntungan tersendiri jika dijadikan partisi penyimpanan cache. sesuaikan juga besaran cache nya dengan ukuran memori fisik agar kinerjanya maksimal.
ane pernah nyoba ClearOS tapi bukan versi 6.3. menurut ane pribadi, fiturnya bloated (banyak yg nggak kepake dan banyak menggunakan resource) dan kurang efisien jika menjalankan proxy. ini menurut ane pribadi lho.. tapi ada juga yg suka pake clearos karena kemudahannya untuk digunakan khususnya untuk yg baru belajar linux. squid idealnya berjalan di sistem yang ramping agar bisa memiliki kinerja maksimum dan agresif, contohnya linux server (centos, ubuntu server, dsb), keluarga bsd (openbsd, freebsd), atau jika memang terpaksa menggunakan konfigurasi via browser, gunakan distro firewall dengan advanced proxy (seperti IPCop, Smoothwall. PFSense, atau IPFire – khusus untuk IPFire ada posting ane yg berkenaan dengan distro firewall yg satu ini).
demikian sedikit masukan dari saya. semoga bermanfaat… insyaAllah ane ndak bosen menjawab pertanyaan dari masbro. sukses selalu buat mas.. :)
kalau boleh tau apa kelebihan yg kedua dibanding yang pertama karena saya selama ini selalu Skenario pertama : menggunakan NAT. trims
dengan menggunakan routing kita bisa menentukan arah koneksi browsing secara lebih spesifik. dengan nat sebenarnya juga tidak masalah, namun saya menggunakan alternatif lain (pakai routing) untuk menghindari terjadinya nat looping.
semoga bermanfaat. :)
bisa diberi contoh ip dari awal spt ip modem et 1 sampai et5 ?
dalam lingkungan saya berikut IP address yg digunakan :
ether1 = 192.168.1.1 = lan
ether2 = 192.168.2.2 = modem 1
ether3 = 192.168.3.2 = modem 2
ether4 = 192.168.80.1 = nggak dipake
ether5 = 192.168.90.1 = proxy
mas kalau yng topologi 2 speedy itu. untuk Nat nya sendiri gimna ya settinganya..
cuma saya pake proxynya sejajar dengan client.
ip modem 1 :192.168.2.1/24
ip modem 2 :192.168.3.1/24
LAN :192.168.1.0/24
PROXY :192.168.1.100
Nah untuk nat nya sendiri gimana ya mas? mohon masukkanya..thks.
ditempat ane cuman pake 1 line. jadi ane ndak ada clue nih untuk yg multi line. semoga ada yg bersedia menambahkan pengaturan untuk multi line :(