Pular para o conteúdo

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.
Wanderson Berbert wberbert
Hits: 33.561 Categoria: Linux Subcategoria: Firewall
  • Indicar
  • Impressora
  • Denunciar

Parte 2: Mascarando uma conexão

Se no ipchains você fazia:

# ipchains -A forward -s 192.168.0.0/24 -d 0/0 -j MASQ

no iptables você faz:

# iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 200.219.228.90

onde 200.219.228.90 é o endereço IP de sua placa de rede conectado a internet.

Note que há muitas outras maneiras se se utilizar o mascaramento de IP, está é apenas uma maneira básica. Eu poderia simplesmente mascarar os pacotes direcionados para a porta 80 enquanto que as outras portas não seriam mascaradas, exemplo:

# iptables -t nat -A POSTROUTING -o eth1 --dport 80 -j SNAT --to 200.219.228.90

No iptables foi adicionado uma tabela nat e uma chain POSTROUTING para cuidar da parte do mascaramento de IP, note que a chain POSTROUTING requer um parâmetro -o e não -i como o utilizado no ipchains.

   1. Aceitando ou negando pacotes
   2. Mascarando uma conexão
   3. Redirecionado pacotes
   4. Concluindo

NetOffice - Sistema de gerenciamento de projetos

Configurando servidor IMAP

Criando relatórios estatísticos da web com o awstats

MailScanner - Email Gateway Virus Scanner

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

IPset - Bloqueie milhares de IPs com o iptables

Iptables - Segurança total para sua rede

Dominando o iptables (parte 1)

Como criar um firewall de baixo custo para sua empresa

Iptables 1.3.4 com Layer 7 e Kernel 2.6.14 no Debian 3.1

#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

Entre na sua conta para comentar.