Sua primeira regra está correta:
DNAT net loc:192.168.122.12 tcp 80,443,8080 - 232.21.23.23
Então o problema deve estar em outro lugar. Você pode ver as regras subjacentes do iptables criadas com isto:
iptables -t nat -nvL net_dnat
Os pacotes NAT ainda precisam atravessar a cadeia FORWARD e serem aceitos. Tente adicionar a seguinte regra para aceitar tráfego para as VMs nessas portas:
ACCEPT net loc:192.168.122.12 tcp 80,443,8080