網路與 IP

VLAN 劃分方法:連接埠、MAC、協議與子網四種方式對比

VLAN 劃分方法常說的有四種:按連接埠、按 MAC 位址、按協議型別、按 IP 子網,區別在於交換器依據什麼判斷一個幀屬於哪個 VLAN。連接埠劃分由管理員在交換器上決定,最穩定;另外三種跟著終端的屬性走,更靈活,但終端改一下自己的 MAC 或 IP 就能換 VLAN。IDC 機房的伺服器系統由客戶掌控,所以幾乎都按連接埠劃分。

作者 頂聯產品團隊發布於 6 分鐘閱讀

VLAN 劃分方法按“交換器憑什麼決定一個幀屬於哪個 VLAN”分成四種:基於連接埠,看幀從哪個連接埠進來;基於 MAC 位址,看幀的源 MAC;基於協議,看幀裡的乙太網型別欄位;基於 IP 子網,看幀的源 IP 落在哪個網段。四種方法有一個共同前提:它們只對不帶 VLAN 標籤的幀起作用,幀本身帶了 802.1Q 標籤時,交換器直接按標籤裡的 VLAN 處理。下面先用一張表看清四種方法的原理,再逐個講配置和優缺點,最後說明 IDC 機房為什麼以連接埠劃分為主。配置範例以華為 S 系列 V200R 版本為準,其他廠商關鍵字不同、思路相同,以手冊為準。

四種劃分方法一覽

方法 交換器看什麼 配置寫在哪裡 主機換到別的連接埠後 誰能改變歸屬 典型場景
基於連接埠 幀從哪個連接埠進來 每個連接埠的 PVID 歸屬新連接埠的 VLAN 只有交換器管理員 機房、園區接入,絕大多數網路
基於 MAC 位址 源 MAC 位址 交換器上的 MAC 與 VLAN 對應表 VLAN 不變 能改網路卡 MAC 的人 終端位置常變、數量不多的辦公網
基於協議 乙太網型別欄位,如 IPv4 是 0x0800、IPv6 是 0x86DD VLAN 下的協議範本 按協議歸屬 終端改用哪種協議 多協議並存的老網路、IPv6 試點
基於 IP 子網 源 IP 位址所屬網段 VLAN 下的子網條目 VLAN 不變 能改 IP 位址的人 按網段遷移、實驗網

一個連接埠上同時啟用了幾種方法時,交換器按固定順序匹配。以華為 S 系列為例:先匹配 MAC VLAN 和 IP 子網 VLAN(兩者誰先由介面下的 vlan precedence 決定,預設 MAC 優先),再匹配協議 VLAN,都沒匹配上,最後歸入連接埠的 PVID。所以基於連接埠的劃分永遠是兜底,另外三種是在它之上的“例外規則”。

基於連接埠劃分 VLAN

原理:每個連接埠有一個 PVID(連接埠預設 VLAN),從這個連接埠進來的不帶標籤的幀,一律屬於 PVID 對應的 VLAN。接伺服器的 access 連接埠執行 port default vlan 10,就是在配置基於連接埠的劃分。一個連接埠要承載多個 VLAN 時,靠幀上的標籤區分,那是 trunk 和 hybrid 連接埠的事,歸屬依據仍然是“連接埠加標籤”,不看終端屬性。

優點 缺點
結果完全由交換器配置決定,終端怎麼改都出不了這個 VLAN 裝置換連接埠要改配置,否則會落進新連接埠的 VLAN
不需要額外的對應表,所有可網管交換器都支援 誰插到這個連接埠上,誰就進這個 VLAN,要配合連接埠安全或 MAC 繫結
裝置加電那一刻就確定了 VLAN,與作業系統、IP 無關 不帶標籤時一個連接埠只能對應一個 VLAN
查配置就能審計:display port vlan 一屏看完 —

基於 MAC 劃分 VLAN

原理:在交換器上建一張“MAC 位址對應哪個 VLAN”的表,不帶標籤的幀進來時,用源 MAC 查表,查到就歸入表裡的 VLAN,查不到再按連接埠的 PVID。華為一般在 hybrid 連接埠上啟用(支援的連接埠型別以版本手冊為準),並且該連接埠要以不帶標籤的方式放行這些 VLAN:

system-view
vlan batch 10 20 999
vlan 10
 mac-vlan mac-address 0011-2233-4401
 mac-vlan mac-address 0011-2233-4402
 quit
interface GigabitEthernet0/0/5
 port link-type hybrid
 port hybrid pvid vlan 999
 port hybrid untagged vlan 10 20 999
 mac-vlan enable
 quit

這裡把 PVID 設為 999,作為沒有閘道器、不上 trunk 的訪客 VLAN:登記過的兩台裝置插到任何啟用了 MAC VLAN 的連接埠都進 VLAN 10,沒登記的裝置落進 VLAN 999,什麼都存取不了。

它的問題都出在“MAC 由終端決定”這一點上:

  • MAC 可以改。Linux 上三條命令就能把網路卡 MAC 改成別人登記過的位址,從而進入對方的 VLAN:
ip link set dev eth0 down
ip link set dev eth0 address 00:11:22:33:44:01
ip link set dev eth0 up
  • 維護量大。每台新裝置都要先收集 MAC 再錄入;網路卡、主機板返修更換後 MAC 變了,要同步改表,漏改就斷網。
  • 表項有上限。MAC VLAN 表佔用交換器的硬體表項,能存多少條以型號規格為準。
  • 一個連接埠上 MAC 不止一個。虛擬化宿主機上每台虛擬機器都有自己的 MAC,部分作業系統預設對無線網路卡使用隨機 MAC,表很難跟得上。

基於 IP 子網劃分 VLAN

原理:不帶標籤的幀進來時,看源 IP 屬於哪個已配置的網段,歸入對應的 VLAN。配置同樣在 hybrid 連接埠上啟用:

system-view
vlan 30
 ip-subnet-vlan 1 ip 192.168.30.0 24
 quit
interface GigabitEthernet0/0/6
 port link-type hybrid
 port hybrid untagged vlan 30
 ip-subnet-vlan enable
 quit

它的用處在網段遷移:例如一個機房從 192.168.30.0/24 遷到新網段,遷移期間新舊兩個網段的主機混接在同一批連接埠上,按子網劃分可以讓它們各進各的 VLAN、各走各的閘道器,遷完再改回連接埠劃分。缺點同樣明顯:

  • IP 由終端決定。主機把位址改成另一個網段的,就進了另一個 VLAN。
  • DHCP 客戶端無法匹配。還沒拿到位址的主機發出的報文源位址是 0.0.0.0,匹配不到任何子網,只能落入 PVID,所以它主要適合靜態位址的主機。
  • 多數裝置只支援 IPv4 網段條目。雙棧主機的 IPv6 流量要另行考慮,支援情況以型號手冊為準。

基於協議劃分 VLAN

原理:看乙太網幀頭的型別欄位,不同協議進不同 VLAN。這種方法誕生在 IPX、AppleTalk 與 IP 並存的年代,今天幾乎所有流量都是 IP,主要的用處是 IPv6 試點:把 IPv6 流量單獨放進一個 VLAN,交給另一台閘道器或防火牆處理,IPv4 業務完全不受影響。

system-view
vlan 40
 protocol-vlan 1 ipv6
 quit
interface GigabitEthernet0/0/7
 port link-type hybrid
 port hybrid untagged vlan 40
 protocol-vlan vlan 40 all
 quit

兩點注意:按 IPv4 劃分時,ARP(型別 0x0806)必須和 IPv4 進同一個 VLAN,否則主機解析不了 MAC,部分裝置的 IPv4 範本會自動包含 ARP,以手冊為準;IPv6 的鄰居發現封裝在 IPv6 報文裡,不存在這個問題。另外,同一台雙棧主機的流量被拆進兩個 VLAN 後,排障時要同時看兩邊。

四種方法的優缺點對比

對比項 基於連接埠 基於 MAC 基於協議 基於 IP 子網
配置量 每連接埠一條 每台裝置一條,持續維護 每種協議一條 每個網段一條
終端換位置 要改配置 自動跟隨 自動跟隨 自動跟隨
終端能否自己換 VLAN 不能 改 MAC 即可 換協議即可 改 IP 即可
開機前、裝機階段 已確定 已確定 已確定 沒有 IP,落入 PVID
裝置支援 所有可網管交換器 部分型號,以規格為準 部分型號,以規格為準 部分型號,以規格為準
排障難度 低 中,要查對應表 中 中,要看主機當前 IP

除了這四種,園區網裡更常見的是第五種做法:動態 VLAN。終端接入時做 802.1X 認證,RADIUS 伺服器按使用者身份在應答裡帶上 VLAN,屬性按 RFC 3580 填寫:Tunnel-Type 為 VLAN(13)、Tunnel-Medium-Type 為 802(6)、Tunnel-Private-Group-ID 為 VLAN 編號。它兼顧了“跟著人走”和“終端改不了”,代價是要部署認證系統。

IDC 機房為什麼以連接埠劃分為主

  1. 伺服器的系統歸客戶管。MAC、IP 都在客戶手裡。如果按子網劃分,客戶把位址改成鄰居網段裡的,交換器就會把他放進鄰居的 VLAN,客戶隔離當場失效;按 MAC 劃分同理。按連接埠劃分,客戶在系統裡怎麼改,都出不了交換器連接埠上配的那個 VLAN。
  2. 交付的單位就是連接埠。合同裡寫的是幾台伺服器、幾個連接埠、多大頻寬,“客戶—伺服器—交換器連接埠”的對應關係本來就要登記。VLAN 跟連接埠走,台帳和裝置配置天然一致。
  3. 硬體更換不影響網路。主機板、網路卡返修後 MAC 會變,MAC 劃分要改表;連接埠劃分不受影響,換完硬體插回原連接埠即可。
  4. 裝機時還沒有 IP。PXE 引導時伺服器靠 DHCP 取位址,報文的源位址是 0.0.0.0,子網劃分在這個階段無從匹配;連接埠劃分從加電起就確定了 VLAN。
  5. 宿主機一個連接埠上有幾十個 MAC。虛擬化宿主機用 trunk 連接埠加標籤區分各個網段,比給每台虛擬機器登記 MAC 可靠得多。
  6. 便於自動化。改連接埠 VLAN 在每家交換器上都只是一兩條命令,管理系統容易對接;MAC、子網對應表要在多台交換器之間保持同步,自動化難度高得多。

機房裡 MAC 依然重要,但它的角色是“校驗”而不是“決定 VLAN”:VLAN 按連接埠劃分,再在連接埠上做 MAC 繫結或 IP 與 MAC 的繫結,換了裝置就通不過校驗。其他幾種方法在機房裡只出現在區域性:維運辦公網用 802.1X 動態 VLAN,IPv6 試點期間用協議 VLAN,機房搬遷、網段遷移的過渡期用子網 VLAN。

在管理系統裡怎麼落地

按連接埠劃分 VLAN 的日常工作,是客戶上線、遷移、退租時改連接埠 VLAN,並讓伺服器和連接埠的對應關係始終準確。Toplink DCIM 的交換器管理內建華為、H3C、思科等廠商的指令集,在網頁上修改連接埠 VLAN 時由系統翻譯成對應命令下發;伺服器列表直接顯示每台機器接在哪台交換器的哪個連接埠、所屬 VLAN 是多少。MAC 的校驗交給自動繫結:系統自動學習伺服器側的 MAC 並在交換器上完成繫結,換線、遷移時不必再人工核對。

常見問題

基於 MAC 劃分 VLAN 能防止私接裝置嗎?

單靠它做不到。沒有登記的 MAC 會落入連接埠的預設 VLAN,而且 MAC 位址在作業系統裡一條命令就能改。要阻止私接裝置,用連接埠安全限制 MAC 數量和白名單,或者用 802.1X 認證。

VLAN 劃分方法和連接埠模式(Access、Trunk、Hybrid)是一回事嗎?

不是。劃分方法回答“不帶標籤的幀屬於哪個 VLAN”,連接埠模式回答“幀從連接埠發出時帶不帶標籤”。兩者搭配使用,機房裡最常見的組合是 access 連接埠加基於連接埠劃分。

無線網路常用哪種方法?

企業無線一般按 SSID 對映 VLAN,或者在 802.1X 認證後由 RADIUS 伺服器下發 VLAN,使用者換個接入點、換個位置,VLAN 都不變。這本質上是按使用者身份劃分的動態 VLAN,比按 MAC 劃分更可控。

想看看在你的機房裡怎麼用?

從一次產品示範開始,梳理你的業務鏈路。

查看價格
服務熱線 400-112-2951

讓我們聊聊你的 IDC 業務

掃碼新增企業微信,預約產品示範或申請試用。

Toplink 企業微信二維碼

長按儲存或使用企業微信 / 微信掃描

也可致電
400-112-2951
Telegram
@TopLink88