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

Por: Wanderson Berbert em 24/07/2003


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.

Página anterior     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

NetOffice - Sistema de gerenciamento de projetos

Implementando auto-resposta utilizando o Exim

Configurando servidor IMAP

Mascarando conexões VPN com iptables

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

Leitura recomendada

Trabalhando com CARP nos BSD's

Instalação do Layer7 no Debian Etch

NAT com firewall - simples, rápido e funcional

Roteamento de entrada/saída com iproute e iptables

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

  
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