How to limit traffic download RapidShare

Jumat, 18 November 2011

How To : Limit Traffik Download Rapidshare
Artikel singkat berikut akan menerangkan cara untuk membatasi traffic download dari rapidshare.
Hal yang harus diperhatikan adalah, how to ini meutilisasi penggunaan script untuk mendeteksi DNS
Cache...Jadi penggunaan DNS Mikrotik untuk How To ini merupakan kewajiban...
1. Script
Pada dasarnya script dibawah saat dijalankan akan memeriksa DNS Cache, dan mencari entry yang terdapat
kata 'rapidshare'...kamudian membuat log entry...lalu menempatkan IP yang didapat ke Address List di list
'rapidshare'

Code:
:foreach i in=[/ip dns cache find] do={
:if ([:find [/ip dns cache get $i name] "rapidshare"] > 0) do={
:log info ("rapidshare: " . [/ip dns cache get $i name] . " (ip address " . [/ip dns
cache get $i address] . ")")
/ip firewall address-list add address=[/ip dns cache get $i address] list=rapidshare
disabled=no
}}
2. Jalankan Script
Script diatas harus dijalankan secara periodik dengan scheduler untuk mendapatkan hasil yang terbaik...bisa
diset untuk jalan 1 menit sekali atau 5 menit sekali atau 1 jam sekali...semua terserah anda dan kondisi yang
ada...
buat entry baru pada scheduler :
Start Date dan Time di set sesuai dengan waktu yang anda inginkan
3. Mangle
Pada saat ini seharusnya telah terdapat address list baru
Lalu buat rule mangle baru untuk mark-conn
kemudian, buat rule mangle baru untuk mark-packet
4. Queue
Akhirnya, kita dapat melakukan pembatasan traffik...contoh penerapan menggunakan simple queue dapat
dilihat dibawah...
Untuk percobaan silahkan coba lakukan proses download dari rapidshare, lalu enable dan disable rule
queue-nya dan rasakan perbedaannya...
Selamat mencoba....
heh tapi ati2 bro.... soalnya ada kejadian kaya gini (ip dibawah cache DNS yg dobel ga masuk ke addresslist),
perhatikan en lihat tulisan tebal dan miring, tidak masuk dalam daftar address-list:
Code:
[admin@Mikrotik] > ip dns cache print
Flags: S - static
# NAME ADDRESS TTL
.........
55 ns1.rapidshare.com 195.122.131.250 1d19h59m
56 ns2.rapidshare.com 80.237.244.50 1d19h59m
81 rapidshare.com 195.122.131.2 13m10s
82 rapidshare.com 195.122.131.3 13m10s
83 rapidshare.com 195.122.131.4 13m10s
84 rapidshare.com 195.122.131.5 13m10s
85 rapidshare.com 195.122.131.6 13m10s
86 rapidshare.com 195.122.131.7 13m10s
87 rapidshare.com 195.122.131.8 13m10s
88 rapidshare.com 195.122.131.9 13m10s
89 rapidshare.com 195.122.131.10 13m10s
90 rapidshare.com 195.122.131.11 13m10s
91 rapidshare.com 195.122.131.12 13m10s
92 rapidshare.com 195.122.131.13 13m10s
93 rapidshare.com 195.122.131.14 13m10s
94 rapidshare.com 195.122.131.15 13m8s
95 rapidshare.com 195.122.131.250 13m8s :!: 96 rs144cg.rapidshare.com 82.129.39.145
13m8s
97 rs26cg.rapidshare.com 82.129.39.27 13m18s
98 rs91cg.rapidshare.com 82.129.39.92 13m29s
99 rs67cg.rapidshare.com 82.129.39.68 13m50s
100 rs140cg.rapidshare.com 82.129.39.141 13m58s
......
[admin@Mikrotik] > ip firewall address-list print
Flags: X - disabled, D - dynamic
# LIST ADDRESS
...........
53 rapidshare 195.122.131.250
54 rapidshare 80.237.244.50
55 rapidshare 195.122.131.2
56 rapidshare 195.122.131.3
57 rapidshare 195.122.131.4
58 rapidshare 195.122.131.5
59 rapidshare 195.122.131.6
60 rapidshare 195.122.131.7
61 rapidshare 195.122.131.8
62 rapidshare 195.122.131.9
63 rapidshare 195.122.131.10
64 rapidshare 195.122.131.11
65 rapidshare 195.122.131.12
66 rapidshare 195.122.131.13
67 rapidshare 195.122.131.14
68 rapidshare 195.122.131.15 :!:
dengan penyempurnaan script diatas (scheduler), jikalau ada ip yang masuk dobel di dns agar ip berikutnya
masuk ke address-list:
Code:
:foreach i in=[/ip dns cache find] do={
:local bNew "true";
# check if dns name contains rapidshare
:if ([:find [/ip dns cache get $i name] "rapidshare"] != 0) do={
:local tmpAddress [/ip dns cache get $i address] ;
#---- if address list is empty do not check ( add address directly )
:if ( [/ip firewall address-list find ] = "") do={
/ip firewall address-list add address=$tmpAddress list=rapidshare
disabled=no;
} else={
#------- check every address list entry
:foreach j in=[/ip firewall address-list find ] do={
#---------- set bNew variable to false if address exists in address list
:if ( [/ip firewall address-list get $j address] = $tmpAddress )
do={
:set bNew "false";
}
}
#------- if address is new then add to address list
:if ( $bNew = "true" ) do={
/ip firewall address-list add address=$tmpAddress list=rapidshare
disabled=no
}
}
}

0 komentar:

Posting Komentar