🖧如何在Firewalld中打开特定IP地址的端口

如何允许来自我的专用网络上特定IP地址的流量,或者如何允许来自特定专用网络通过防火墙的流量到Red Hat Enterprise Linux(RHEL)或CentOS服务器上的特定端口或服务?

在这篇简短的文章中,您将学习如何在运行firewalld的RHEL或CentOS服务器上为特定IP地址或网络范围打开端口。

解决此问题的最合适方法是使用区域 防火墙

因此,您需要创建一个将存储新配置的新区域(或者您可以使用任何可用的默认安全区域)。

在Firewalld中打开特定IP的端口

首先,创建一个适当的区域名称(在本例中,我们使用mariadb-access允许访问MySQL数据库服务器)。

# firewall-cmd --new-zone=mariadb_access --permanent

然后重新加载Firewalld设置以应用新更改。 如果跳过此步骤,则尝试使用新的区域名称时可能会收到错误消息。 这次,新区域应出现在区域列表中,如以下屏幕截图所示。

# firewall-cmd --reload
# firewall-cmd --get-zones

然后添加要在本地服务器上打开的源IP(10.24.96.5/20)和端口(3306),如下所示。 然后重新加载Firewalld设置以应用新更改。

# 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

或者,您可以允许从整个网络(10.24.96.0/20)到特定服务或端口的流量。

# 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

为确保新区域具有上面添加的必需设置,请使用以下命令检查其详细信息。

# firewall-cmd --zone=mariadb-access --list-all

如何从Firewalld删除端口和区域

您可以删除原始IP或网络,如下所示:

# firewall-cmd --zone=mariadb-access --remove-source=10.24.96.5/20 --permanent
# firewall-cmd --reload

要从区域中删除端口,请运行以下命令并重新加载firewalld设置:

# firewall-cmd --zone=mariadb-access --remove-port=3306/tcp --permanent
# firewall-cmd --reload

要删除区域,请运行以下命令并重新加载firewalld设置:

# firewall-cmd --permanent --delete-zone=mariadb_access
# firewall-cmd --reload

最后但并非最不重要的一点,您还可以使用防火墙丰富的规则。 这是一个例子:

# firewall-cmd --permanent –zone=mariadb-access --add-rich-rule="rule family="ipv4" source address="10.24.96.5/20" port protocol="tcp" port="3306" accept"

Sidebar