INPUT
e OUTPUT
cadeias são percorridas para pacotes entregues e enviados de aplicativos em execução na máquina local.
Se um aplicativo envia um pacote, ele percorre
app -> OUTPUT -> POSTROUTING -> interface
Por outro lado, um pacote entregue a um aplicativo atravessa
interface -> PREROUTING -> INPUT -> app
Enquanto um pacote encaminhado atravessa
interface -> PREROUTING -> FORWARD -> POSTROUTING -> interface
Observe que MASQUERADE
é apenas um caso especial de SNAT
, em que o endereço de origem é retirado da interface.
Veja também esta foto ou muitas outras que você pode encontrar em iptables
tutoriais.
Editar
Se você quiser fazer DNAT
para pacotes enviados de um aplicativo, use OUTPUT
, porque DNAT
só funciona em PREROUTING
e os pacotes de saída de um aplicativo nunca percorrem PREROUTING
.
Da mesma forma, para SNAT
, INPUT
e POSTROUTING
no caso de aplicativos enviados para um aplicativo, embora não tenha certeza sobre o status atual de SNAT
em INPUT
, ele pode estar quebrado e não realmente funciona.
Como a maioria dos mascarados acontece em pacotes de encaminhamento de roteadores, você não vê esses tipos de aplicativos com frequência.