Xtables-addons es el sucesor de patch-o-matic permitiendo instalar extensiones no actualmente aceptadas en el kernel y netfilter (iptables), ademas mediante xtables-addons no es necesario recompilar el kernel como ocurre con patch-o-matic.
Ademas de ipp2p xtables-addons incluye (v 1.17):
|
|
|
|
A partir de Debian Squeeze se incluye el paquete precompilado oficial de xtables-addons, por lo tanto si Ud. necesita estas extensiones considere instalarlas mediante apt, sin embargo si desea anadir layer7 u otras funcionalidades debera recompilar el kernel y iptables, causando incompatibilidad del paquete oficial de xtables-addons debian con su sistema, claro a menos que sea un avesado desarrollador.
Si Ud. desea implementar un router basado en debian, seguramente considerara la utilizacion de hardware especializado, sin partes mecanicas (ventiladores, discos duros) y con unidades de alamcenamiento basado en compact flash grado industrial. Personalmente he encontrado en antiguos IBM PIII Netvista (diseno compacto y bajo consumo de energia) y en Quad Ports Ethernet NICs una solucion robusta y confiable para mis desarrollos. Las imagenes de kernels disponibles en debian son de uso general y o estan optimizadas para PIII y poseen soporte para una gran variedad de hardware, fylesistems, drivers, features, etc innecesarios para un router, por lo tanto es necesario recompilar y ajustar el kernel a las necesidades, no solo para disminuir el tamano de la imagen (Para ponerla en una CF p.ej.) si no para disminuir el consumo de recursos
Existen numerosas distribuciones linux especializadas que probablemente se ajusten a sus necesidades, evalue estas alternativas antes de continuar
| Fecha Compilacion | 2/Julio/2009 |
| Debian | Squeeze (Testing) |
| Kernel Config | config.txt |
| Descripcion Kernel | Optimizado PIII, No IPV6, No sound cards, No infiniband, minimal graphic support, full network devices, no parallel port, no firewire, no machintosh support, no ISDN, etc |
| Probado? | Parcialmente probado en esta maquina luce bien, funcional. En booteo se lee mensaje "io apic resources could be not be allocated" el cual al parecer es un bug menor del kernel |
| Fecha Compilacion | 3/Julio/2009 |
| Debian | Squeeze (Testing) |
| Kernel Config | config.txt |
| Descripcion Kernel | Optimizado PIII, No IPV6, No sound cards, No infiniband, minimal graphic support, full network devices, no parallel port, no firewire, no machintosh support, no ISDN, etc |
| IMQ | linux-2.6.28.9-imq-test2.diff,AB, Max 16 dev |
| Probado? | Parcialmente probado en esta maquina luce bien, funcional. En booteo se lee mensaje "io apic resources could be not be allocated" el cual al parecer es un bug menor del kernel,IMQ ok,Layer7 ok, xtables (ipp2p) ok, |
Corresponde a kernel vanilla compilado con el .config de debian y ademas se ha agregado soporte a todos los dispositivos de red (no debug). Estos paquetes son genericos y posiblemente funcionen en cualquier maquina PC-compatible tal cual lo hace el kernel debian, utilize estos paquetes solo si no esta utilizando una maquina PIII, funcionara con una amplia variedad de hardware, pero el tamano de la imagen es mucho mayor.
| Fecha Compilacion | 4/Julio/2009 |
| Debian | Squeeze (Testing) |
| Kernel Config | config.txt |
| Descripcion Kernel | Precompiled with debian .config |
| Probado? | Parcialmente probado en esta maquina luce bien, funcional. |
Remover iptables
apt-get remove --purge iptables
Instalar imagen del kernel
dpkg -i linux-image-2.6.28.9-l7-imq_2.6.28.9-l7-imq-10.00.Custom_i386.deb
Crear imagen initramfs
update-initramfs -c -k 2.6.28.9-l7-imq
Editar menu.lst y agregar la linea initrd correspondiente
vi /boot/grub/menu.lst
initrd /boot/initrd.img-2.6.28.9-l7-imq
boot in new kernel
reboot
Instalar paquetes restantes
dpkg -i iptables-1.4.3.2-l7-imq_iptables-1.4.3.2-l7-imq-1_i386.deb
dpkg -i xtables-addons-1.17_xtables-addons-1.17-1_i386.deb
Instalar ultimos regex de protocolos
wget http://ufpr.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2009-05-28.tar.gz
tar -xzvf l7-protocols-2009-05-28.tar.gz
cd l7-protocols-2009-05-28
make install
Test
iptables -A FORWARD -m ipp2p --edk -j DROP
iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP
iptables -L FORWARD -v
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)/
pkts bytes target prot opt in out source destination
0 0 DROP all -- any any anywhere anywhere ipp2p --edk
0 0 DROP all -- any any anywhere anywhere LAYER7 l7proto bittorrent
TODO
TODO
TODO