刚刚完成了一些位于 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列出了端口
所以,我讨厌成为这个人,但“关闭并重新打开”似乎是我的解决办法。