Firewalld

如何顯示整個 firewalld 狀態?

  • February 22, 2022

我試圖弄清楚為什麼防火牆沒有像我認為我要求的那樣執行,因此試圖弄清楚如何以firewalld類似於iptables配置文件的某種格式顯示其完整的規則集。或者其他一些格式——我不太在意——只要它至少與iptablesorpf配置一樣具有可讀性(即,這是一個非常低的清除標準!)。

  • firewall-cmd --list-all諸如“列出為區域添加或啟用的所有內容”之類的命令。但這只是列出了介面、服務等,沒有進一步的細節。我看不到--list-all-no-really-everything選項。
  • 我以為我在閱讀direct規則時找到了它,但我發現這只適用於作為額外“直接”規則添加的規則,而不是它第一次出現的進入機艙的活板門。
  • 我看到了配置文件/etc/firewalld/usr/lib/firewalld. 但是,雖然這乍一看很有希望,而且評論很漂亮,但它似乎並沒有真正告訴我關於目前狀態的太多資訊。像這樣的問題是關於導出規則(用於移動到其他地方),並表明這就是全部(我猜公共區域中提到的服務中提到的埠被阻止傳入……?)。

我的理解(如果我錯了,請糾正我)是firewalld裡面有類似 iptables 的東西,它正在做所有的實際工作,它有某種可以找到的狀態--reload,嗯,……重新載入。這就是我希望找到的狀態。

也許我很模糊,但我發現整體的間接性和幫助性firewall-cmd完全無法理解。是的,著名的“計算科學中的每個問題都可以通過添加另一層間接來解決”,但有時這可能會走極端。

我可能根本沒有防火牆問題,但我無法充分了解防火牆狀態以排除這種情況。是否有切換到 iptables 的情況(我絕望地想知道)?設置起來比較麻煩,而且很容易出錯,但至少我知道發生了什麼。

我非常願意接受挑戰,或者被告知我在找錯樹。

我通常建議查看 Linux 核心正在執行的實際防火牆規則集,而不是嘗試從*“使用者友好”* 工具(例如 firewalld(或類似的 UFW 等)及其提供的抽象層)診斷更複雜的防火牆問題. 通常,一旦您了解了潛在問題,您就可以在這些工具支持的問題中輕鬆解決它們。

雖然有些人[sudo] iptables-save更喜歡我,但命令[sudo] iptables -L -v -n是你最好的朋友。通常在討論配置時,使用該選項以及查看數字行

很有用。--line-numbers提及規則#X使討論更容易一些。請記住,預設情況下 iptables 僅顯示 FILTER 表,而您可以使用-t [ nat | mangle | raw]開關指定其他表。

當 firewalld 使用 nftables 後端時,使用nft list ruleset.

(對我來說,firewalld 實際上是另一個創建規則集的前端,這些規則集將載入到 Linux netfilter核心模組中。您仍然可以使用它們的本機和更底層的工具(例如 iptables或更現代的nftables後續工具)來操作這些後端。圖片下面顯示了 firewalld 可以使用和整合的其他後端。)

來自 https://firewalld.org/documentation/concepts.html

引用自:https://serverfault.com/questions/1094354