tlaloc
(usa Gentoo)
Enviado em 12/09/2010 - 16:29h
Tá, pera lá, vamos com calma... hehehe
Vamos definir o seguinte:
REDE EXTERNA -> Firewall (com SQUID) -> micro01 (rede interna)
.....................................-> micro02 (rede interna)
.....................................-> micro03 (rede interna)
Só para a gente definir um ambiente para estudar, ok?
O que é uma chain INPUT?
A INPUT é a ENTRADA. Entrou no FIREWALL? É INPUT, seja de onde vier. Se vier da rede interna é INPUT, da rede externa é INPUT, entrou é INPUT.
A chain OUTPUT é análoga, mas de saída. Saiu do Firewall é OUTPUT.
Mas se tudo é INPUT e OUTPUT, o que é a FORWARD (PREROUTE)?
A FORWARD é quando um pacote ENTRA (INPUT) no firewall e é REDIRECIONADA a outro destino que não o original.
Por exemplo, se eu quero acessar a rede externa a partir do micro03, sendo que os pacotes dele passam pelo SQUID, eu vou ter de criar uma chain para o micro03 cujo seus pacotes direcionados originalmente a rede externa sejam REDIRECIONADOS a porta do SQUID, não a porta de saída de rede (8080, por exemplo).
Então, assim definimos:
INPUT: tudo que entra no servidor, de qualquer lado que venha
OUTPUT: tudo que sai do servidor, de qualquer lado que saia
FORWARD: tudo que tem seu destino alterado dentro do FIREWALL
Quanto a sua última pergunta, que é bem interessante... vamos dizer que você queira simplesmente liberar acesso a rede externa para seus micros01, 02 e 03.
O que você precisa para esse caminho funcionar?
Oras, você precisa do protocolo de comunicação com a internet (TCP), você precisa que os hosts tenham acesso ao DNS do seu provedor de internet (UDP) e você precisa que conexões já pré-estabelecidas continuem abertas.
Munido destas informações, você pode ir atrás e descobrir que porta liberar com o protocolo TCP, qual porta liberar com acesso UDP e como fazer para conexões estabelecidas continuarem ativas, para os pacotes poderem VOLTAR pela rede e seus micros devidamente acessarem a internet.