UFW 基礎教學和常用指令
· 閱讀時間約 3 分鐘
以下是 ufw(Uncomplicated Firewall)的 常用指令 和一份 完整教學指南,適合剛接觸 Linux 防火牆的新手,也能應用在小型伺服器的防護設定上。

🔰 一、UFW 基礎教學
✅ 開啟 / 關閉 UFW
sudo ufw enable # 啟用防火牆
sudo ufw disable # 關閉防火牆
🔍 查看狀態
sudo ufw status # 簡單顯示目前規則
sudo ufw status verbose # 顯示詳細規則與預設策略
🔐 二、允許/封鎖規則設定
📥 常見允許的設定(allow)
sudo ufw allow 22 # 允許所有協定的 22 port(通常是 SSH)
sudo ufw allow 80/tcp # 允許 TCP 的 HTTP (port 80)
sudo ufw allow 443/tcp # 允許 TCP 的 HTTPS (port 443)
sudo ufw allow from 192.168.1.0/24 to any port 22
🚫 封鎖設定(deny)
sudo ufw deny 21 # 封鎖 FTP
sudo ufw deny from 192.168.1.100
🎯 僅允許指定 IP 存取特定 port
sudo ufw allow from 203.0.113.5 to any port 22
⚙️ 三、預設政策(建議設定)
# 預設封鎖所有進入流量,但允許出去
sudo ufw default deny incoming
sudo ufw default allow outgoing
這樣可以讓伺服器只開啟你允許的進入服務,預設拒絕其他外部連線。
🧹 四、刪除/重設規則
刪除單一規則(根據編號或語法)
sudo ufw status numbered # 查看規則編號
sudo ufw delete 2 # 刪除第 2 條規則
sudo ufw delete allow 22 # 刪除允許 port 22 的規則
重設所有規則(慎用)
sudo ufw reset # 所有規則會被清除
🧩 五、應用設定檔(App Profiles)
某些應用程式會註冊 profile 供 UFW 使用,例如 OpenSSH、Apache、Samba...
sudo ufw app list # 查看已註冊的 profile
sudo ufw allow "OpenSSH" # 啟用該 profile 的所有相關 port
sudo ufw app info "Apache Full" # 顯示該 profile 的詳細資訊
🧪 六、進階用法
指定 port 範圍
sudo ufw allow 1000:2000/tcp
sudo ufw allow 6000:6007/udp
限速(防爆破)
sudo ufw limit ssh # 當太多 SSH 嘗試時自動限制
IPv6 支援
若你有使用 IPv6,請確認 ufw 的設定檔中有開啟:
sudo nano /etc/ufw/ufw.conf
# 將 IPv6=yes
🔄 七、開機自動啟用防火牆
UFW 安裝後預設是開機自動啟動的,但可確認:
sudo systemctl enable ufw