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.596 ]

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

Utilizando o Smarty template no PHP

Solução completa com o sendmail (segunda edição)

PEAR - Utilizando classes prontas e documentadas no PHP

Solução completa com o sendmail

Instalando o PostgreSQL no Slackware

Leitura recomendada

Como construir um firewall de baixo custo para sua empresa (parte 3)

Configurando firewall Shorewall no CentOS

Dois links de ADSL em um mesmo servidor

Firewall invisível com Proxy ARP

Iptables + Layer7

  
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