Veja este diagrama . As caixas verdes são para iptables , as azuis são para ebtables (ignore essas).
Assim, você vê que a cadeia OUTPUT é percorrida apenas por pacotes produzidos por aplicativos locais, enquanto a cadeia POSTROUTING é percorrida por todos os pacotes, incluindo aqueles roteados de algum outro lugar.
Existem dois subcasos para tradução de endereços de rede (NAT): S NAT traduz o endereço source do pacote, enquanto D NAT se traduz o endereço destino do pacote.
Você está restrito em quais cadeias você pode fazer: nat/PREROUTING e nat/OUTPUT podem fazer DNAT, enquanto nat/POSTROUTING e possivelmente nat/INPUT (não tenho certeza se isso ainda funciona) podem fazer SNAT.