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


13

如果使用firewall-cmd开放了一个供公众使用的端口,我想将此端口限制为特定的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 仍然显示。

请理解,我对Sever端配置不太熟悉。

灵魂不要忘记--runtime-to-permanent

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

啊,我忘了--permanent
MCV

1
您应该将此作为答案发布(并接受)。接受您自己的答案是完全可以接受的,这样可以将问题标记为已解决。
杰拉尔德·施耐德

1
最好不要使用--permanent,以防您在防火墙规则上出错。如果您曾经使用--permanent并锁定自己,则将很难重新进入,因为您无法恢复。相反,请不要使用--permanent,当您对规则感到满意时,请使用firewall-cmd --runtime-to-permanent提交规则。如果您被锁定,请重新加载防火墙或重新启动。
迈克尔·汉普顿

这样也可以 firewall-cmd --runtime-to-permanentfirewall-cmd --reload或完全替换之后再应用吗?我一定会尝试的。
mcv

Answers:


28

解决方案:不要忘记--runtime-to-permanent

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

1
我仍然必须遵循systemctl restart firewalld
JaKu

这对我不起作用。systemctl是版本219firewall-cmd为版本0.5.3在CentOS 7.5 64位。
Pred

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

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


1
我在Fedora文档中读到的某个地方建议将其--permanent作为首选。但是,--permanent是的。
WesternGun

我通常将其保留为最后一个选择,以确保如果由于某种原因该规则不正确,我可以简单地重新启动而不必将该规则永久化。如果它满足我的要求,我可以向上箭头添加--permanent到最后。
贾斯汀E

0

请按照以下步骤操作,您将可以:

  1. $ firewall-cmd --zone = public --remove-port = 10050 / tcp
  2. $ firewall-cmd-永久运行
  3. $ firewall-cmd-重新加载
  4. $ systemctl重新启动firewalld
  5. $ firewall-cmd --zone = public --list-ports

我认为您不需要重新启动防火墙,firewalld实际上是为了避免每次更改配置都重新启动所有服务而设计的。
vdegenne
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.