Skip to content

Nuface Blog

隨意隨手記 Casual Notes

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

OPNsense中的頻寬管理簡介

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

🧭 一、什麼是 Traffic Shaping?

Traffic Shaping(流量整形,也稱為封包整形/packet shaping)是一種網路流量控制技術,藉由對特定封包集合(流/flow)施加延遲或控制,使其符合預定的頻寬、優先順序或延遲要求。
在 OPNsense 中,Traffic Shaper 提供「管道 (Pipes)」「佇列 (Queues)」「規則 (Rules)」三個構件來實現,並可設定來源/目的 IP、介面、方向 (進/出)、通訊埠等條件。


⚙️ 二、構成元件與原理

  • Pipes (管道):定義可使用的頻寬上限(例如 Upload 2 Mbps、Download 20 Mbps)及其他限制。
  • Queues (佇列):將流量從管道中區分成不同的類別,佇列可設權重 (weight),當總頻寬有限時,佇列中權重較高的流量可分得較多頻寬。
  • Rules (規則):指定哪些流量 (如某 IP、某埠、某方向) 要被套用哪一條管道或佇列,進行流量整形。

運作流程:
使用者/裝置封包依來源、目的、介面、埠號等條件匹配到一條「Shaper Rule」,該規則將封包導向某條 Pipe,再透過該 Pipe 下的 Queue 依權重分配頻寬。若該流量達到管道上限,則多餘封包會被排隊或延遲。


🧩 三、主要應用場景

  1. 限制總頻寬:將整個出口頻寬透過 Pipe 限制,如 Upload 2 Mbps、Download 20 Mbps,防止某個使用者耗盡頻寬。
  2. 優先某些應用:針對重要應用(如 VoIP/SIP)建立專屬 Pipe + Queue,給予其較高權重,確保低延遲、穩定連線。
  3. 區分不同子網或使用者群組:例如 GuestNet 流量只允許 Download 2 Mbps、Upload 1 Mbps,而內部 LAN 無限制。
  4. 解決 Bufferbloat/降低延遲:對大量流量應用整形可減少封包延遲與佇列膨脹。 OPNsense 文檔

🧰 四、如何在 OPNsense 中設定

Step 1:建立 Pipes

前往:Firewall → Traffic Shaper → Pipes
新增下載/上傳管道,設定頻寬、描述等。

Step 2:建立 Queues(如需權重)

前往:Firewall → Traffic Shaper → Queues
選擇所屬 Pipe,設定權重 (weight)、遮罩 (mask)(如以來源或目的 IP 平分頻寬)等。

Step 3:建立 Rules

前往:Firewall → Traffic Shaper → Rules
新增規則,指定介面、方向 (如 WAN)、來源/目的、目標 Pipe/Queue、描述。
例如:對 VoIP SIP 伺服器流量設定 Queue_VoIP。

Step 4:套用並檢查狀態

設定好後按「Apply」,可至:Firewall → Traffic Shaper → Status 查看當前 Pipe/Queue 流量使用狀況。


🔒 五、設定時需注意事項與最佳實務

  • 設定頻寬時建議略低於實際上行/下行可用頻寬,以避免飽和。
  • 若僅需簡單限制所有用戶頻寬,可直接建立一條 Pipe 覆蓋整個 LAN 或 Guest 網路。
  • Mask 設定可用來「公平分配」頻寬,如 mask=dst-ip 表示每個目的 IP 可平均取得頻寬。
  • 注意多介面、Guest 網段或 VLAN 等情境,需分別建立 Pipe/Rule。
  • 流量整形並非安全策略,仍需搭配防火牆規則。
  • 設定完成後持續監控 Status 頁與 Queues 使用情況,避免設定誤導造成某些服務被無意限制。

✅ 六、總結

Traffic Shaping 是 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