IP

Tuesday, December 15, 2009

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.

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.

diambil dari www.mikrotik.co.id

0 comments:

GodexsZone © 2009. Design by :Godexs_zone Templates