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.