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: 30.152 ]

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

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

Bugzilla (Bug Tracking System)

OneOrZero Helpdesk

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

Mascarando conexões VPN com iptables

Leitura recomendada

Firewall profissional

Firewall iptables em cinco minutos e compartilhamento de conexão

Firewall/Proxy (solução completa)

Um poderoso firewall para a sua rede wireless com IP x MAC

Mandrake Firewall - Firewall com interface amigável

  
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