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…

191 Comments

  1. fery

    mas saya mau tanya,yang dimaksud squid proxy itu pke os apa yah?maaf saya masih mau belajar proxy,soalnya yang saya ketahui.ubuntu dan clear os,dan settingan di atas apa bisa dikonfigurasikan di clearos

    • fazar

      squid proxy biasanya di instal pada sistem berbasis *nix seperti linux atau bsd. clearos dan ubuntu sendiri termasuk kedalam keluarga besar linux.
      pengaturan seperti diatas bisa di gunakan untuk clearos.

  2. tanya lagi mas, untuk single interface apakah harus seting qos??

    • fazar

      kalo mas pake traffic shaper pihak ketiga seperti webhtb atau mikrotik, qos kudu di setting juga untuk menghindari perlambatan untuk object yg hit di proxy.

  3. mas, alhamdulillah aku udah bisa install ipfire single interface di virtualbox, lagi belajar membuat partisi untuk cache dengan ipfire, caranya gimana ya mas??

    • fazar

      default nya cache_dir ipfire ada di /var/log/cache (otomatis dibuatkan sewaktu instalasi). untuk menambahkan cache_dir lainnya, silakan tambahkan di /var/ipfire/proxy/advanced/acls/include.acl

  4. ika

    mas fajar.. melalui tutorial mas fajar bertambah ilmu..
    saya ada problem mas mengenaai mikrotik
    begini topologi saya :
    Inet–>Modem–>RB 750–>Switch–> Client.
    Eth 1 : 192.168.1.2(Mikrotik –> Modem)
    Eth 2 : 192.168.2.1 (Mikrotik –> lan)
    Eth 3 : 192.168.3.1( Mikrotik –> wan (ap 192.168.3.2)

    Permasalahan :
    1.Ping dari Proxy ke Mikrotik lancar tapi dari mikrotik ke
    Proxy RTO ( gagal terus padahal udah di NAT sesuai tutorial
    Mas fajar ).
    2.proxy tidak mau Redirect padahal sudah di set tranparent di
    proxy maupun di mikrotik ( kalau pakai manual di browser
    udah bisa )
    Mohon pencerahanya …..syukur2 ada eboknya.(anithasyaika_at_yahoo_dot_co_dot_id)

    • fazar

      kasus yg ini mirip seperti komentar sebelumnya (atas nama agus mahmudi), coba sist cek komentar tsb.

  5. apakah cara diatas juga bisa langsung diterapkan di ipcop hanya dengan menambah
    di /etc/rc.d/rc.firewall.local ?
    ataukah perlu konfigurasi lainnya?

    • fazar

      kalo nggak salah rules untuk transparent proxy udah aktif pada saat advanced proxy nya aktif. kesimpulannya, bisa di implementasikan seperti demikian.

  6. aldrian

    wew lagi Online nih Om kayak na yah…….dah muter2 om blom nemu – nemu.

    oh iyah saya dah pake mangle yang om kasih nih PROXY sih ngeHIT pi napa yah pas lagi hit gituh PB ngelg ping jadi kuning ….

     

    • aldrian

      Gan lapor ngehit dah ga ngelag ………
      sekarang kendala saya ga bisa buka website gemscool kebuka bisa untuk login di web nya gemscool ga masuk2…..
      kenapa yah ?

      maksih

      • fazar

        coba ini:
        refresh_pattern -i gemscool.com 0 0% 0

  7. aldrian

    Makasih Om ,WORK 100%  nih……semoga di kasih kesehatan selalu….amien

    saya mo tanya nih kalo failover proxy external nya gimana yah ,saya dah coba pake  netwatch ituh kalo PC proxy mati doang,nah yg jadi kendala kalo squid nya yg tiba2 stop atau error ,saya coba juga pake tool fetch,posisi web apache dah jalan saya test squid nya di bikin stop ga jalan.ada ga Om clue nya

    Thank’s

    • fazar

      nah kalo yg demikian pernah dibahas sama temen-temen di forum linux Indo. coba jalan-jalan kesana. :)

      • aldrian

        dah muter2 om blom nemu – nemu.

        oh iyah saya dah pake mangle yang om kasih nih PROXY sih ngeHIT pi napa yah pas lagi hit gituh PB ngelg ping jadi kuning ….

  8. agus mahmudi

    terima kasih mas fajar.. melalui tutorial mas fajar membuat banyak orang bertambah ilmu..
    saya ada problem mas mengenaai squid dan mikrotik
    begini topologi saya :
    Inet–>Modem (bridge)–>RB 750(Dial pppoe)–>Switch–> Client.
    Eth 1 : 192.168.1.2(Mikrotik –> Modem)
    Eth 2 : 192.168.2.1 (Mikrotik –> Clientt)
    Eth 3 : 192.168.3.1( Mikrotik –> Proxy Eksternal)
    IP CILENT : 192.168.2.2 – 192.168.2.255
    IP PROXY SQUID : 192.168.3.2
    Permasalahan :
    1.Ping dari Proxy ke Mikrotik lancar tapi dari mikrotik ke
    Proxy RTO ( gagal terus padahal udah di NAT sesuai tutorial
    Mas fajar ).
    2.proxy tidak mau Redirect padahal sudah di set tranparent di
    proxy maupun di mikrotik ( kalau pakai manual di browser
    udah bisa )
    3. status Squid sudah running tapi kok ga ada hit pada Log nya.
    dan saya lihat di squidclient mgr:client_list begini
    keteranganya mas:
    root@proxyku:~# mgr:client_list
    mgr:client_list: command not found
    root@proxyku:~# mgr:client_list
    mgr:client_list: command not found
    root@proxyku:~# squidclient mgr:client_list
    HTTP/1.0 200 OK
    Server: squid/2.7.STABLE9
    Date: Tue, 07 May 2013 14:20:22 GMT
    Content-Type: text/plain
    Expires: Tue, 07 May 2013 14:20:22 GMT
    X-Cache: MISS from proxy
    X-Cache-Lookup: MISS from proxy:3128
    Via: 1.0 proxy:3128 (squid/2.7.STABLE9)
    Connection: close

    Cache Clients:
    Address: 127.0.0.1
    Name: 127.0.0.1
    Currently established connections: 1
    ICP Requests 0
    HTTP Requests 0

    Address: 192.168.2.100
    Name: 192.168.2.100
    Currently established connections: 3
    ICP Requests 0
    HTTP Requests 22
    TCP_MISS 22 100%

    TOTALS
    ICP : 0 Queries, 0 Hits ( 0%)
    HTTP: 22 Requests, 0 Hits ( 0%)

    Mohon mas fajar untuk membantu saya. terima kasih..

    • fazar

      pertama, seharusnya nya dari proxy juga bisa ngeping ke mikrotik, karena dari mikrotik bisa nge-ping ke proxy nya. apakah ada implementasi firewall atau sejenisnya di mikrotik? dan apakah dari proxy bisa ngeping keluar (misalnya yahoo.com) dan mengakses internet dengan baik?

      kedua, kalo di setting manual di browser bisa, berarti pengaturan iptables nya belum benar.

      ketiga, klien yg akses sepertinya baru 1 orang. biarkan proxy di akses banyak user agar cache nya terisi. saat cache udah mulai terisi, maka potensi untuk hit juga akan terus naik. demikian dan semoga membantu.

      • agus mahmudi

        mf mas fajar baru reply..
        koneksi dari proxy ke internet lancar lancar mas..kalau saya rasa ini nyangkut di MT. terbukti ping dari MT ke proxy ga bisa…pengaturan iptables di proxy sudah saya sesuaikan dengan kondisi jaringan saya mas..kalau saya pakai /ip route
        add check-gateway=ping distance=1 gateway=192.168.3.2 routing-mark=to-ext-proxy
        kenapa ya mas selalu “unreachable”
        ataukah karena saya pakai PPPOE dari MT ya mas.. mohon kiranya diberikan pencerahan. terima kasih..

        • fazar

          unreachable karena ping nya bermasalah (gateway diperiksa dengan ping). coba gunakan nat aja.

  9. Salam kenal gan.
    Kenapa patch game grandchase dan elsword jika melalui proxy tidak bisa y?
    Tapi kalau proxy sy disable, baru patchnya berjalan dengan baik.
    Mohon bantuannya.

    Tks.

  10. ramon

    udah mas, udah paling atas kubuat mas squidnya,, gmn itu ya mas..?

     

Leave a Reply

Your email address will not be published. Required fields are marked *