É o service iptables restart no final que é o problema. Quando você executa os comandos iptables , essas regras são colocadas em prática imediatamente. O serviço iptables que você está reiniciando usa um arquivo de configuração para carregar todas as regras de firewall quando o sistema é inicializado. Quando você o executa, ele substitui todas as regras que você acabou de criar com o que estava na configuração armazenada.
De acordo com este que você deveria use os comandos iptables para fazer o firewall funcionar corretamente e, em seguida, service iptables save para salvar a configuração do firewall para a próxima inicialização.