Pengaturan Proxy Eksternal Dengan Mikrotik

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 :

  1. Mudah untuk di sesuaikan konfigurasinya sesuai dengan kebutuhan.
  2. Penggunaan access control lists (ACL) yang dapat digunakan untuk keperluan tertentu.
  3. Squid (khususnya versi 2.7) dapat “dipersenjatai” dengan url redirector. Pada suatu kondisi, redirector dapat digunakan untuk menangani akses konten dinamik (seperti video Youtube).
  4. 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 :

ext proxy mikrotik

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…

About Fajar R. 297 Articles
Seseorang yang antusias terhadap dunia internet, IT, networking dan komputer. Tipikal introvert tapi suka berorganisasi dan adventuring ke tempat-tempat baru.

21 Komentar

  1. mas fazar saya udah buat nat ke proxy externalnya udah bisa akses,tapi log access nya gak jalan seperti waktu setting manual di browsernya..masalahnya dimana ya mas??

  2. gan,,numpang nanya..saya memakai ipcop (external proxy) + mikrotik..setelah saya updte ipcop npa jdi tidak bisa browsing? Apakah metode NAT sudah tidak berlaku di ipcop yg pke squid 3 ? apa hrs memakai metode mangle?

  3. mau nanya mas, sy pake ipfire + mikrotik pc,,, modem usb sy tancepin di pc ipfire dengan alamat ip gren 192.168.0.2 , di mikrotik pake 3 interface, 1 ke ipfire dgn ip 192.168.0.1 , 1 untuk warnet: 192.168.137.0/24 , 1 untuk hotspot 192.168.1.0/24 ,,, yang saya tanya pengaturan di mikrotik agar bisa menggunakan proxi ipfire,,, apa hanya mengatur route ke 192.168.0.2 atau bmn? makasih

  4. Mas Fazar, untuk port 80 dibelokkan ke proxy, sesuai tutorial di atas, sudah sy praktekkan & berhasil caching hit proxy,
    pertanyaannya untuk port 443 , apakah mengikuti pola yg sama?, saya sudah coba kok nggak hit ya 443 nya (note. certificate dll sudah di instal)
    system :ipfire 2.15 + squid 347 core 81-dirty + rb750gl

    • sama kok mas.. tinggal belokin 443 nya pake nat. kemudian amati log nya, kalo sudah sesuai prosedur bakal muncul logging bahwa https juga ikut ter-cache. oiya, untuk https mungkin harus banyak eksperimen dan siap-siap banyak error. selamat oprek mas. :)

  5. mas mau tanya bagaimana cara melihat access.log proxy eksternal diwebproxy mikrotik.?maklum saya pemula menggunakan miktorik..trims

    • jika mas pake konsol ssh atau remote pake putty, bisa lakukan
      tail -f /var/log/squid/access.log
      jika ingin melihatnya pakai mikrotik, bisa menggunakan fasilitas ssh client yang ada di mikrotik, silakan klik terminal di winbox (contoh ip proxy 192.168.1.1)
      /system ssh 192.168.88.1
      silakan login dengan username/password proxy, dan lakukan tail seperti di atas.

      • mas fajar maaf pertanyaan saya kemarin kurang sepesifik. maksud saya bagaimana access.log proxy eksternal bisa disimpan ke tab cache content web proxy mikrotik?

          • brarti proxy eksternal memang cache contentnya tidak dapat disimpan di content web proxy mikrotik ya mas.?mksh sebelumnya..maaf newbie saya mas..

          • Kalo cache content masih bisa masuk di web proxy mikrotik, dengan syarat eksternal proxy nya dijadikan parent proxy atau sibling web proxy mikrotik. Khusus untuk access.log, memang nggak bisa di taro kedalam proxy internal mikrotik.

          • brarti parentnya ndak cukup dinat mikrotik ya mas.?rulenya yang berfungsi mendirect ip local untuk dibelokan ip proxy dan portny proxy..jadi diproxy sendiri juga disetting parentnya juga ya.?begitu mas maksudnya..

  6. Siang Om, maaf nih saya mau tanya kenapa proxy saya error kalau dipasangkan dengan mikrotik dan internetnya pun jadi tidak berjalan alias no conection internet tapi kalau proxy saya lepas lagi internet bisa berjalan secara normal, padahal sebelumnya tidak ada masalah, saya udah coba cek, tapi tidak diketemukan penyebabnya, mohon pencerahannya
    Terima kasih

    • cek kembali mangle atau nat nya mas. kondisi no connection apakah cuman nggak bisa browsing? udah cek kondisi ping nya apakah masih normal apa nggak.

  7. Malam Om,pa kabar semoga baik – baik saja…

    Untuk masuk ke gui modem belum bisa – bisa dengan nat

    /ip firewall nat
    add action=src-nat chain=srcnat comment=”NAT ke Modem” disabled=no dst-address=192.168.1.2 out-interface=ether1 to-addresses=192.168.1.1

    kira nya ada cara lain selain di diasble route proxy nya.

    terima kasih

  8. Halo om fazar, senang membaca tutor agan.
    Nubi mohon pencerahannya,
    Load Balance 2Mb+1Mb==RB450G(Squid 3.0/Lusca)==client
    Saya pengen mengarahkan semua requet internet proxy HANYA ke modem yg 1Mb ada rule tersendiri ya om??

    • pake policy routing gans.. contoh nya ada disini : http://goo.gl/lHM7Z1
      dalam contoh disitu routingnya berdasarkan address list, nah tinggal di modif agar semua koneksi HTTP/HTTPS dari proxy di belokin ke modem yang agan 1 Mb.

Leave a Reply

Alamat email Anda tidak akan dipublikasikan.


*