切換選單
切換偏好設定選單
切換個人選單
尚未登入
若您做出任何編輯,會公開您的 IP 位址。

UFW

出自H.-H.'s Wiki
於 2025年3月13日 (四) 14:51 由 Hsins留言 | 貢獻 所作的修訂 (建立內容為「 '''Uncomplicated Firewall (UFW)''' 是一款以 [https://wikitemp.hhpeng.org/w/Python Python] 程式語言開發的 [https://wikitemp.hhpeng.org/w/Netfilter Netfilter] 防火牆的管理工具,旨在為不熟悉防火牆概念的使用者提供一個易於操作的介面,並簡化複雜的 [https://wikitemp.hhpeng.org/w/iptables iptables] 設定命令。 == 使用說明 == === 啟用服務 === 使用以下命令,在開機時啟用或禁用防火牆…」的新頁面)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

Uncomplicated Firewall (UFW) 是一款以 Python 程式語言開發的 Netfilter 防火牆的管理工具,旨在為不熟悉防火牆概念的使用者提供一個易於操作的介面,並簡化複雜的 iptables 設定命令。

使用說明

啟用服務

使用以下命令,在開機時啟用或禁用防火牆:

$ ufw enable     # 啟用服務
$ ufw disable    # 禁用服務

如果有修改防火牆策略,比如新增、變更或刪除規則,需要重新載入規則才會生效:

$ ufw reload

檢查狀態

$ ufw status
$ ufw status verbose
$ ufw status numbered

預設策略

在設置防火牆策略時,可以採用以下方式:

  • 先預設允許所有流量,再阻絕特定 IP 位址或連接埠
  • 先預設阻絕所有流量,再允許特定 IP 位址或連接埠

使用者可以透過以下命令設定預設策略:

# 預設允許或預設阻絕
$ ufw default allow
$ ufw default deny

# 預設允許傳出,阻絕傳入
$ ufw default allow outgoing 
$ ufw default deny incoming

防火牆策略與規則會在系統重新啟動後生效。此時如果重新啟動機器,由於尚未設定允許 SSH 連線,將會無法遠端連線到機器。

設定規則

$ ufw allow ssh
$ ufw allow 22

# 特定連接埠範圍
$ ufw allow 9000:9002/tcp
$ ufw allow 9000:9002/udp

疑難處理

【問題】日誌出現於開機訊息中

UFW 會將日誌紀寫入 Netfilter 日誌中,而顯示於 dmesg 開機訊息中,目前只能透過關閉日誌來避免:

$ ufw logging off

【問題】規則在使用 Docker 時不生效

Uncomplicated Firewall (UFW) is not blocking anything when using Docker

參考資料