Arief Yudhawarman

Masih belajar buat blog

iptables mangle dan tc filter untuk catch cache hit

leave a comment »

Untuk menangkap trafik paket yang cache hit dari mesin proxy remote yang mempunyai TOS 0x30 atau DSCP 12, ada dua cara yang bisa dilakukan untuk traffic control di linux (Note: eth0 adalah LAN device):

  1. Buat class untuk menangkap trafik cache hit dan set filter seperti di bawah ini:
    tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 \
        0xff match ip tos 0x30 0xff flowid 1:68
    
  2. Buat iptables mangle dan set mark untuk trafik cache hit seperti di bawah ini:
    iptables -A FORWARD -t mangle -p tcp -m dscp --dscp 12 -j MARK --set-mark 0x212
    

Sekarang bandingkan hasil dari dua perintah di bawah ini:

  1. tc -s -d class show dev eth0
    ...
    class htb 1:68 parent 1:66 leaf 68: prio 0 quantum 60000 rate 100000Kbit ceil 100000Kbit burst 126575b/8 mpu 0b overhead 0b cburst 126575b/8 mpu 0b overhead 0b level 0 
    Sent 679063 bytes 665 pkts (dropped 0, overlimits 0)
     rate 136bit
     lended: 665 borrowed: 0 giants: 0
     tokens: 8265 ctokens: 8265
    
  2. iptables -L FORWARD -t mangle -nv
    Chain FORWARD (policy ACCEPT 255K packets, 127M bytes)
     pkts bytes target   prot opt in   out   source      destination         
      665  670K MARK     tcp  --  *    *     0.0.0.0/0   0.0.0.0/0     DSCP match 0x0c MARK set 0x1
    

Nice and beautifulšŸ™‚.
Contoh-contoh traffic control menyusul.

Written by awarmanf

December 29, 2009 at 5:09 am

Posted in Linux, traffic control

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: