Port 與 Firewall
重要警示:在開啟防火牆前,務必先允許 SSH(Port 22),否則一啟用防火牆把你自己的連線鎖在門外,就再也連不進去了。
UFW 常用指令與規則
| 指令 | 用途 |
|---|---|
| sudo ufw status | 查看防火牆當前狀態與已開啟的規則 |
| sudo ufw allow 22/tcp | 放行 SSH 連線 (Port 22) 【必做第一步】 |
| sudo ufw allow 80/tcp | 放行 Nginx HTTP 網頁流量 (Port 80) |
| sudo ufw allow 'Nginx Full' | 一次放行 Nginx 的 HTTP (80) 與 HTTPS (443) |
| sudo ufw enable | 啟用防火牆 |
| sudo ufw delete allow 80/tcp | 刪除開放 80 Port 的規則 |
實作
檢查防火牆初始狀態
執行指令:sudo ufw status
操作目的:確認防火牆目前是否運作中。
解析:截圖中第一行顯示 Status: inactive,代表系統預設關閉防火牆。
新增通訊埠放行規則(允許連線)
執行指令:
sudo ufw allow 22/tcp(放行 SSH 遠端連線埠)
sudo ufw allow 'Nginx Full'(放行 Nginx 網頁服務的 Port 80 與 443)
操作目的:在啟用防火牆前先建立白名單,防止啟用後 SSH 斷開導致無法連線。
解析:顯示 Rules updated 代表已成功將 IPv4 與 IPv6 規則寫入設定檔。
正式啟用 UFW 防火牆
執行指令:sudo ufw enable
操作目的:開啟防火牆並讓系統開機時自動載入。
解析:輸入 y 確認後,出現 Firewall is active and enabled on system startup,代表防火牆已正式啟動保護。
驗證啟用狀態與規則清單
執行指令:sudo ufw status
操作目的:確認防火牆已運作,且規則皆已生效。
解析:畫面顯示 Status: active,且表格中清楚列出 22/tcp 與 Nginx Full 皆為 ALLOW(允許來自任何地點 Anywhere 的連線),代表設定成功。