Migrando do ipchains para o iptables

Atualizou kernel e agora seu ipchains não fuciona mais? Escontre aqui a solução utilizando o iptables, uma nova ferramenta para firewall e mascaramento que se encontra nas versões 2.4 do kernel e superior.
Este artigo mostra exemplos utilizando o iptables e comparando-o com a mesma funcionalidade do ipchains.

[ Hits: 31.721 ]

Por: Wanderson Berbert em 24/07/2003


Aceitando ou negando pacotes



Para bloquear pacotes em uma porta


Se no ipchains você fazia:

# ipchains -A INPUT -i eth1 -p tcp -s 0/0 -d 200.219.228.90 25 -j DENY

no iptables você faz:

# iptables -A INPUT -i eth1 -p tcp -d 200.219.228.90 --dport 25 -j DROP

note que o INPUT é maiúsculo, o mesmo exemplo se aplica para outras portas

# iptables -A INPUT -i eth1 -p tcp -d 200.219.228.90 --dport 110 -j DROP
# iptables -A INPUT -i eth1 -p tcp -d 200.219.228.90 --dport pop3 -j DROP


Para aceitar pacotes em uma determinada porta


Se no ipchains você fazia:

# ipchains -A INPUT -i eth1 -p tcp -s 0/0 -d 200.219.228.90 25 -j ACCEPT

no iptables você faz:

# iptables -A INPUT -i eth1 -p tcp -d 200.219.228.90 --dport 25 -j ACCEPT

Bloqueando/Aceitando um intervalo de portas


Ipchains:

# ipchains -A INPUT - i eth1 -s 0/0 -d 200.219.228.90 0:1024 -p tcp -j DENY

iptables:

# iptables -A INPUT -i eth1 -p tcp -d 200.219.228.90 --dport 0:1024 -j DROP

O mesmo estilo se aplica a pacotes udp e para a regra ACCEPT.

Nota: Quando você utiliza uma regra automaticamente o Linux inclui o módulo para você, caso o mesmo não ocorra automaticamente você pode tentar incluí-los manualmente com o comando:

# modprobe ip_tables
# modprobe iptable_nat
# modprobe iptable_filter


Estes são os módulos básicos. O iptables foi desenvolvido em módulos para facilitar a adição de novas funcionalidades.

    Próxima página

Páginas do artigo
   1. Aceitando ou negando pacotes
   2. Mascarando uma conexão
   3. Redirecionado pacotes
   4. Concluindo
Outros artigos deste autor

Identificando usuários Squid com o IDENTD

OneOrZero Helpdesk

Nagios - Um poderoso programa de monitoramento de rede (parte final)

Bugzilla (Bug Tracking System)

Implementando auto-resposta utilizando o Exim

Leitura recomendada

Squid/IPtables - Bloqueando Facebook e personalizando IP de acesso irrestrito (definitivo)

Instalação do Layer7 no Debian Etch

Firewall bridge + iptables + layer7 + ipp2p

Incrementando seu Firewall com o Layer 7 Filter

Fusion Firewall - Uma alternativa para Firewall-Proxy gerenciado via web

  
Comentários
[1] Comentário enviado por cesarcardoso em 24/07/2003 - 22:07h

Artigo bem interessante para quem ainda não migrou para o iptables!

[2] Comentário enviado por wberbert em 29/07/2003 - 09:25h

obrigado.

[3] Comentário enviado por diogojp em 20/12/2003 - 14:41h

Olá amigo como eu mudo a seguinte regra que esta em ipchains para iptables !
ipchains -A input -j DENY -i eth0

ipchains -A input -p all -s 0/0 -d 0/0 -j ACCEPT -i eth0
ipchains -A output -p all -s 0/0 -d 0/0 -j ACCEPT -i eth0

Se poder mi ajudar fico grato !


[4] Comentário enviado por wberbert em 23/12/2003 - 09:49h

Caro diogo, as configurações para o Iptables são parecidas e ficaria assim:

iptables -A input -i eth0 -j ACCEPT
iptables -A output -i eth0 -J ACCEPT
iptables -A input -i eth0 -J drop


[5] Comentário enviado por wberbert em 23/12/2003 - 09:50h

Caro diogo, as configurações para o Iptables são parecidas e ficaria assim:

iptables -A input -i eth0 -j ACCEPT
iptables -A output -i eth0 -J ACCEPT
iptables -A input -i eth0 -J DROP


[6] Comentário enviado por marlonvectra em 25/11/2004 - 13:06h

E ae blz ? Cara eu gostaria d uma ajuda, eu queria saber se tem como eu liberar todos os ip's para uma porta, Eu acho q Pode ser assim mas naão tenho certeza ---> # iptables -A INPUT -i eth0 -p tcp -d 0.0.0.0 --dport 4660 -j ACCEPT <------ Porem não tenho certeza sobre esses 0.0.0.0, se vc puder me ajudar fico agradecido, Falo e obrigadado !

[7] Comentário enviado por wberbert em 25/11/2004 - 15:50h

Está legal, mas quando não interessa o destino, não é necessário coloca-lo no comando:

iptables -A INPUT -i eth0 -p tcp -d 0.0.0.0 --dport 4660 -j ACCEPT

vc pode tirar o destination -d e o comando ficará assim:

iptables -A INPUT -i eth0 -p tcp --dport 4660 -j ACCEPT

Desta maneira deve funcionar sem problemas.


[8] Comentário enviado por marlonvectra em 29/11/2004 - 17:12h

Obrigado pela resposta, soh vou t encomodar + uma vez.... eu peguei um guia de configuração do iptables que é http://www.mtm.ufsc.br/~krukoski/pup/linux/focalinux3/ch-fw-iptables.htm então nesse artigo eu encontrei varias pasta q não existem, queria saber se eu tenho q criar esses arquivos e pastas ou eles estão em outros lugares ? como por exemplo /var/log/kern.log e /etc/network/interfaces porem existem alguns q existem como por exemplo /proc/net/ip_tables_names então me de uma luz, rsrsrs.
Falow um abraço

[9] Comentário enviado por wberbert em 29/11/2004 - 17:35h

Não é necessário criar estas pastas pois as mesmas variam de uma distribuição para outra.
Se prenda ao que está escrito no manual do iptables.

$ man iptables

Valews?

[10] Comentário enviado por py9mt em 10/02/2008 - 12:54h

Boa, me ajudou muito, nota 9

[11] Comentário enviado por py9mt em 10/02/2008 - 12:55h

Interessante é que com iptables pode se fazer a maioria dos bloqueio, deixando algo muito especifico pro squid


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts