Affected versions: CentOS Stream 9

📖 ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

firewalld rich rules dropped after reload on CentOS Stream 9 disrupts services and slows incident response until the root cause is resolved.

Environment & Reproduction

Permanent rich rules disappear from runtime after firewalld reload due to syntax errors.

firewall-cmd --list-all
firewall-cmd --permanent --list-rich-rules

Root Cause Analysis

Misalignment between network configuration and CentOS Stream 9 defaults causes the failure path described above.

Quick Triage

Confirm package state, service status, and recent changes before deeper diagnostics.

systemctl status
rpm -qa | grep -i 
journalctl -p err -b --no-pager | tail -100

Step-by-Step Diagnosis

Capture detailed logs, configuration deltas, and runtime state to isolate the failing component.

journalctl -u firewalld -n 200
firewall-cmd --check-config
Illustrative mockup for centos-stream-9 — network_firewalld_rich_rules_diagnostics
Diagnostics for network/firewalld-rich-rules on CentOS Stream 9 — Illustrative mockup — Progressive Robot

Solution – Primary Fix

Apply the targeted configuration change and restart the relevant services to restore expected behavior.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

sudo firewall-cmd --permanent --remove-rich-rule=''
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.0/24 accept'
sudo firewall-cmd --reload
Illustrative mockup for centos-stream-9 — network_firewalld_rich_rules_fix_results
Fix verification for network/firewalld-rich-rules on CentOS Stream 9 — Illustrative mockup — Progressive Robot

Solution – Alternative Approaches

Migrate complex rule sets to nftables via firewalld’s nftables backend.

Verification & Acceptance Criteria

Validate the fix with deterministic checks and ensure no regressions in dependent services.

firewall-cmd --list-rich-rules
ss -tnlp

Rollback Plan

Revert configuration and restart services to return to the previous known-good state.

cp /etc/firewalld/zones/.xml.old /etc/firewalld/zones/.xml
firewall-cmd --reload

Prevention & Hardening

Validate firewalld config with –check-config in CI before deploy.

Related: rich rules, nftables backend; see also adjacent topics in the CentOS Stream 9 common problems series.

Related tutorial: View the step-by-step tutorial for centos-stream-9.

View all centos-stream-9 tutorials on the Tutorials Hub →

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

CentOS Stream documentation, Red Hat upstream guides, and CentOS Stream 9 release notes covering this subsystem.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.