「firewall-cmd --reload」和「systemctl restart firewalld.service」有什麼不同?

「firewall-cmd --reload」和「systemctl restart firewalld.service」有什麼不同?

firewall-cmd --reload和 和有什麼差別systemctl restart firewalld

答案1

  • systemctl restart firewalld將終止該進程並啟動一個新進程。

  • firewall-cmd --reload將要

reload 指令會刪除所有執行時間配置並套用永久配置。來源

每個沒有該標誌的配置--permanent都是運行時配置

重新引導或重新啟動 FirewallD 時不會保留執行時間配置更改,而永久更改不會應用於正在運行的系統。

正如 @mircea-vutcovici 所指出的,如果自上次守護程式重新啟動以來已更新,則使用firewall-cmd重新載入防火牆規則不會導致系統使用潛在的新的firewalld可執行檔。但是,根據您的發行版,套件更新時套件管理器可能已完成此操作。這文件狀態:

要重新加載,您firewalld可以使用命令列工具firewall-cmd --reload,也可以SIGHUP使用.firewalldkillall -HUP firewalld

killall -HUP firewalld運行時執行該步驟systemctl reload firewalld。看看基本情況設計對於firewalld來說,它本質上是一個前端iptables類似的後端。因此殺死firewalld進程不應該影響實際的防火牆規則。因此,兩種重新載入firewalld規則的方法具有相同的效果。我個人更喜歡 systemd 方式,以確保使用最新的 firewalld 可執行檔。

相關內容