Firewalld usa iptables para implementar suas regras. Se precisar de alguns recursos do iptables não implementados no firewalld, você pode configurar as regras do iptables diretamente no firewalld . Usar mais de uma ferramenta para gerenciar as regras do iptables pode causar problemas.
As regras do Iptables são avaliadas em ordem, o processamento de um pacote para na primeira regra de correspondência. Usando o seu exemplo: se você aceitar o icmp como a primeira regra em INPUT
chain, o pacote será aceito mesmo se houver uma regra de descarte posterior, pois ele não será avaliado. Da mesma forma, se você adicionar aceitar no final da cadeia e houver uma regra anterior (gerada por firewall) para soltá-lo, o pacote será descartado.