如何在 Centos7 上使用防火墙删除对端口的访问?

如何在 Centos7 上使用防火墙删除对端口的访问?

使用防火墙命令打开了一个端口供公众使用,我想将此端口限制到特定的 IP,我在此找到了答案地点

我使用以下命令打开它:

$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload

现在,我想利用我找到的信息将此端口的访问限制到特定 IP 地址。我是否需要先将此端口从公共访问中删除?

或者我是否只需添加如下新规则就可以解决问题?

$ firewall-cmd --new-zone=special
$ firewall-cmd --permanent --zone=special --add-rich-rule='
  rule family="ipv4"
  source address=”123.1.1.1"
  port protocol="tcp" port="10050" accept'

我尝试了以下方法:

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload

但是当我运行以下命令时:

$ firewall-cmd --list-ports 

10050/tcp仍显示。

请理解我不太熟悉服务器端配置。

解决方案:不要忘记--运行时到永久

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload 

答案1

解决方案:不要忘记--运行时到永久

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent 
$ firewall-cmd --reload 

答案2

# firewall-cmd --zone=public --remove-port=12345/tcp --permanent
# firewall-cmd --reload

将 12345 替换为您要删除的端口。

答案3

按照以下步骤操作即可:

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent 
$ firewall-cmd --reload 
$ systemctl restart firewalld
$ firewall-cmd --zone=public --list-ports

答案4

在我的 Fedora 服务器上,所有这些答案都是错误的。我的解决方案是:

firewall-cmd --remove-port=8081/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

请注意,该命令firewall-cmd --permanent --remove-port=8081/tcp抛出了错误“防火墙命令:错误:无法识别的参数:–-remove-port=8081/tcp“。

相关内容