px
(usa Debian)
Enviado em 17/07/2013 - 19:45h
É bem puxado o iptables, no sentido que parece a principio tudo igual, quando comecei com isso achava essas opções tudo coisa de doido kk' hoje entendo o uso razoavelmente bem (penso eu neh) bom aqui vai um cado dessa xp rsrs
No iptables existes 3 tabelas principais
Tabela FILTER que contém as CHAINs
INPUT - Tudo que entra na sua placa de rede passa por esta CHAIN (localhost)
OUTPUT - Tudo que sai da sua placa de rede passa por esta CHAIN (localhost)
FORWARD - Tudo que é destinado a outro micro na rede local, ou a outra placa de rede na maquina ou outra subrede (que é mais usado)
A tabela
filter filtra (hahaha) o tráfego que passa pela sua rede local, por exemplo, ahh vou entrar no facebook, vou precisar de 3 coisas:
DNS - vai converter o nome facebook.com para um ip (linguagem chula)
Da CHAIN OUTPUT presente na tabela
filter para sair o pedido de DNS (apesar de alguns modems fazerem isto, em redes corporativas não é assim que a banda toca) e após o linux saber o ip ele requisita através de um pacote SYN a conexão
Da CHAIN INPUT para receber todas as informações do DNS e dos pacotes do facebook e da CHAIN OUTPUT novamente para mandar o bendito do pacote ACK estabelecendo a conexão
Tabela NAT
A tabela NAT serve basicamente para roteamento dos pacotes, como assim? explica melhor...
por exemplo eu tenho uma maquina no ip 192.168.0.56 (firewall) e tenho outra maquina de servidor http no ip 192.168.0.23 (servidor) se eu quiser redirecionar os pacotes do firewall para o servidor na porta 80 por exemplo usaria esta regra:
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.56 --dport 80 -j DNAT --to 192.168.0.23:80
A CHAIN PREROUTING presente na tabela NAT é responsável pelo processo antes do roteamento do pacote, ou seja, antes de aceitar ou descartar, ela somente envia para o ip de destino (DNAT, leia-se roteamento de destino) para tratar do pacote, no nosso caso a maquina firewall repassa os pacotes da porta 80 diretamente para nosso servidor (o servidor decidirá se aceita ou dropa a conexão)
A CHAIN OUTPUT - Consultado quando os pacotes gerados localmente precisam ser modificados antes de serem roteados. Este chain somente é consultado para conexões que se originam de IPs de interfaces locais.
A CHAIN POSTROUTING da tabela NAT é responsável por modificar o endereço de origem dos pacotes com o SNAT (leia-se roteamento de destino) regra com SNAT:
iptables -t nat -A POSTROUTING -s 192.168.0.56 -o eth1 -j SNAT --to 192.168.0.23
A regra acima modifica o endereço de origem do pacote, ou seja, se eu solicitar uma conexão para o nosso servidor http, primeiro o firewall vai redirecionar o pacote para nosso servidor, após isso nosso servidor responderá para o firewall e o firewall modificará o pacote com o ip do servidor, assim o próximo pacote chegará ao seu destino, ao invés de ficar preso no firewall
Tabela MANGLE
Esta [*****] contém todas as regras citadas acima, ela é responsável por priorizar o trafego em determinada conexão, pelo TOS seja de saída ou entrada em todas as redes, por enquanto esqueça esta tabela, raramente você a usará com as opções fora do normal.
Quaisquer dúvida ou erros meus me perdoem e comentem aqui, ficarei feliz em revisar, pois assim todos aprendem ou fixam mais facilmente o conteúdo
---
Atenciosamente, Pedro.
Já leu meu último artigo?
LINK:
http://www.vivaolinux.com.br/artigos/userview.php?login=px