UFW
出自H.-H.'s Wiki
更多操作
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