Skip to content

Nuface Blog

隨意隨手記 Casual Notes

Menu
  • Home
  • About
  • Services
  • Blog
  • Contact
  • Privacy Policy
  • Login
Menu

OPNsense 防火牆排程 (Firewall Schedules) 功能說明

Posted on 2025-11-122025-11-12 by Rico

🧭 一、功能概述

在 OPNsense 中,防火牆排程 (Schedules) 可讓你設定「規則啟用與停用的時間表」。
它能與任何防火牆規則綁定,讓該規則只在特定時間內生效。

這項功能常用於:

  • 限制特定用戶或網段的上網時間;
  • 只允許在工作時間開放特定服務;
  • 每晚自動封鎖某些連線;
  • 在週末限制訪問內部系統。

簡單來說,它就是 防火牆規則的時間控制開關 (time-based rule control)。


⚙️ 二、原理與設定方式

防火牆規則在建立時可以指定一個「Schedule」。
當排程時間內,該規則會啟用;
時間一到,規則自動停用,不需人工介入。

OPNsense 的 Schedule 設定在:

Firewall → Settings → Schedules

點選「+Add」即可新增一個排程。


🧩 三、建立排程步驟

Step 1️⃣ 建立 Schedule

進入:

Firewall → Settings → Schedules → +Add

填寫以下項目:

欄位說明
Name排程名稱,例如「WorkHours」
Description說明用途,例如「允許上班時間內上網」
Time Range設定開始與結束時間,例如 08:00 ~ 18:00
Days選擇星期幾生效,例如 Mon–Fri
Color顯示於介面時的標識顏色(方便辨識)

✅ 小提示:一個 Schedule 可包含多個時間區段,例如:

  • Mon–Fri 08:00–18:00
  • Sat 09:00–12:00

Step 2️⃣ 在防火牆規則中套用 Schedule

建立完成後,前往:

Firewall → Rules → [選擇介面]

新增或編輯規則,在下方找到:

Advanced Options → Schedule

選擇剛建立的排程名稱,例如:

Schedule: WorkHours

套用後,該規則僅會在排程時間內生效。


Step 3️⃣ 驗證生效狀態

在排程外的時間,該規則會被自動忽略(顯示為灰色)。
若你使用 CLI 或 log,可觀察到:

  • 該規則在非排程時段不會被匹配;
  • 防火牆狀態表會自動清除過期的連線。

💡 四、應用範例

🧩 範例一:限制學生上網時間

Schedule Name: Student_Network
Days: Mon–Fri
Time: 07:00–22:00

套用至防火牆規則:

Action: Pass
Source: 192.168.50.0/24
Destination: any
Schedule: Student_Network

👉 學生僅能在早上 7 點至晚上 10 點上網。
其餘時間連線自動封鎖。


🧩 範例二:只允許工作時段遠端存取

Schedule Name: Office_VPN
Days: Mon–Fri
Time: 08:00–18:00

套用至 VPN 入口規則:

Interface: WAN
Protocol: TCP
Port: 1194
Action: Pass
Schedule: Office_VPN

👉 VPN 僅能在上班時段開啟,夜間自動關閉。


🧩 範例三:自動封鎖週末下載服務

Schedule Name: Block_P2P_Weekend
Days: Sat–Sun
Time: 00:00–23:59

規則設定:

Action: Block
Destination Port: 6881–6999
Schedule: Block_P2P_Weekend

👉 週末自動封鎖 BT、P2P 連線。


🧠 五、進階應用技巧

技巧說明
多段時間控制一個 Schedule 可定義多段時間,例如「午休不允許上網」。
與別名 (Aliases) 搭配結合使用者群組或 IP 別名,更靈活控制特定群體。
監控與日誌Schedule 觸發時會自動記錄於防火牆 Log,可搭配 Insight 分析。
自動恢復連線當 Schedule 結束時,舊的 TCP 連線會被清理,以免越界使用。

✅ 六、結論

Firewall Schedules 是 OPNsense 中簡潔但極具實用價值的功能。
透過時間條件控制防火牆規則,你可以:

  • 動態限制上網時段;
  • 自動開關對外服務;
  • 減少手動干預與操作風險。

對學校、公司與共用網路環境而言,這是「最聰明的節制手段」。

Recent Posts

  • Postfix + Let’s Encrypt + BIND9 + DANE Fully Automated TLSA Update Guide
  • Postfix + Let’s Encrypt + BIND9 + DANE TLSA 指紋自動更新完整教學
  • Deploying DANE in Postfix
  • 如何在 Postfix 中部署 DANE
  • DANE: DNSSEC-Based TLS Protection

Recent Comments

  1. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on High Availability Architecture, Failover, GeoDNS, Monitoring, and Email Abuse Automation (SOAR)
  2. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on MariaDB + PostfixAdmin: The Core of Virtual Domain & Mailbox Management
  3. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Daily Operations, Monitoring, and Performance Tuning for an Enterprise Mail System
  4. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Final Chapter: Complete Troubleshooting Guide & Frequently Asked Questions (FAQ)
  5. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Network Architecture, DNS Configuration, TLS Design, and Postfix/Dovecot SNI Explained

Archives

  • December 2025
  • November 2025
  • October 2025

Categories

  • AI
  • Apache
  • Cybersecurity
  • Database
  • DNS
  • Docker
  • Fail2Ban
  • FileSystem
  • Firewall
  • Linux
  • LLM
  • Mail
  • N8N
  • OpenLdap
  • OPNsense
  • PHP
  • QoS
  • Samba
  • Switch
  • Virtualization
  • VPN
  • WordPress
© 2025 Nuface Blog | Powered by Superbs Personal Blog theme