2026年8月10日 星期一

Rocky Linux 防火牆設定方法

舉例: 當有一個Nginx Keepalived的設定需求,我需要開放http和https服務,並且開放vrrp的通訊協定。

會需要完成 Keepalived 與防火牆配置
: 確定 VRRP 協定與防火牆規則均已放行:

sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --permanent --add-protocol=vrrp
sudo firewall-cmd --reload

====================

要在 Rocky Linux 9-10上檢查 firewalld(firewall-cmd)當前已套用及永久保存的設定,最直接且完整的方法是使用 --list-all 指令。

以下為常見且實用的檢查方式:

1. 檢查當前生效中的設定 (Runtime)

查看目前區域(預設為 public)已載入並運作中的防火牆規則:

sudo firewall-cmd --list-all

輸出範例重點:

  • services: 應會包含 http https

  • protocols: 應會包含 vrrp

提示: 如果你想檢查特定區域(Zone),可以加上 --zone 參數,例如: 

sudo firewall-cmd --zone=public --list-all

2. 檢查永久保存的設定 (Permanent)

因為你先前設定時都有加上 --permanent,這代表設定已寫入設定檔,重開機後依然有效。要確認永久設定檔內容,請加上 --permanent

sudo firewall-cmd --permanent --list-all

3. 只針對服務 (Services) 與協定 (Protocols) 做快速過濾

如果你只想單純確認 httphttpsvrrp 是否存在,可以使用過濾指令:

  • 檢查已放行的服務:

    sudo firewall-cmd --list-services

    (預期輸出:cockpit dhcpv6-client http https 等)

  • 檢查已放行的協定:

    sudo firewall-cmd --list-protocols

    (預期輸出:vrrp)

4. 檢查實際寫入的 XML 設定檔(進階)

firewall-cmd --permanent 所做的修改,背後會直接儲存在 /etc/firewalld/zones/ 目錄下的 XML 檔中。你也可以直接檢視該檔案:

sudo cat /etc/firewalld/zones/public.xml

你會看到類似以下的 XML 結構,明確列出你剛剛新增的項目:

<zone>
  <short>Public</short>
  <description>For use in public areas...</description>
  <service name="http"/>
  <service name="https"/>
  <protocol value="vrrp"/>
</zone>

沒有留言:

Rocky Linux 防火牆設定方法

舉例: 當有一個Nginx Keepalived的設定需求,我需要開放http和https服務,並且開放vrrp的通訊協定。 會需要完成 Keepalived 與防火牆配置 : 確定 VRRP 協定與防火牆規則均已放行: sudo firewall-cmd --permanent...