Firewalld

Firewalld 不保存埠,但顯示成功,配置中的資訊但不在 –list-all 中

  • December 21, 2018

剛剛完成了一些位於 LB 後面的 tomcat 伺服器,在關閉防火牆的情況下一切正常,所以我firewalld為集群啟用並添加了我的埠。除一台以外的所有伺服器都執行良好。出於某種原因,在其中一台伺服器上,當我這樣做時firewall-cmd --list-all它不會顯示埠,但它確實顯示了public.xmlfirewalld 等目錄中的埠。這是我用於所有伺服器的相同命令:

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但如果我重新啟動防火牆,它們將不會顯示備份(其他會顯示)。

有一些問題解決這個問題。您可能會得到的任何幫助,我將不勝感激。謝謝!

你應該執行命令

防火牆-cmd –reload

在您使用“–permanent”執行命令之後。這些命令僅適用於配置文件,但不適用於目前執行的配置。如果您不使用 –permanent,則您正在處理正在執行的配置,並且可以立即看到您的更改。

我知道這很舊,但我討厭看到一篇提到我的確切問題並且回復為零的文章,所以這裡是:

在重新啟動firewalld之前,我搞砸了大約20分鐘,在防火牆重新啟動後,使用–list-all列出了埠

所以,我討厭成為這個人,但“關掉它然後重新打開”似乎是我的解決辦法。

引用自:https://unix.stackexchange.com/questions/383517