Firewall-cmd is a command line tool used to configure and manage the firewalld service in Linux. Firewalld is a firewall service that provides a dynamic firewall management system. It allows you to configure and customize the firewall settings according to your needs.
To use firewall-cmd, you must first install firewalld on your Linux system. This can be done using your system’s package manager. For example, on Fedora, CentOS, or Red Hat Enterprise Linux, you can use the following command:
sudo yum install firewalld
Once firewalld is installed, you can start the service by using the following command:
sudo systemctl start firewalld
To make sure that the firewalld service starts automatically at boot time, use the following command: sudo systemctl enable firewalld
Now that the firewalld service is running, you can use the firewall-cmd tool to configure the firewall. To see the current firewall configuration, use the following command:
sudo firewall-cmd --list-all
This will display the current firewall configuration, including the zones, services, and ports that are allowed or blocked.
To add a new service to the firewall, use the following command:
sudo firewall-cmd --add-service=service-name
Replace service-name with the name of the service you want to add. For example, to add the HTTP service, you would use the following command:
sudo firewall-cmd --add-service=http
To add a new port to the firewall, use the following command:
sudo firewall-cmd --add-port=port-number/protocol
Replace port-number with the number of the port you want to add and protocol with the protocol used by the port (either tcp or udp). For example, to add port 80 for the HTTP service, you would use the following command:
sudo firewall-cmd --add-port=80/tcp
To remove a service or port from the firewall, use the --remove option instead of --add. For example, to remove the HTTP service, you would use the following command:
sudo firewall-cmd --remove-service=http
To make your changes permanent, you need to use the --permanent option. This will save your changes to the firewall configuration so that they persist across reboots. For example, to add the HTTP service permanently, you would use the following command:
sudo firewall-cmd --permanent --add-service=http
Once you have made your changes, you need to reload the firewall to apply them. You can do this using the following command:
sudo firewall-cmd --reload
This will apply your changes to the firewall configuration and activate them.
In conclusion, firewall-cmd is a powerful tool for configuring and managing the firewalld service in Linux. With firewall-cmd, you can easily add or remove services and ports from the firewall and customize the firewall settings to suit your needs.