How can I allow traffic from a specific IP address in my private network or allow traffic from a specific private network through firewalld, to a specific port or service on a Red Hat Enterprise Linux (RHEL) or CentOS server?
In this short article, you will learn how to open a port for a specific IP address or network range in your RHEL or CentOS server running a firewalld firewall.
The most appropriate way to solve this is by using a firewalld zone. So, you need to create a new zone that will hold the new configurations (or you can use any of the secure default zones available).
First create an appropriate zone name (in our case, we have used mariadb-access
to allow access to the MySQL database server).
## firewall-cmd --new-zone=mariadb_access --permanent
Next, reload the firewalld settings to apply the new change. If you skip this step, you may get an error when you try to use the new zone name. This time around, the new zone should appear in the list of zones as highlighted in the following screenshot.
## firewall-cmd --reload
## firewall-cmd --get-zones
Check Firewalld Zone
Next, add the source IP address (10.24.96.5/20) and the port (3306) you wish to open on the local server as shown. Then reload the firewalld settings to apply the new changes.
## firewall-cmd --zone=mariadb-access --add-source=10.24.96.5/20 --permanent
## firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
## firewall-cmd --reload
Open Port for Specific IP in Firewalld
Alternatively, you can allow traffic from the entire network (10.24.96.0/20) to a service or port.
## firewall-cmd --zone=mariadb-access --add-source=10.24.96.0/20 --permanent
## firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
## firewall-cmd --reload
#centos #fedora #security #centos tips #fedora tips #firewalld tips #rhel tips