Eu tive exatamente a mesma pergunta e encontrei a resposta com a ajuda dessa comunidade. Aqui está o link:
Redirecionamento de porta com iptables para localhost / bloqueando o porto de destino
Eu resolvi o problema marcando os pacotes recebidos no 8080 e filtrando-os depois:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 8080 -j MARK --set-mark 1
iptables -A INPUT -m mark --mark 1 -j DROP
A última regra para eliminar os pacotes marcados pode ser a primeira regra na sua cadeia INPUT.
O DNAT não funcionou para mim com o host local. Eu acho que isso é porque o host local é tratado especialmente no kernel.