Faisal Corner’z

Defend me, God, from myself

FTP Traffic Shaping HTB + Frox

Setelah sekian lama pusing dengan permasalahan mengenai cara limit FTP yang paling efisien mengingat banyak nya user yang memakai software ftp yang berbeda proses dan koneksi ke server ftp tersebut, akhirnya dengan berbagai percobaan yang menghabiskan waktu dan rokok akhirnya berhasil juga aku melimit bandwith yang di pakai oleh FTP ini…

baik tanpa basa basi kita mulai yak!!…bismillahirahmanirahim…

Tools :

1. frox-0.7.18.tar.gz atau yg terbaru

2.  Mesin Fedora Core Racing driver by Alonso :p

3. sampurna mild

4. doa

Instalasi :

Download frox dari http://frox.sourceforge.net/download/frox-0.7.18.tar.gz kemudian lakukan extract dan compile dengan opsi sbb : ./configure –enable-http-cache –enable-local-cache –enable-virus-scan –enable-configfile=/etc/frox.conf

edit file /etc/frox.conf isi sbb :

Listen your_ip_address
Port 6666 (terserah mau port berapa)
BindToDevice eth1
User squid
Group squid
WorkingDir /var/spool/frox
DontChroot yes
LogLevel 20
LogFile /var/log/frox/frox.log
PidFile /var/run/frox.pid
XferLogging yes
BounceDefend yes
ControlPorts 50000-50199
PassivePorts 50200-50399
ActivePorts 50400-50599
CacheModule Local
CacheSize 1000

CacheAll yes
DoNTP yes
MaxForks 60
MaxForksPerHost 4
ACL Allow range_your_lan_subnet – * 21
#ACL Allow * – *

jalan kan perintah : /usr/local/sbin/frox, jika instalasi mulus maka akan terlihat via ps ax sbb:

2888 ?        S      0:00 /usr/local/sbin/frox
2911 ?        S      0:00 /usr/local/sbin/frox

ok tahap pertama dah selesai……sekarang selanjutnya kita buat rule di HTB sbb :

#/sbin/tc class add dev eth1 parent 1:10 classid 1:40 htb rate 64Kbit ceil 256Kbit quantum 1536
#/sbin/tc qdisc add dev eth1 parent 1:40 handle 40 sfq perturb 10 quantum 1500
#/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 2 fw classid 1:40

misal kita limit minimal 64 kbps dan max 128 kbps…mengingat ftp koneksi ini sering di gunakan untuk download via browser, software atau patch game2 atau di sesuaikan dengan bandiwth yg di miliki.

tahan ke dua dah selesai….restart htb rule 😀

Selanjutnya agar koneksi ftp terkonsentrasi maka kita transparentkan ke port 6666 yg di jalankan oleh frox tadi, setelah berbagai percobaan pertama aku cobalimit  mangle di port 6666 ternyata lolos!!! di port 21 masih kenceng sampe akhirnya dengan gelap mata saya mangle dengan port sbb :

iptables -t mangle -A POSTROUTING -p tcp -m tcp –dport 50000:50599 -j MARK –set-mark 0x2
iptables -t mangle -A POSTROUTING -p tcp -m tcp –sport 50000:50599 -j MARK –set-mark 0x2
iptables -t mangle -A POSTROUTING -p udp -m udp –dport 50000:50599 -j MARK –set-mark 0x2
iptables -t mangle -A POSTROUTING -p udp -m udp –sport 50000:50599 -j MARK –set-mark 0x2
iptables -t mangle -A POSTROUTING -p tcp -m tcp –sport 20:21 -j MARK –set-mark 0x2
iptables -t mangle -A POSTROUTING -p udp -m udp –dport 20:21 -j MARK –set-mark 0x2
iptables -t mangle -A POSTROUTING -p tcp -m tcp –sport 60003 -j MARK –set-mark 0x2
iptables -t mangle -A POSTROUTING -p udp -m udp –dport 60003 -j MARK –set-mark 0x2

kemudian di redirect agar transparent sbb :

iptables -t nat -A PREROUTING -p tcp -m tcp -s IP_LAN_SUBNET-d 0/0 –dport 21:22 -j REDIRECT –to-ports 6666

keterangan : port 50000:50599 adalah port yg bekerja di frox lalu aktifkan rules iptables…done!

sekarang tinggal kita test…

test download via ftp : dan liat di frox via tail :

Thu Oct 23 10:37:57 2008 frox[5514] Connect from 192.168.1.100
Thu Oct 23 10:37:58 2008 frox[5514] … to 4.79.36.98()
Thu Oct 23 10:38:06 2008 frox[5514] Cache miss for ftp://4.79.36.98/winzip111es.msi

wow…masuk!!..berarti transparent dah jalan….karena lom ada di cache jadi masih MISS …sekarang liat efek dari HTB nya…:

iptables -t mangle -L -v

82706  127M MARK       tcp  —  any    any     anywhere             anywhere            tcp spts:50200:50399 MARK set 0x2

kena…!!!

Percobaan ini saya lakukan juga downlaod via browser IE juga tetap kena limit…

demikian lah percobaan saya lakukan, semoga dapat bermanfaat ….bagi para2 admin server sekalian yg pusing dengan koneksi ftp ini…kalaupun ada cara yg lebih efisien…dan ampuh ….saya tunggu share nya 😀

Thanks to..

1. Allah SWT

2. Masterpop3 aka mas wawan atas dukungan nya

3. frox.saurceforge.net

4. netfilter.org

5. google!

wassalam…

Advertisements

October 23, 2008 - Posted by | Linux

1 Comment »

  1. Kan bisa pakai connection marking di linux? Tinggal marking packet yang sesuai dengan connmark ftp terus main di filter tc.

    Comment by Arief Yudhawarman | December 23, 2010


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: