Selasa, 08 Juli 2014

Web Proxy Mikrotik

Penjelasan Web Proxy Mikrotik - Proxy adalah suatu aplikasi yang menjadi perantara antara client dengan server, sehingga client tidak akan berhubungan langsung dengan server-server yang ada di Internet. Mikrotik memiliki fitur Web proxy yang bisa digunakan sebagai proxy serveryang nantinya akan menjadi perantara antara browser user dengan web server di Internet.

Cara Kerja Web Proxy
Ketika user membuka suatu situs, maka browser akan mengirimkan HTTP request ke Server, namun karena computer user ini menggunakan web proxy maka proxy akan menerima HTTP request dari browser tersebut kemudian membuat HTTP request baru atas nama dirinya. HTTP request baru buatan Proxy inilah yang diterima oleh Server kemudian Server membalas dengan HTTP Response dan diterima oleh Proxy yang kemudian diteruskan ke browser user yang sebelumnya melakukan request.
Perbedaan Web Proxy dengan NAT
Mungkin penjelasan cara kerja web proxy di atas hamper mirip dengan NAT (Network Address Translation) Masquerade, namun sebenarnya berbeda. Karena jika menggunakan NAT, maka Mikrotik hanya akan meneruskan HTTP Request yang dibuat oleh computer user. HTTP request tersebut diteruskan ke Server oleh Mikrotik tanpa membuat HTTP request baru seperti halnya pada Web Proxy.

NAT hanya menangani paket data saja, sedangkan Proxy bekerja dengan memeriksa konten dari HTTP Request dan Response secara detail, sehingga Proxy sering juga disebut sebagai 
Application Firewall.

Web Proxy Membutuhkan Resource CPU Besar
Jika mengaktifkan fitur Web proxy pada Mikrotik anda harus memperhatikan kapasitas memori dan CPU. Karena Mikrotik akan membuat HTTP Request baru atas nama dirinya, sehingga membutuhkan pemakaian Resource memori dan CPU yang lebih besar daripada hanya menggunakan NAT. Jika pemakaian resource Mikrotik berlebihan maka akan membuat Router Mikrotik anda hang dan koneksi internet pun akan jadi lambat.

Keuntungan menggunakan Web Proxy
Fungsi dari proxy secara umum adalah sebagai Caching, Filtering, dan Connection Sharing. Semua fungsi ini dapat anda temui pada Web Proxy Mikrotik. Berikut ini adalah Keuntungan / Manfaat Web Proxy pada Mikrotik :

Caching
Web Proxy Mikrotik dapat melakukan caching content yaitu menyimpan beberapa konten web yang disimpan di memori Mikrotik. Konten tersebut akan digunakan kembali apabila ada permintaan pada konten itu lagi. Misalnya anda membuka 
Facebook.com, maka file-file pada web tersebut seperti image, script, dll akan disimpan oleh web proxy, sehingga jika lain kali anda membuka Facebook maka tidak perlu konek ke Internet pun halaman itu bisa dibuka dengan mengambil file dari cache proxy. Hal ini dapat menghemat bandwidth Internet dan mempercepat koneksi.

Filtering
Dengan menggunakan Web Proxy anda dapat membatasi akses konten-konten tertentu yang di-request oleh client. Anda dapat membatasi akses ke situs tertentu, ekstensi file tertentu, melakukan 
redirect (pengalihan) ke situs lain, maupun pembatasan terhadap metode akses HTTP. Hal tersebut tidak dapat anda lakukan jika hanya menggunakan NAT.

Connection Sharing
Web Proxy meningkatkan level keamanan dari jaringan anda, karena computer user tidak berhubungan langsung dengan web server yang ada di Internet.


" Queue dengan SRC-NAT dan WEB-PROXY "

Pada penggunaan queue (bandwidth limiter), penentuan CHAIN pada MENGLE sangat menentukan jalannya sebuah rule. Jika kita memasang SRC-NAT dan WEB-PROXY pada mesin yang sama, sering kali agak sulit untuk membuat rule QUEUE yang sempurna. Penjelasan detail mengenai pemilihan CHAIN, dapat dilihat pada manual Mikrotik di sini.
Percobaan yang dilakukan menggunakan sebuah PC dengan Mikrotik RouterOS versi 2.9.28. Pada mesin tersebut, digunakan 2 buah interface, satu untuk gateway yang dinamai PUBLIC dan satu lagi untuk jaringan lokal yang dinamai LAN.
 
[admin@instaler] > in pr
Flags: X - disabled, D - dynamic, R - running
 #    NAME       TYPE    RX-RATE    TX-RATE    MTU 
 0  R public     ether   0          0          1500
 1  R lan        wlan    0          0          1500
Dan berikut ini adalah IP Address yang digunakan. Subnet 192.168.0.0/24 adalah subnet gateway untuk mesin ini.
 
[admin@instaler] > ip ad pr
Flags: X - disabled, I - invalid, D - dynamic
 #  ADDRESS           NETWORK      BROADCAST      INTERFACE
 0  192.168.0.217/24  192.168.0.0  192.168.0.255  public   
 1  172.21.1.1/24     172.21.1.0   172.21.1.255   lan
Fitur web-proxy dengan transparan juga diaktifkan.
 
 [admin@instaler] > ip web-proxy pr
                 enabled: yes
             src-address: 0.0.0.0
                    port: 3128
                hostname: "proxy"
       transparent-proxy: yes
            parent-proxy: 0.0.0.0:0
     cache-administrator: "webmaster"
         max-object-size: 4096KiB
             cache-drive: system
          max-cache-size: none
      max-ram-cache-size: unlimited
                  status: running
      reserved-for-cache: 0KiB
  reserved-for-ram-cache: 154624KiB
Fungsi MASQUERADE diaktifkan, juga satu buah rule REDIRECTING untuk membelokkan traffic HTTP menuju ke WEB-PROXY
 
[admin@instaler] ip firewall nat> pr
Flags: X - disabled, I - invalid, D - dynamic
 0   chain=srcnat out-interface=public
     src-address=172.21.1.0/24 action=masquerade
 1   chain=dstnat in-interface=lan src-address=172.21.1.0/24
     protocol=tcp dst-port=80 action=redirect to-ports=3128
Berikut ini adalah langkah terpenting dalam proses ini, yaitu pembuatan MANGLE. Kita akan membutuhkan 2 buah PACKET-MARK. Satu untuk paket data upstream, yang pada contoh ini kita sebut test-up. Dan satu lagi untuk paket data downstream, yang pada contoh ini kita sebut test-down.
Untuk paket data upstream, proses pembuatan manglenya cukup sederhana. Kita bisa langsung melakukannya dengan 1 buah rule, cukup dengan menggunakan parameter SRC-ADDRESS dan IN-INTERFACE. Di sini kita menggunakan chain prerouting. Paket data untuk upstream ini kita namai test-up.
Namun, untuk paket data downstream, kita membutuhkan beberapa buah rule. Karena kita menggunakan translasi IP/masquerade, kita membutuhkan Connection Mark. Pada contoh ini, kita namai test-conn.
Kemudian, kita harus membuat juga 2 buah rule. Rule yang pertama, untuk paket data downstream non HTTP yang langsung dari internet (tidak melewati proxy). Kita menggunakan chain forward, karena data mengalir melalui router.
Rule yang kedua, untuk paket data yang berasal dari WEB-PROXY. Kita menggunakan chain output, karena arus data berasal dari aplikasi internal di dalam router ke mesin di luar router.
Paket data untuk downstream pada kedua rule ini kita namai test-down.
Jangan lupa, parameter passthrough hanya diaktifkan untuk connection mark saja.
 
[admin@instaler] > ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; UP TRAFFIC
     chain=prerouting in-interface=lan
     src-address=172.21.1.0/24 action=mark-packet
     new-packet-mark=test-up passthrough=no
 1   ;;; CONN-MARK
     chain=forward src-address=172.21.1.0/24
     action=mark-connection
     new-connection-mark=test-conn passthrough=yes
 2   ;;; DOWN-DIRECT CONNECTION
     chain=forward in-interface=public
     connection-mark=test-conn action=mark-packet
     new-packet-mark=test-down passthrough=no
 3   ;;; DOWN-VIA PROXY
     chain=output out-interface=lan
     dst-address=172.21.1.0/24 action=mark-packet
     new-packet-mark=test-down passthrough=no
Untuk tahap terakhir, tinggal mengkonfigurasi queue. Di sini kita menggunakan queue tree. Satu buah rule untuk data dowstream, dan satu lagi untuk upstream. Yang penting di sini, adalah pemilihan parent. Untuk downstream, kita menggunakan parent lan, sesuai dengan interface yang mengarah ke jaringan lokal, dan untuk upstream, kita menggunakan parentglobal-in.
 
[admin@instaler] > queue tree pr
Flags: X - disabled, I - invalid
 0   name="downstream" parent=lan packet-mark=test-down
     limit-at=32000 queue=default priority=8
     max-limit=32000 burst-limit=0
     burst-threshold=0 burst-time=0s
 1   name="upstream" parent=global-in
     packet-mark=test-up limit-at=32000
     queue=default priority=8
     max-limit=32000 burst-limit=0
     burst-threshold=0 burst-time=0s
Variasi lainnya, untuk bandwidth management, dimungkinkan juga kita menggunakan tipe queue PCQ, yang bisa secara otomatis membagi trafik per client.

Tidak ada komentar:

Posting Komentar