A firewall is a set of rules. When a data packet moves into or out of a protected network space, its contents (in particular, information about its origin, target, and the protocol it plans to use) are tested against the firewall rules to see if it should be allowed through.
On the one hand, iptables is a tool for managing firewall rules on a Linux machine. On the other hand, firewalld is also a tool for managing firewall rules on a Linux machine. You got a problem with that? And would it spoil your day if I told you that there was another tool out there, called nftables?

The link for this article located at Opensource.com is no longer available.