Descompacte nosso kernel personalizado:
# dpkg -i linux-image-2.6.19_2.6.19-10.00.Custom_i386.deb
Acesse o diretório onde se encontra o fonte do iptables:
cd /usr/src/iptables-1.3.7
Aplique o patch do layer7 em nosso fonte:
# patch -p1 < /usr/src/netfilter-layer7-v2.9/iptables-layer7-2.9.patch
Habilite as extensões:
# chmod +x extensions/.layer7-test
Definimos nossos caminhos padrões:
# make KERNEL_DIR=/usr/src/linux BINDIR=/sbin LIBDIR=/lib
# make install KERNEL_DIR=/usr/src/linux BINDIR=/sbin LIBDIR=/lib
Acessamos o diretório dos protocolos:
# cd /usr/src/l7-protocols-2007-01-14
Instalamos:
# make install
Acessamos o diretório do IPP2P:
# cd /usr/src/ipp2p-0.8.2
Iremos editar o arquivo Makefile:
# nano Makefile
Troque a seguinte linha:
IPTABLES_SRC = $(wildcard /usr/src/iptables-$(IPTVER))
Para:
IPTABLES_SRC = /usr/src/iptables-1.3.7
E também:
IPTABLES_BIN = iptables
Para:
IPTABLES_BIN = /sbin/iptables
E também:
libipt_ipp2p.so: libipt_ipp2p.c ipt_ipp2p.h $(CC) $(CFLAGS) $(IPTABLES_OPTION) $(IPTABLES_INCLUDE) -fPIC -c libipt_ipp2p.c
ld -shared -o libipt_ipp2p.so libipt_ipp2p.o
Para:
libipt_ipp2p.so: libipt_ipp2p.c ipt_ipp2p.h $(CC) $(CFLAGS) $(IPTABLES_OPTION) $(IPTABLES_INCLUDE) -fPIC -c libipt_ipp2p.c
$(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o
# make
Copie os seguintes arquivos para os seguintes diretórios:
# cp libipt_ipp2p.so /lib/iptables/
# cp ipt_ipp2p.ko /lib/modules/2.6.19/kernel/net/ipv4/netfilter/
Execute o commando para produzir o arquivo com as dependências:
# depmod -a
Reboot no kernel novo.
Se não der nenhum erro é só criar suas regras mesclando NetFilter/Iptables com L7filter e o IPP2P.
Considerações finais
Pronto! Você terá um firewall com suporte ao Layer 7 Filter (para bloqueio definitivo de aplicações do tipo Messenger) e IPP2P (para bloqueio de aplicações do tipo P2P).
Alguns exemplos de regras poderão ser encontradas no site oficial do Layer7 Filter e do IPP2P.
Site úteis:
Layer7 Filter
http://l7-filter.sourceforge.net/
IPP2P
http://www.ipp2p.org/