Como instalar ipp2p para control de p2p

Forums: 

tomado de http://www.ubuntu-es.org/index.php?q=node/24844
probado en centos 4.4 con iptables 1.2.11 aunque puede ser otro ;)
Todo administrador de redes ha tenido el siguiente problema: el abuso del uso del P2P. ¿Como pararlo aparte de borrarlo de cada uno de los equipos de mi red?.

Este mini HowTo no va a ser facil de digerir y si eres novato en el tema es mejor que leas otros manuales sobre "iptables" y "iproute2" antes de leer esto, ademas que voy a obviar un monton de pasos que creo que todos conoceis.

Estos programas son la mar de listos y suelen saltarse cualquier filtro que impongamos en nuestro firewall o proxy mediante filtrado de puerto o incluso mediante politicas de calidad de servicio (QoS mediante el comando "tc"), incluso con scripts muy completos, cualquier avispado puede lograr hacer funcionar su "burrito".

Bueno, para hacerlo se puede usar el "traffic shape" que nos permite digamos, "catalogar" el trafico que pasa por nuestro servidor para asi saber cada "paquete" a que pertence. Esta solución NO puede con los clientes P2P que encripten su tráfico, pero aun es efectivo.

Veamos que tenemos que hacer:

1) Tener el paquete "iptables", ¿esta claro no? algooooo
2) Bajar estos paquetes:
* iptables-dev (con apt-get)
* kernel-headers-2.x.x (los de tu kernel, "uname -r")
* los src de tu iptables (para saber la version "iptables --help" y bajate el fuente aqui: http://www.netfilter.org/projects/iptables/downloads.html)
* Bajate el ultimo ipp2p aqui: http://www.ipp2p.org/downloads_en.html (mejor el stable)
3) cd ipp2p
4) Edita el Makefile, comprueba 2 cosas:
* IPTABLES_SRC = /usr/src/iptables (esto tiene que apuntar donde has descomprimido tu iptables)
* En mi paquete te saca las cabeceras automaticamente en las busca en el lugar por defecto, si no es asi, pon tus headers en /usr/src/
5) make (SIN ERRORES!!!)
6) cp libipt_ipp2p.so /lib/iptables
7) cp ipt_ipp2p.ko /lib/modules/`uname -r`/kernel/net/ipv4
8.) depmod (o despues del paso 9 haz un depmod -a)
9) insmod ipt_ipp2p.ko

Comprueba que todo esta bien con un "lsmod", tiene que aparecer el primero.

Ahora viene el secreto, ejecuta:

iptables -A FORWARD -m ipp2p --ipp2p -j DROP

Adios al P2P o al menos va andar bastante mas lento como para que la gente deje de usarlo.

Un saludo y espero que os sirva de ayuda.

Acabo de configurar el ipp2p

Imagen de damage

Acabo de configurar el ipp2p en Centos 5 desde los .tar y no desde los rpm (los rpm lo use en Centos 4.4 con total exito), segui las indicaciones de Juandarcy2000, y donde me confundi un poco fue en el punto #4, para explicarlo de manera màs clara seria asi:
4) Edita el Makefile
Existe la variable IPTABLES_SRC, esta debe estar declarda antes de:
ifndef $(IPTABLES_SRC)
Por ejemplo si usas la consola y al .tar de iptables lo descomprimes en /usr/src, este se creara el subdirectorio iptables-1.3.5(Centos 5 usa esa version de iptables) si se tien otra version solo cambian los nùmeros, entonces la variable queda asi:
IPTABLES_SRC=/usr/src/iptables-1.3.5
En pocas palabras se debe declarar donde se ha descomprimido el tar de iptables.
Con eso listo se da make y belleza :) todo sale sin errores.

Por si necesitan declara la ruta de la fuentes del kernel, esta va antes de KERNEL_SRC ?= $(firstword $(wildcard.

Saludos.
P.D. Seria interesante que existiera un rpm de ipp2p para centos 5 (lo busque por todos lados y no existe), o al menos el .spec para generar el rpm
Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/

iptables y gunbound

Imagen de s4muelito

hola nose si alguien me puede ayudar el problema es que instale centos 4.5 con squid proxy e iptables para u ciber lo que pasa es que al momento querer jugar gunbound me sale como no que si no ubera internet y lo mismo sale con el msn nose si alguien me puede decir como configuro en el iptables gracias por su ayuda

configurar ipp2p

Imagen de zeo3

realize los mismos pasos que ti damage y me da el siguiente error:


#> make
/bin/sh: iptables: command not found
Makefile:36: You need to install iptables sources and maybe set IPTABLES_SRC
/bin/sh: iptables: command not found
make -C /lib/modules/2.6.18-53.1.4.el5/build SUBDIRS=/home/ferbog/ipp2p-0.8.2 modules
make[1]: se ingresa al directorio `/usr/src/kernels/2.6.18-53.1.4.el5-i686'
CC [M] /home/ferbog/ipp2p-0.8.2/ipt_ipp2p.o
Building modules, stage 2.
MODPOST
CC /home/ferbog/ipp2p-0.8.2/ipt_ipp2p.mod.o
LD [M] /home/ferbog/ipp2p-0.8.2/ipt_ipp2p.ko
make[1]: se sale del directorio `/usr/src/kernels/2.6.18-53.1.4.el5-i686'
/bin/sh: iptables: command not found
cat: /Makefile: No existe el fichero o el directorio
/bin/sh: iptables: command not found
gcc -O3 -Wall -DIPTABLES_VERSION=\"\" -I/include -fPIC -c libipt_ipp2p.c
libipt_ipp2p.c:9:22: error: iptables.h: No existe el fichero o el directorio
libipt_ipp2p.c:67: aviso: se declaró ‘struct ipt_entry_match’ dentro de la lista de parámetros
libipt_ipp2p.c:67: aviso: su ámbito es solamente esta definición o declaración, lo cual probablemente no sea lo que desea
libipt_ipp2p.c: En la función ‘init’:
libipt_ipp2p.c:69: error: puntero deferenciado a tipo de dato incompleto
libipt_ipp2p.c:71: error: ‘NFC_UNKNOWN’ no se declaró aquí (primer uso en esta función)
libipt_ipp2p.c:71: error: (Cada identificador no declarado solamente se reporta una vez
libipt_ipp2p.c:71: error: ara cada funcion en la que aparece.)
libipt_ipp2p.c: En el nivel principal:
libipt_ipp2p.c:84: aviso: se declaró ‘struct ipt_entry_match’ dentro de la lista de parámetros
libipt_ipp2p.c:84: aviso: se declaró ‘struct ipt_entry’ dentro de la lista de parámetros
libipt_ipp2p.c: En la función ‘parse’:
libipt_ipp2p.c:86: error: puntero deferenciado a tipo de dato incompleto
libipt_ipp2p.c:91: aviso: declaración implícita de la función ‘exit_error’
libipt_ipp2p.c:91: error: ‘PARAMETER_PROBLEM’ no se declaró aquí (primer uso en esta función)
libipt_ipp2p.c: En la función ‘final_check’:
libipt_ipp2p.c:311: error: ‘PARAMETER_PROBLEM’ no se declaró aquí (primer uso en esta función)
libipt_ipp2p.c: En el nivel principal:
libipt_ipp2p.c:320: aviso: se declaró ‘struct ipt_entry_match’ dentro de la lista de parámetros
libipt_ipp2p.c:320: aviso: se declaró ‘struct ipt_ip’ dentro de la lista de parámetros
libipt_ipp2p.c: En la función ‘print’:
libipt_ipp2p.c:322: error: puntero deferenciado a tipo de dato incompleto
libipt_ipp2p.c: En el nivel principal:
libipt_ipp2p.c:350: aviso: se declaró ‘struct ipt_entry_match’ dentro de la lista de parámetros
libipt_ipp2p.c:350: aviso: se declaró ‘struct ipt_ip’ dentro de la lista de parámetros
libipt_ipp2p.c: En la función ‘save’:
libipt_ipp2p.c:352: error: puntero deferenciado a tipo de dato incompleto
libipt_ipp2p.c: En el nivel principal:
libipt_ipp2p.c:379: error: la variable ‘ipp2p’ tiene inicializador pero de tipo de dato incompleto
libipt_ipp2p.c:381: error: se especificó el campo desconocido ‘next’ en el inicializador
libipt_ipp2p.c:381: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:381: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:382: error: se especificó el campo desconocido ‘name’ en el inicializador
libipt_ipp2p.c:382: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:382: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:383: error: se especificó el campo desconocido ‘version’ en el inicializador
libipt_ipp2p.c:383: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:383: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:384: error: se especificó el campo desconocido ‘size’ en el inicializador
libipt_ipp2p.c:384: aviso: declaración implícita de la función ‘IPT_ALIGN’
libipt_ipp2p.c:384: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:384: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:385: error: se especificó el campo desconocido ‘userspacesize’ en el inicializador
libipt_ipp2p.c:385: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:385: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:386: error: se especificó el campo desconocido ‘help’ en el inicializador
libipt_ipp2p.c:386: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:386: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:387: error: se especificó el campo desconocido ‘init’ en el inicializador
libipt_ipp2p.c:387: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:387: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:388: error: se especificó el campo desconocido ‘parse’ en el inicializador
libipt_ipp2p.c:388: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:388: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:389: error: se especificó el campo desconocido ‘final_check’ en el inicializador
libipt_ipp2p.c:389: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:389: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:390: error: se especificó el campo desconocido ‘print’ en el inicializador
libipt_ipp2p.c:390: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:390: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:391: error: se especificó el campo desconocido ‘save’ en el inicializador
libipt_ipp2p.c:391: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:391: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c:392: error: se especificó el campo desconocido ‘extra_opts’ en el inicializador
libipt_ipp2p.c:393: aviso: exceso de elementos en el inicializador de struct
libipt_ipp2p.c:393: aviso: (cerca de la inicialización de ‘ipp2p’)
libipt_ipp2p.c: En la función ‘_init’:
libipt_ipp2p.c:399: aviso: declaración implícita de la función ‘register_match’
make: *** [libipt_ipp2p.so] Error 1

el sistema operativo es Centos 5


#> cat /etc/issue
CentOS release 5 (Final)
Kernel \r on an \m


#> uname -r
2.6.18-53.1.4.el5


#> rpm -qa iptables
iptables-1.3.5-1.2.1

agradeceria una mano tuya referente al punto. gracias. saludos!

El error indica que no

Imagen de damage

El error indica que no encuentra las fuentes de iptables en la ruta especificada en el Makefile, verifica que tengas bajado los archivos y descomprimidos en una ruta valida y vuelve a intentar.

Keep The Fire Burning.....
Stryper 1988

Páginas