🧭 一、功能概述
Firewall Automation(防火牆自動化) 是 OPNsense 新一代的防火牆與 NAT 規則管理框架。
它的目標是逐步取代傳統的「Firewall → Rules」頁面,
並提供更靈活、可 API 操作的規則定義方式。
📘 根據官方說明:
「Automation 元件提供對防火牆與來源 NAT 規則的 API 存取介面。
目前它只管理在自動化頁面中建立的規則,不會收集傳統防火牆頁面建立的規則。」
⚙️ 二、核心概念與原理
| 項目 | 說明 |
|---|---|
| 自動化框架 (Automation Component) | 一個基於 MVC 架構的獨立模組,用來集中管理自動化建立的防火牆與來源 NAT 規則。 |
| UI 與 API 一致性 | 所有透過介面建立的規則,同時可被 REST API 呼叫與管理。 |
| 範圍限制 | 僅適用於「Automation」頁面建立的規則;傳統規則頁面建立的條目不會自動被收錄。 |
| 未來方向 | 官方將此模組視為未來新防火牆規則系統的基礎框架。 |
🧩 三、主要功能
1️⃣ 集中式規則定義
- 你可以在
Firewall → Automation中建立、編輯、刪除防火牆規則與來源 NAT。 - 支援以「集合方式」管理多條規則,便於自動化系統(如 API 或外部工具)批次操作。
2️⃣ 完整 API 控制
- 所有 Automation 內的規則皆可透過 REST API 管理:
- 建立 / 修改 / 啟用 / 停用 / 刪除
- 提供比傳統介面更彈性的系統整合能力。
3️⃣ MVC 架構
- Automation 使用 OPNsense 的現代化 MVC 架構,
意味著它與系統其他模組(如 NAT、Alias)可更緊密整合。
4️⃣ 預覽功能
- 目前 Automation 模組屬於「新世代介面的預覽版本 (preview)」。
- 未來版本中,傳統 Firewall Rules 頁面可能將被整合進此架構。
⚡ 四、實際應用情境
| 應用場景 | 實例 | 備註 |
|---|---|---|
| 自動化部署防火牆 | 透過 API 由外部腳本自動建立 LAN/WAN 規則 | 方便 DevOps 或自動化佈署環境 |
| 集中管理 NAT 規則 | 用統一 JSON API 批次建立 Source NAT | 對多區域路由設計特別實用 |
| 自訂安全工具整合 | 與自家管理平台串接,透過 API 寫入規則 | 範例:整合企業安全監控系統 |
| 未來規則可移轉基礎 | 從傳統 Firewall Rules 逐步轉換到 Automation Framework | 官方建議逐步測試導入 |
🧰 五、API 操作範例
建立一條防火牆規則:
curl -X POST -u "apiuser:apitoken" \
https://<firewall-ip>/api/firewall/automation/add \
-H "Content-Type: application/json" \
-d '{
"interface": "lan",
"direction": "in",
"protocol": "tcp",
"source": "any",
"destination": "192.168.1.10",
"dstport": "22",
"action": "pass",
"description": "Allow SSH via Automation API"
}'
查詢現有規則:
curl -u "apiuser:apitoken" \
https://<firewall-ip>/api/firewall/automation/search
🔒 六、目前限制與注意事項
| 項目 | 說明 |
|---|---|
| 規則範圍 | 僅管理在「Automation」頁面中建立的規則 |
| 非事件驅動 | 不支援「VPN 上線觸發」、「IPS 自動封鎖」等事件型動作 |
| 功能狀態 | 屬於「開發中 / 預覽 (preview)」功能 |
| 建議用途 | 適合測試 API 整合、規則自動佈署場景 |
✅ 七、結論
Automation 模組並非傳統意義上的「動態防火牆觸發器」,
而是 OPNsense 為未來防火牆規則系統所設計的 API 化管理框架。
目前它的主要價值在於:
- 提供防火牆與 NAT 規則的 API 介面
- 支援外部系統整合與自動化建置
- 為後續版本的新規則架構鋪路
✅ 簡單說:Firewall Automation = 新世代的「API 化防火牆規則管理中心」。