Buckminster
(usa Debian)
Enviado em 15/01/2014 - 22:41h
FORWARD - pacotes sendo roteados através da máquina, pacotes que passam pelo servidor;
INPUT - entrada - para pacotes destinados a sockets locais, pacotes destinados para o próprio servidor;
OUTPUT - pacotes gerados localmente, pacotes oriundos no próprio servidor com destino para fora dele.
Por exemplo, grosso modo, quando você abre um site em uma máquina cliente da rede interna (site este que não esteja hospedado na mesma rede interna), você precisa liberar o FORWARD, pois os pacotes tem destino externo, mas passarão pelo servidor.
Quando você abre um site no próprio servidor onde está o Iptables, se você bloquear a chain OUTPUT, não conseguirá acessar o site por que o Iptables não deixará o pacote sair.
Essa regra
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
está dizendo: iptables adicione (-A) uma regra na chain FORWARD com o módulo (-m) state com os estados RELATED (relatados) e ESTABLISHED (estabilizados) e aceite.
state :: Este módulo, quando combinado com rastreamento de conexão, permite o acesso ao estado de rastreamento de conexão para o pacote.
Você poderia ter colocado somente
iptables -A FORWARD -j ACCEPT
que funcionaria do mesmo jeito.
Os estados (states) você amarra eles como quer (de acordo com os estados permitidos). Na regra em questão você está permitindo somente estados relatados e estabilizados, ou seja, se um pacote inválido (ou qualquer outro tipo) tentar passar, o Iptables bloqueará.
Você poderia ter liberado o FORWARD somente para a máquina em questão, com a regra acima você liberou o FORWARD para todos.
Se abaixo dessa regra estiver uma outra regra FORWARD dropando que entre em conflito, ela será ignorada.
http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras?pagina=1