En esta oportunidad, vamos a instalar el Layer 7 para el control y filtro del p2p, y el IMQ para el manejo de subida y de bajada, además del ipp2p para que trabaje junto con el Layer7.
Para poder agregar el módulo del Layer7 y del IMQ, deberemos de parchar el kernel (que en este caso es uno de la version 2.6.x (recomendamos el 2.6.28)), y luego de esto instalaremos el ipp2p, como ya se vio anteriormente, pero haciendo algunos cambios en su modo de instalación.
PARTE 1: INSTALANDO LAYER7 E IMQ
Nos ubicamos en el directorio “/usr/src”, y nos logeamos como root
su
descargamos el patch de imq para el iptables y para el kernel (2.6.28 en mi caso)

wget http://www.linuximq.net/patchs/iptables-1.4.1-imq.diff
wget http://www.linuximq.net/patchs/linux-2.6.28.9-imq-test2.diff

Patch l7 para kernel 2.6.22-2.6.24
wget http://downloads.sourceforge.net/project/l7-filter/l7-filter%20kernel%20version/2.22/netfilter-layer7-v2.22.tar.gz?use_mirror=nchc

Descargamos el layer7 protocol

wget http://sourceforge.net/projects/l7-filter/files/Protocol%20definitions/2009-05-28/l7-protocols-2009-05-28.tar.gz/download

Instalamos algunas dependencias

1 apt-get update
2 apt-get install build-essential kernel-package libncurses5-dev fakeroo
3 apt-get source linux-source-2.6.28 <-- segun su kernel (uname -r)
4 ln -s linux-2.6.31 linux

Parchamos el kernel con layer7 e imq

1 cd linux
2 patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch
3 patch -p1 < ../linux-2.6.28.9-imq-test2.diff

Preparamos la configuracion config.

1 cp /boot/config-2.6.28-14-generic ./.config
2 make menuconfig

Nos aparecera una “ventana” en consola e marcaremos los paquetes de imq y layer7

1 Networking -> Networking options -> Network packet filtering framework (Netfilter) -> Core netfilter configuration
2 <M> "IMQ" target support
3 <M> "layer7" match support

Guardamos y compilamos:

1 make-kpkg clean
2 make-kpkg --initrd --append-to-version=-l7-imq kernel_image kernel_headers

Esperamos a que termine la compilación, será cerca de 1 hora.
la anterior compilacion creo nuestros archivos .deb, ahora instalamos el nuevo kernel

1 cd ..
2 dpkg -i *.deb

Reiniciamos.

init 6

Probamos la instalacion de layer7:

1 modprobe ipt_layer7

Ahora compilamos las bibliotecas de layer7:
Eliminamos iptables

apt-get remove –purge iptables

*Copiamos las bibliotecas de layer7 a las de iptables

1 cp /usr/src/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/* /usr/src/iptables-1.4.1/extensions/

*Editamos el archivo “libxt_layer7.c” en la anterior carpeta “/usr/src/iptables-1.4.1/”
cambiamos todas las llamadas de la funcion “xtables_error” por “exit_error”.
*Ahora Parcheamos el iptables con imq

1 patch -p1  < ../iptables-1.4.1-imq.diff

Dentro de la carpeta iptables hacemos:

1 ./configure --with-ksource=/usr/src/linux sbindir=/sbin

Compilamos e instalamos

1 make
2 make install

Con esto ya estaria instalado el layer7, ahora instalemos los protocolos del l7:
entramos al directorio “/usr/src/l7-protocols-2009-05-28″ y compilamos:
make install
Con esto esta listo para usar layer7:

01 #bloqueo de p2p con layer 7 en la cadena FORWARD
02 iptables -A FORWARD -mlayer7 --l7proto ares -j DROP
03 iptables -A FORWARD -mlayer7 --l7proto edonkey -j DROP
04 iptables -A FORWARD -mlayer7 --l7proto bittorrent -j DROP
05 iptables -A FORWARD -mlayer7 --l7proto fasttrack -j DROP
06 iptables -A FORWARD -mlayer7 --l7proto gnutella -j DROP
07 iptables -A FORWARD -mlayer7 --l7proto applejuice -j DROP
08 iptables -A FORWARD -mlayer7 --l7proto imesh -j DROP
09 iptables -A FORWARD -mlayer7 --l7proto napster -j DROP
10 iptables -A FORWARD -mlayer7 --l7proto soulseek -j DROP
11 iptables -A FORWARD -mlayer7 --l7proto goboogy -j DROP
12 iptables -A FORWARD -mlayer7 --l7proto napster -j DROP
13 iptables -A FORWARD -mlayer7 --l7proto audiogalaxy -j DROP
14 iptables -A FORWARD -mlayer7 --l7proto directconnect -j DROP
15 iptables -A FORWARD -mlayer7 --l7proto soribada -j DROP

probaremos tambien el IMQ:

1 ip link set imq0 up
2 iptables -t mangle -A PREROUTING -p tcp --dport 1234 -j IMQ

PARTE 2: INSTALANDO IPP2P EN ESTE NUEVO KERNEL
*Descargar ipp2p
wget http://www.ipp2p.org/downloads/ipp2p-0.8.2.tar.gz
*Descargar parches para kernel 2.8.22 y 2.8.28 (el nuestro es 2.8.28-11-generic)
wget http://aur.archlinux.org/packages/ipp2p/ipp2p/ipp2p-0.8.2-kernel-2.6.22.patch
wget http://aur.archlinux.org/packages/ipp2p/ipp2p/ipp2p-0.8.2-kernel-2.6.28.patch
*Descargar parches para iptables 1.4.0 y 1.4.1
wget http://aur.archlinux.org/packages/ipp2p/ipp2p/ipp2p-0.8.2-iptables-1.4.0.patch
wget http://aur.archlinux.org/packages/ipp2p/ipp2p/ipp2p-0.8.2-iptables-1.4.1.patch
*INSTALANDO IPP2P

1 :~# tar xvzf ipp2p-0.8.2.tar.gz
2 :~# cd ipp2p-0.8.2
3 :~# patch -p1 < ../ipp2p-0.8.2-kernel-2.6.22.patch
4 :~# patch -p1 < ../ipp2p-0.8.2-kernel-2.6.28.patch
5 :~# patch -p1 < ../ipp2p-0.8.2-iptables-1.4.0.patch
6 :~# patch -p1 < ../ipp2p-0.8.2-iptables-1.4.1.patch

*Editamos el archivo “libipt_ipp2p.c”
*CAMBIAMOS DONDE DICE “xtables_error” POR “exit_error”
*Y en editamos la estructura:

1 struct xtables_match ipp2p=
2 {
3 .next           = NULL,
4 .name           = "ipp2p",
5 .family         = PF_INET,
6 .version        = XTABLES_VERSION,// <--- AQUI HACEMOS EL CAMBIO
7 .size           = XT_ALIGN(sizeof(struct ipt_p2p_info)),
8 .userspacesize  = XT_ALIGN(sizeof(struct ipt_p2p_info)),
9 ...

*Guardamos cambios
*Editamos el archivo “Makefile”
*Editamos la linea:

1 ld -shared -o libipt_ipp2p.so libipt_ipp2p.o
2 -POR
3 $(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o

*GUARDAMOS CAMBIOS

*Ahora dentro de la carpeta ipp2p, compilamos:
make
*Finalmente

1 :~# cp libipt_ipp2p.so /usr/local/libexec/xtables/
2 :~# cp ipt_ipp2p.ko /lib/modules/2.6.28.10-l7-imq/kernel/net/netfilter/
3 :~# depmod -a

* Probamos:
:~# iptables -m ipp2p –help
* Ejemplo de uso:

1 iptables -A FORWARD -m ipp2p --edk --dc --kazaa --gnu --bit --apple --winmx --soul --ares -j DROP

Por admin

Deja una respuesta

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock