is there a way to flush a whole zone's rich rules on firewalld?

Empty the contents of (or remove):

  • /etc/firewalld/zones/zone.xml
  • /etc/firewalld/zones/zone.xml.old

Note: where zone is the name of the zone you need to remove.

Then restart the firewalld service