CentOS 6.0
Estou estudando iptables e estou ficando confuso sobre a diferença entre as cadeias FORWARD e OUTPUT. Na minha documentação de treinamento, ele declara:
Se você estiver anexando a (-A) ou excluindo de (-D) uma cadeia, poderá aplicá-lo aos dados da rede que trafegam em uma das três direções:
- ENTRADA - Todos os pacotes recebidos são verificados em relação às regras nesta cadeia.
- SAÍDA - Todos os pacotes enviados são verificados em relação às regras nesta cadeia.
- FORWARD - Todos os pacotes enviados para outro computador são verificados em relação às regras nesta cadeia.
Isso me confunde porque, na minha opinião, os pacotes que saem para um host seriam enviados. Portanto, existem cenários em que um pacote iria para outro computador, mas NÃO seria "enviado"? Como o iptables distinguiria os dois?
filter
cadeias (INPUT
ouOUTPUT
ouFORWARD
). (Supondo que alguma outra corrente não a solte antes.) As correntesmangle
enat
são diferentes, talvez você estivesse pensando namangle
corrente?Para meu entendimento:
ENTRADA: o dst IP está no host, mesmo que ele tenha várias portas com várias sub-redes
SAÍDA: o src IP é do host, porta
FORWARD: nem o dst IP no host nem o src IP do host
Por exemplo, para o roteador A
INPUT é:
SAÍDA é:
FORWARD é:
fonte