前言
在虛擬化環境中,VLAN(Virtual LAN) 是網路隔離與分流的核心機制。
在 Proxmox VE (PVE) 裡,透過 Linux Bridge(例如 vmbr0)搭配 VLAN tag,就能讓多個 VM 共用一張實體網卡,卻依然區隔不同子網。這篇文章記錄了我在實際部署過程中對 VLAN 架構的理解與設定步驟,作為日後參考筆記。
一、VLAN 的基本概念
- VLAN (Virtual LAN) 是在同一實體交換網路上,透過 802.1Q 標籤(tag) 將不同網段的封包邏輯分開。
- 每個 VLAN 會有獨立的 VLAN ID,例如:
- VLAN 1:管理網段
- VLAN 2:生產網段
- VLAN 3:測試網段
- VLAN 4:IoT / 攝影機網段
- VLAN 5:辦公內部網段
在實體交換器(例如 Unifi、Juniper、Cisco)上,只要對 port 設為 Trunk 模式,允許多個 VLAN 通過,就能讓 Proxmox 的一張 NIC(例如 enp3s0)同時承載多個 VLAN。
二、Proxmox 中的網路邏輯
Proxmox 的網路基礎是 Linux Bridge。
當你建立 vmbr0 時,它就像一個虛擬交換器,VM、Container 與實體網卡都能接在上面。
範例:
auto lo
iface lo inet loopback
iface enp3s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 10.0.100.2/24
gateway 10.0.100.1
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 1-5
bridge-pvid 1
🔹 說明:
bridge-vlan-aware yes→ 讓這個橋接器支援 VLAN tag。bridge-vids 1-5→ 允許 VLAN ID 1 到 5 通過。bridge-pvid 1→ 預設 VLAN 為 1(未打 tag 的封包會進入 VLAN 1)。
三、在 VM 上設定 VLAN Tag
每台 VM 的網卡(例如 net0)都可以指定 VLAN tag。
當 VM 經過 vmbr0,系統會自動幫封包加上 802.1Q 標籤。
設定範例:
qm set 100 --net0 virtio=52:54:00:65:35:46,bridge=vmbr0,tag=5
或在 GUI 中:
- 編輯 VM → Hardware → Network Device
- 選擇 Bridge:
vmbr0 - VLAN Tag:填入
5 - Model:
VirtIO或E1000
這樣,該 VM 的流量就會以 VLAN 5 為標籤進出。
四、VLAN 1(預設未標籤流量)的特性
在多數交換器與虛擬橋中,VLAN 1 是預設 untagged VLAN。
若你不指定 tag(或省略 tag=1),系統會自動將流量歸入 VLAN 1。
這就是為什麼許多管理網段(Proxmox GUI、SSH)會留在 VLAN 1 上。
範例:
qm set 101 --net0 virtio=52:54:00:AA:BB:01,bridge=vmbr0
這台 VM 的流量不打 VLAN 標籤 → 屬於 VLAN 1。
五、VLAN Debug 與檢查
查看橋接器的 VLAN 狀態:
bridge vlan show
範例輸出:
port vlan-id
enp3s0 1 PVID Egress Untagged
2
3
4
5
vmbr0 1 PVID Egress Untagged
2
3
4
5
tap100i0 5 PVID Egress Untagged
這表示:
- 實體介面
enp3s0已允許 VLAN 1–5 通過。 - VM (tap100i0) 使用 VLAN 5。
六、常見錯誤與排除
| 問題 | 原因 | 解法 |
|---|---|---|
| VM 無法上網 | VLAN tag 設錯或交換器未允許該 VLAN | 確認交換器 trunk port 的 VLAN 允許清單 |
| PVE 本機失聯 | VLAN-aware 設錯導致管理 VLAN 被封鎖 | 避免在同一橋接上移除 VLAN 1 |
| tag 無作用 | bridge-vlan-aware 未啟用 | 確認 /etc/network/interfaces 已設定該選項 |
七、實戰建議
| 類型 | 設定方式 | 建議 |
|---|---|---|
| 管理 VLAN | 不打 tag(預設 VLAN 1) | 確保安全並保留管理連線 |
| VM 多網段需求 | 使用 bridge-vlan-aware yes | 讓同一 vmbr 支援多 VLAN |
| 特殊用途 VLAN | 指定 tag(如 5) | 分流內外網、IoT、測試網段 |
| 外部交換器 | 設為 trunk 模式 | 確保 VLAN 流量能通過 |
八、結語
Proxmox 的 VLAN 架構設計非常靈活。
透過 Linux Bridge 搭配 VLAN tag,不僅可達成企業級網路隔離,也能避免額外硬體成本。
若再搭配 Unifi 或 Juniper 等具管理功能的交換器,就能打造高可控、高安全的虛擬化網路環境。
「一張實體網卡,多個虛擬網段,彈性與隔離兼得 —— 這就是 VLAN 的力量。」