如何允许私有网络中的特定IP地址的流量,或者通过firewalld允许特定私有网络的流量,进入Red Hat Enterprise Linux(RHEL)或CentOS服务器上的特定端口或服务?
在这篇短文中,您将学习如何为运行firewalld防火墙的RHEL或CentOS服务器中的特定IP地址或网络范围打开一个端口。
最合适的解决方法是使用firewalld。因此,您需要创建一个新的区域,以容纳新的配置(或者您可以使用任何可用的安全默认区域)。
首先创建一个适当的区域名称(在我们的例子中,我们使用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'
至此就完成了,我们希望以上解决方案对您有用。