防火墙-cmd --重新加载

防火墙-cmd --重新加载

刚刚完成了一些位于 LB 后面的 tomcat 服务器,在防火墙关闭的情况下一切正常,所以我启用firewalld并添加了集群的端口。除了一台服务器外,所有服务器都运行良好。由于某种原因,在其中一台服务器上,当我这样做时,它不会显示端口,但它实际上显示了firewalld等目录中的firewall-cmd --list-all端口。public.xml这是我对所有服务器使用的相同命令:

firewall-cmd --zone=public --permanent --add-port=4000-4100/tcp

运行后我得到了success。然而,当我跑步时我得到以下信息firewall-cmd --list-all

public (default, active)
  interfaces: ens32
  sources: 
  services: dhcpv6-client http ssh
  ports: 45564/tcp 8080/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

我放在那里的其他端口没有任何问题(即 45564 和 8080)

奇怪的是当 cat/etc/firewalld/public.xml它显示那里的端口。

<zone>
 <short>Public</short>
 <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
 <service name="dhcpv6-client"/>
 <service name="http"/>
 <service name="ssh"/>
 <port protocol="tcp" port="45564"/>
 <port protocol="tcp" port="4000-4100"/>
 <port protocol="tcp" port="8080"/>
</zone>

有时,我在命令中输入允许 4000-4100,它们实际上会显示在其中,--list-all但如果我重新启动防火墙,它们就不会显示出来(其他的会显示)。

有一些问题需要解决这个问题。如果您能得到任何帮助,我将不胜感激。谢谢!

答案1

你应该运行命令

防火墙-cmd --重新加载

使用“--permanent”执行命令后。这些命令仅适用于配置文件,但不适用于当前运行的配置。如果您不使用 --permanent,则您正在处理正在运行的配置,并且可以立即看到您的更改。

答案2

我知道这已经很旧了,但我讨厌当我遇到一篇提到我的确切问题并且回复为零的帖子时,所以这里是:

在简单地重新启动firewalld之前,我把这个弄乱了大约20分钟,在防火墙重新启动后,使用--list-all列出了端口

所以,我讨厌成为这个人,但“关闭并重新打开”似乎是我的解决办法。

相关内容