Introduction
Firewalld is a dynamic firewall manager for Linux systems that provides a flexible way to manage network security. This guide covers essential Firewalld commands for managing firewall rules and services.
Firewalld Service Management
Basic Service Commands
# Check service status
sudo systemctl status firewalld
# Start the service
sudo systemctl start firewalld
# Stop the service
sudo systemctl stop firewalld
# Restart the service
sudo systemctl restart firewalld
Firewall Configuration
List Current Settings
# List all firewall rules
firewall-cmd --list-all
# List allowed services
firewall-cmd --list-services
# List open ports
firewall-cmd --list-ports
Port Management
# Add a port
sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
sudo firewall-cmd --reload
# Remove a port
sudo firewall-cmd --zone=public --permanent --remove-port=80/tcp
sudo firewall-cmd --reload
Common Use Cases
Allow SSH Access
# Allow SSH service
sudo firewall-cmd --zone=public --permanent --add-service=ssh
sudo firewall-cmd --reload
Allow HTTP/HTTPS Traffic
# Allow HTTP and HTTPS services
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Best Practices
- Always use
--permanent
flag for persistent changes - Remember to reload after making changes
- Use service names instead of port numbers when possible
- Keep track of allowed services and ports
- Regularly review firewall rules