Normalmente, o principal critério para o SNAT é "tráfego que está saindo de uma determinada interface" (por exemplo, -o eth0
). Qual interface um pacote vai sair é determinada pelo roteamento, então para aplicar esse critério você precisa executá-lo em um contexto POSTROUTING
.
O DNAT reescreve o endereço de destino de um pacote, o que significa que ele pode afetar para onde um pacote vai - por exemplo, um pacote que parece ter sido destinado ao gateway pode ser reescrito para ir para uma máquina na rede. Como você deseja que o roteamento considere o destino reescrito ao tomar sua decisão, de modo que o pacote realmente vá para onde ele precisa, o DNAT deve ser executado em um contexto PREROUTING
.