05 February 2012

Cara Mudah Seting RB 750 Web Proxy External IpCop

Cara Seting RB 750  ini adalah setingan Mesin RB 750 v4.11 saya yang saya pelajari dari postingan mas Adeldian di Forum Mikrotik Indonesia mengenai Seting RB 750 Web Proxy External pada Mikrotik mengunakan IpCop sebagai System penyimpan Proxy Server nya.
Topografi di tempat saya yang akan saya jabarkan disini adalah seperti ini
Seting RB 750, topografi lan, web proxy, external

Seting RB 750 IP ADDRESS TIAP MESIN

Seting RB 750

set ip address LAN : 192.168.1.1
set ip address PUBLIK : 10.10.0.3
set ip address PROXY : 192.168.0.1
seting pada mesin IpCop p4 jadul peninggalan mas bayu
set ip address GREEN : 192.168.0.2
seting pada komputer client
set ip address client : 192.168.1.2/24
SETINGAN PORT IPCOP
gateway ipcop set di ip proxi di mikrotik rb750 : 192.168.0.1
seting pada mesin ip cop jalan di port : 878 dan aktifkan cache nya menurut kebutuhan
SETINGAN MIKROTIK RB 750
set ip address
Code:
/ ip address
add address=10.10.0.3/24 network=10.10.0.0 broadcast=10.10.0.255 \
    interface=PUBLIK comment="ip internet" disabled=no
add address=192.168.1.1/24 network=192.168.1.0 broadcast=192.168.1.255 \
    interface=LAN comment="ip lokal" disabled=no
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 \
    interface=PROXY comment="ip IpCop" disabled=no
seting route
Code:
/ ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 scope=255 target-scope=10 \
    comment="gateway" disabled=no
seting DNS
Code:
/ ip dns
set primary-dns=8.8.8.8 secondary-dns=8.8.4.4 \
    allow-remote-requests=no cache-size=2048KiB cache-max-ttl=1w
/ ip dns static
add name="10.10.0.3" address=10.10.0.3 ttl=1d
seting NAT
Code:
/ ip firewall nat
add chain=dstnat protocol=tcp dst-port=81 action=dst-nat \
    to-addresses=192.168.0.2 to-ports=81 comment="Untuk IP Cop" disabled=no
add chain=dstnat protocol=tcp dst-port=445 action=dst-nat \
    to-addresses=192.168.0.2 to-ports=445 comment="Untuk HTTPS IPCOP" \
    disabled=no
add chain=dstnat src-address=!192.168.0.0/24 protocol=tcp dst-port=80 \
    action=dst-nat to-addresses=192.168.0.2 to-ports=878 comment="" disabled=no
add chain=dstnat src-address=!192.168.0.0/24 protocol=tcp dst-port=443 \
    action=dst-nat to-addresses=192.168.0.2 to-ports=878 comment="" \
    disabled=no
add chain=srcnat out-interface=PUBLIK action=masquerade comment="" disabled=no
Seting Mangle
Code:
/ ip firewall mangle
add chain=forward content="X-Cache: HIT" action=mark-connection \
    new-connection-mark=squid_con passthrough=yes comment="" disabled=no
add chain=forward connection-mark=squid_con action=mark-packet \
    new-packet-mark=squid_pkt passthrough=no comment="" disabled=no
add chain=forward connection-mark=!squid_con action=mark-connection \
    new-connection-mark=all_con passthrough=yes comment="" disabled=no
add chain=forward protocol=tcp src-port=80 connection-mark=all_con \
    action=mark-packet new-packet-mark=http_pkt passthrough=no comment="" \
    disabled=no
add chain=forward protocol=icmp connection-mark=all_con action=mark-packet \
    new-packet-mark=icmp_pkt passthrough=no comment="" disabled=no
add chain=forward protocol=tcp dst-port=1973 connection-mark=all_con \
    action=mark-packet new-packet-mark=top_pkt passthrough=no comment="" \
    disabled=no
add chain=forward connection-mark=all_con action=mark-packet \
    new-packet-mark=test_pkt passthrough=no comment="" disabled=no
seting queue
Code:
/ queue simple
add name="Squid_HIT" dst-address=0.0.0.0/0 interface=all parent=none \
    packet-marks=squid_pkt direction=both priority=8 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="Main_Link" dst-address=0.0.0.0/0 interface=all parent=none \
    direction=both priority=8 queue=default-small/default-small limit-at=0/0 \
    max-limit=35000/256000 total-queue=default-small disabled=no
add name="game_tales_of_pirate" dst-address=0.0.0.0/0 interface=all \
    parent=none packet-marks=top_pkt direction=both priority=1 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="Ping_queue" dst-address=0.0.0.0/0 interface=all parent=none \
    packet-marks=icmp_pkt direction=both priority=2 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="The_other_port_queue" target-addresses=192.168.12.0/24 \
    dst-address=0.0.0.0/0 interface=all parent=Main_Link packet-marks=http_pkt \
    direction=both priority=8 queue=default-small/default-small \
    limit-at=5000/5000 max-limit=50000/256000 total-queue=default-small \
    disabled=no
add name="another_port" target-addresses=192.168.10.0/24 dst-address=0.0.0.0/0 \
    interface=all parent=Main_Link packet-marks=test_pkt direction=both \
    priority=8 queue=default-small/default-small limit-at=0/0 \
    max-limit=0/256000 total-queue=default-small disabled=no


Web Proxy External pada Mikrotik RB750 dan Cara Pemasangan nya

Mikrotik Pertama saya yang saya beli licence nya sekalian barang nya adalah Mikrotik Rb 750 v4.11. Sangat jauh berbeda jika kita memakai versi berbayar dengan versi yang Gratis. Dari segi fasilitas dan kemampuan nya Mikrotik Rb 750 berlicensi kelihatan sekali, hasil yang di dapat juga beda jauh dengan Mikrotik versi Crack atau Mikrotik abal abal.
Pada mesin Mikrotik saya yang saya beli berupa RB 750 atau Router Board yang tentu saja tanpa Hardisk dan Pc.
Web Proxy External, mikrotik rb, rb 750
Saya berpikir dengan kemampuan routing yang sangat handal dan performa Bandwith  Limiter bagus sayang sekali saya tidak bisa ( berani ) menambah fitus Web Proxy External karena dengan tidak ada nya Hardisk dan Ram sebagai media penyimpanan yang cukup  di mesin Mikrotik saya tersebut.
maka terlintas dibenak saya untuk menambah sebuah Pc ber Hardisk dan Ram mumpuni untuk urusi masalah Web Proxy External sedangkan  urusan routing dan manajement bandwith di tangani oleh Rb 750 .
Maka dari itu saya siapkan sebuah Pc jadul dari mas Bayu, mas Ipar saya yang sudah tidak memakainya dikarenakan tugas ke kupang
Dua buah NIC atau Network Adapter
Pada Pc p4 tersebut saya pasang 2 buah Network Adapter untuk saya instal system operasi IPCOP sebagai System Web Proxy External di system jaringan Mikrotik saya.
Cara Instal Komputer dengan Instalasi IPCOP sebagai system nya bisa baca disini
Untuk seting pada Mikrotik saya googling dan mencari di Web Proxy External Forum Indonesia dan menemukan setingan untuk External Web Proxy  oleh postingan mas  adeldian
Setingan Mikrotik yang saya pakai berdasar petunjuk dari mas adeldian bisa di baca di sini
***update*****

pada mesin ipcop ternyata bisa di inplementasikan dengan sistem pengaturan timer dari setiap file yang hendak di load di browser mark tiap extensi file timer delete cache per file dan setingan pengaman dari ipcop supaya semisal hangg setingan pada mikrotik akan mem disable proxy dan membunyikan alrams
mengenai cara penginstalan nya bisa dicek disini
Queue dengan SRC-NAT dan WEB-PROXY

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 parent global-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.