Sua culpa é que você precisa de três sistemas para que isso faça sentido:
A -----> B
deve ser substituído por
A -----> B -----> C
Nesse caso, você precisaria da cadeia PREROUTING em B , pois o pacote seria entregue ao sistema a partir do exterior.
Mas se você usar iptables no mesmo sistema no qual você cria os pacotes, eles serão gerados localmente e eles não passarão PREROUTING . Com dois sistemas, você pode fazer isso:
A -----> B
deve ser substituído por
A -----> C
( C não precisa existir se nenhuma resposta for necessária para testar o DNAT).
Nesse caso, você precisa de tal regra:
iptables -t nat -A OUTPUT -d y1 -j DNAT --to-destination z1
Mas se você alterar o endereço de destino para o seu, o pacote não alcançará eth6 . Você precisa de tcpdump -i lo -n para ver.