Configurando o iptables-p2p no Slackware

Neste artigo mostro como instalar o iptables_p2p em seu firewall, recurso usado para bloquear acesso de sua rede interna à redes P2P. Também adicionei algumas observações importantes que não são encontrei em outros artigos similares.

[ Hits: 45.593 ]

Por: João Paulo de Oliveira Faria em 14/07/2006 | Blog: http://www.jpfaria.com


Organizando e instalando



Vamos criar um diretório onde os downloads serão salvos para manter também a instalação organizada:

# mkdir /tmp/source

OBS: Não esqueça de estar logado como root.

iptables-1.3.3


1. Adquirindo, descompactando e preparando o source do iptables:

# cd /tmp/source
# wget
ftp://ftp.netfilter.org/pub/iptables/iptables-1.3.3.tar.bz2
# tar xvfj iptables-1.3.3.tar.bz2
# cd iptables-1.3.3
# mkdir /usr/include/iptables
# cp -R include/* /usr/include/iptables/


2. Substituir a linha (5) do arquivo /usr/include/iptables/libiptc/libiptc.h por:

#include "/usr/include/iptables/libiptc/ipt_kernel_headers.h"

iptables-p2p-0.3.0a


1. Adquirindo, descompactando e preparando o source do iptables-p2p:

# cd /tmp/source
# wget
http://switch.dl.sourceforge.net/sourceforge/\
iptables-p2p/iptables-p2p-0.3.0a.tar.gz

# tar zxfpv iptables-p2p-0.3.0a.tar.gz
# cd iptables-p2p-0.3.0a


2. Substituir a linha (20) do arquivo iptables/Makefile por:

IPTABLES = /usr/sbin/iptables

3. Substituir a linha (23) do arquivo iptables/libipt_p2p.c por:

#include "/usr/include/iptables/iptables.h"

4. Alterar o bloco abaixo no arquivo iptables/libipt_p2p.c:

static struct iptables_match p2p =
{
   NULL,
   "p2p",
   IPTABLES_VERSION,  
   IPT_ALIGN(sizeof(struct ipt_p2p_info)),
   IPT_ALIGN(sizeof(struct ipt_p2p_info)),
   &help,
   &init,
   &parse,
   &final_check,
   &print,
   &save,
   opts
};

Por:

static struct iptables_match p2p =
{
   NULL,
   "p2p",
   + 0,
   IPTABLES_VERSION,  
   IPT_ALIGN(sizeof(struct ipt_p2p_info)),
   IPT_ALIGN(sizeof(struct ipt_p2p_info)),
   &help,
   &init,
   &parse,
   &final_check,
   &print,
   &save,
   opts
};

5. Executar o comando "make":

# cd /tmp/source/iptables-p2p-0.3.0a
# make


6. Instalar o módulo no Kernel:

# cd /tmp/source/iptables-p2p-0.3.0a/kernel
# insmod ipt_p2p.o
# cp ipt_p2p.o /lib/modules/2.X.X/kernel/net/ipv4/netfilter/ipt_p2p.o.gz
# depmod -a
# modprobe ipt_p2p


OBS: Altere o 2.X.X pela versão do seu kernel!

7. Copiar o módulo para o iptables:

# cd /tmp/source/iptables-p2p-0.3.0a/iptables
# cp libipt_p2p.so /usr/lib/iptables


Página anterior     Próxima página

Páginas do artigo
   1. NOTA
   2. Organizando e instalando
   3. Algumas regras
   4. Exemplo rc.firewall
Outros artigos deste autor

Solução completa com o sendmail

Sendmail com antivírus e autenticação SMTP

PEAR - Utilizando classes prontas e documentadas no PHP

Usando Spammer e SpamDomains no sendmail

Instalando o PostgreSQL no Slackware

Leitura recomendada

Iptables detalhado

GUI para Iptables via web, linha de comando e outros

Firewall para o dia a dia

Script de Firewall com redirecionamento de portas em Linux Debian

Controlando 2 links de internet (roteados) em um gateway Linux com SQUID

  
Comentários
[1] Comentário enviado por ecbr em 14/07/2006 - 14:12h

muito bom o artigo, agora se o usuario for daqueles mais espertos ele muda aporta do p2p dele que vai sair normalmente, a nao ser que o iptables-p2p trabalha so string....

[2] Comentário enviado por cmeisterhofer em 14/07/2006 - 21:48h

Muito Bom este artigo.
Alguem sabe como instalar o slack64, já tentei duas vezes mais da pau.

[3] Comentário enviado por fabio em 14/07/2006 - 22:19h

Olá Ederson,

Não tem como, nesse caso o bloqueio se faz pela análise do pacote, ou seja, pelo seu protocolo. Se fosse por porta nem precisaria instalar o iptables-p2p, pois o iptables tem filtro por porta TCP/UDP facinho :P

Belo artigo!

Um abraço

[4] Comentário enviado por djuluca em 15/07/2006 - 08:08h

gostei, tá bem explicado, ajudou muito

[5] Comentário enviado por pcnmota em 18/07/2006 - 09:47h

Amigos, segui o tutorial e qdo tento rodar alguma regra da o seguinte erro:
root@magneto:/home/pcnmota# iptables -A FORWARD -m p2p -j DROP
Segmentation fault

Alguem sabe como resolver? Os modulos estao levantados.
Module Size Used by Not tainted
ipt_p2p 2728 0 (unused)
ipt_MASQUERADE 1304 0 (unused)
iptable_nat 15438 0 [ipt_MASQUERADE]
ip_conntrack 19236 0 [ipt_MASQUERADE iptable_nat]
iptable_mangle 2072 0 (unused)
iptable_filter 1644 0 (autoclean) (unused)
ip_tables 12416 7 [ipt_p2p ipt_MASQUERADE iptable_nat iptable_mangle iptable_filter]

[6] Comentário enviado por kernelpanic em 28/07/2006 - 10:34h

Segue o link certinho do iptables-p2p, que está quebrado:
http://ufpr.dl.sourceforge.net/sourceforge/iptables-p2p/iptables-p2p-0.3.0a.tar.gz

[7] Comentário enviado por alestevao em 02/09/2006 - 11:53h

Ola para todos, estou recebendo esses retorno de erro:

root@net1:/tmp/source/iptables-p2p-0.3.0a# make
make -C iptables
make[1]: Entering directory `/tmp/source/iptables-p2p-0.3.0a/iptables'
gcc -O2 -Wall -DIPTABLES_VERSION=\"1.3.5\" -I../common -c -o libipt_p2p.o libipt_p2p.c
ld -shared -o libipt_p2p.so libipt_p2p.o
make[1]: Leaving directory `/tmp/source/iptables-p2p-0.3.0a/iptables'
make -C kernel linux-2.6
make[1]: Entering directory `/tmp/source/iptables-p2p-0.3.0a/kernel'
make -C /lib/modules/2.6.13/build SUBDIRS=/tmp/source/iptables-p2p-0.3.0a/kernel P2P_COMMON=/tmp/source/iptables-p2p-0.3.0a/kernel/../common modules
make: *** /lib/modules/2.6.13/build: No such file or directory. Stop.
make: Entering an unknown directorymake: Leaving an unknown directorymake[1]: *** [ipt_p2p.ko] Error 2
make[1]: Leaving directory `/tmp/source/iptables-p2p-0.3.0a/kernel'
make: *** [linux-2.6] Error 2

[8] Comentário enviado por ronanricardo em 11/12/2006 - 15:05h

novo site onde pode ser encontrado o iptables-p2p

http://sourceforge.net/project/downloading.php?group_id=96453&use_mirror=ufpr&filename=iptables-p2p-...

[9] Comentário enviado por dtux em 06/01/2007 - 22:02h

Cara não deu certo
cd /tmp/source/iptables-p2p-0.3.0a/iptables
# cp libipt_p2p.so /usr/lib/iptables
deveria ter criado o arquivo libipt_p2p.so, mas não criou e da erro sem ele, q devo fazer

[10] Comentário enviado por linus black em 19/10/2007 - 12:53h

lembro que os scripts devem ter permi;ao de execusao
senao dara sempre erro.

[11] Comentário enviado por erikogp em 15/01/2010 - 06:11h

Por favor me ajudem. Também estou com o mesmo problema do diego-p-p. No meu também não foi criado o arquivo ipt__p2p.o
O que deve fazer?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts