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.