So far, we've looked at iptables, a generic firewall management system that's available on all Linux distros, and ufw, which is available for Debian/Ubuntu-type systems. For our next act, we turn our attention to firewalld, which is the default firewall manager on Red Hat Enterprise Linux 7/8 and all of their offspring.
But here's where things get a bit confusing. On RHEL/CentOS 7, firewalld is implemented differently from the way it is on RHEL/CentOS 8. That's because, on RHEL/CentOS 7, firewalld uses the iptables engine as its backend. On RHEL/CentOS 8, firewalld uses nftables as its backend. Either way, you can't create rules with normal iptables or nftables commands because firewalld stores the rules in an incompatible format.