Untuk menangkap trafik paket yang cache hit dari mesin proxy remote yang mempunyai TOS 0×30 atau DSCP 12, ada dua cara yang bisa dilakukan untuk traffic control di linux (Note: eth0 adalah LAN device):
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
Buat iptables mangle dan set mark untuk trafik cache hit seperti di bawah ini:
iptables [ sensor ] FORWARD [ sensor ] mangle [ sensor ] tcp [ sensor ] dscp [ sensor ][ sensor ] 12 [ sensor ] MARK [ sensor ][ sensor ]-mark 0x212
Sekarang bandingkan hasil dari dua perintah di bawah ini:
1. tc [ sensor ] [ sensor ] 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 [ sensor ] FORWARD [ sensor ] mangle [ sensor ]
Chain FORWARD (policy ACCEPT 255K packets, 127M bytes)
pkts bytes target prot opt in out source destination
665 670K MARK tcp [ sensor ][ sensor ] * * 0.0.0.0/0 0.0.0.0/0 DSCP match 0x0c MARK set 0x1
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
Buat iptables mangle dan set mark untuk trafik cache hit seperti di bawah ini:
iptables [ sensor ] FORWARD [ sensor ] mangle [ sensor ] tcp [ sensor ] dscp [ sensor ][ sensor ] 12 [ sensor ] MARK [ sensor ][ sensor ]-mark 0x212
Sekarang bandingkan hasil dari dua perintah di bawah ini:
1. tc [ sensor ] [ sensor ] 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 [ sensor ] FORWARD [ sensor ] mangle [ sensor ]
Chain FORWARD (policy ACCEPT 255K packets, 127M bytes)
pkts bytes target prot opt in out source destination
665 670K MARK tcp [ sensor ][ sensor ] * * 0.0.0.0/0 0.0.0.0/0 DSCP match 0x0c MARK set 0x1