When we run network services on our systems, they are automatically exposed to their networks. If that network is the public Internet, our services are essentially exposed to everyone. Often, this is not what we want. We want visitors worldwide to visit our web server, but we don’t want them to connect to our database directly.Firewalls control incoming and outgoing traffic on our server and help us gain a finer control over what services we make available. On Fedora-based systems, we can use two different firewalls. iptables is an older and well-known system that configures Linux kernel firewall tables. firewalld is its successor that allows configuration without service restarts.

Table of Contents


Overseeing firewalld
Changing firewalld Rules
Creating Custom Zones
Defining Services
Rich Rules

Scanning ports with nmap


Service Provider Firewalls


Buy for $50
Rated 36x five stars
Gumroad (as of Aug 3, 2023)
I am using some scripts I downloaded from Josef Strzibny's book that are setting up Ruby on Rails deployment and automatically installing a PostgreSQL server. I am also using Dokku, but I like the idea of controlling what is happening on the server.
Lucian Ghinda, Senior Ruby Developer