EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ Linux ]

"Linux layer 7 packet classifier patch'i ile p2p trafigini kontrol altina alma" - Baybars Uzunoglu - (2006-01-20 10:27:19)   [1084]

Cozum 1:

http://l7-filter.sourceforge.net/

L7-filter paketleri protokolune gore tanimlar, bizde bu tanimlanmis paketlere istedigimiz gibi sekil verebiliriz. Ornegin, ftp , http , p2p ' ye giden trafige bellirli bir bantgenisligi tanimlayabiliriz (iproute paketi yuklu olmalidir.) yada bloklayabiliriz.

Layer 7 (v2.1-17.01.2006) patch'ini 2.6.15.1 linux cekirdegine ve 1.3.4 iptables versiyonuna sorunsuzca uygulayabildim.

$ wget \ http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.1.tar.gz
$ wget \ http://switch.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2006-01-17.tar.gz

$ tar xfvz l7-protocols-2006-01-17.tar.gz
$ tar xfvz netfilter-layer7-v2.1.tar.gz

$ cp netfilter-layer7-v2.1/kernel-2.6.13-2.6.15-layer7-2.1.patch /usr/src/linux-2.6.15.1
$ cd /usr/src/linux-2.6.15.1
$ patch -p1 < kernel-2.6.13-2.6.15-layer7-2.1.patch
$ make menuconfig

linux cekirdegine patch uygulandiktan sonra "Connection tracking, Connection tracking flow accounting, Layer 7 match support" secilip cekirdek yeniden

derlenmelidir.

-> Networking
-> Networking support
-> Networking options
-> Network packet filtering
-> IP: Netfilter Configuration
-> Connection tracking
Connection tracking flow accounting
Layer 7 match support

$ make
$ make modules_install

iptables patch'i uygulanip , layer 7 destekli iptables kurulmalidir.

$ tar xfvj iptables-1.3.4.tar.bz2
$ cp netfilter-layer7-v2.1/iptables-layer7-2.1.patch iptables-1.3.4
$ cd iptables-1.3.4/
$ patch -p1 < iptables-layer7-2.1.patch
$ chmod +x extensions/.layer7-test
$ make KERNEL_DIR=/usr/src/linux-2.6.15.1
$ make install KERNEL_DIR=/usr/src/linux-2.6.15.1

tanimli protokoller yuklenmelidir.

$ cd l7-protocols-2006-01-17/
$ make install

bootloader ayarlarini yapip, sistemi yeniden baslattigimizda layer 7 etkindir.

/etc/l7-protocols/ altina uzerinde istedigimiz islemi yapacagimiz protokoller tanimlanmistir, Ornegin; bittorrent, gnutella, napster, http, ftp ...

http://l7-filter.sourceforge.net/L7-Netfilter-example-nonbridge

ornek scripti istedigimiz gibi duzenleyerek p2p icin belirli bir bantgenisligi tanimlayabiliriz.

actions=(
"layer7 = gnutella, 28kbit"
"layer7 = edonkey, 28kbit"
"layer7 = fasttrack, 28kbit"
"layer7 = bittorrent, 28kbit"
"layer7 = ares, 28kbit"
"layer7 = napster, 28kbit"
)

(Sanirim cok insafsizca oldu:)

Cozum 2:

Bence OpenBSD yukleyin ;)

Arkadaşıma gönder , Ana Sayfa