- VLAN 允許使用 802.1Q 在同一實體基礎架構上對網路進行邏輯分段。
- 網路卡綁定和聚合透過增加多個介面來獲得冗餘和頻寬。
- 交換器和伺服器必須在聚合模式、允許的 VLAN 和中繼配置方面保持一致。
- VTP 和 EtherChannel 可實現中大型網路中的集中管理和鏈路聚合。

如果你從事實體伺服器、管理型交換器或虛擬化環境的工作,遲早都會遇到VLAN、連結聚合和網卡綁定這些概念。沒錯,這些術語乍聽起來可能像天書,但一旦你了解它們之間的聯繫,你會發現它們會成為提升效能、實現高可用性和優化網路組織的強大工具。
本指南將整合 Windows、 Hyper-V、VMware和 Linux 系統中 VLAN 和網路卡綁定配置的理論與實踐,並將其與網路設計概念(例如 trunk、VTP、802.1Q、EtherChannel 等)連結起來。目標是為您提供全面的概述:從 VLAN 的定義到如何透過圖形介面或 PowerShell 建立網卡綁定,如何在 VMware 中執行類似操作,以及如何在 Linux 中設定底層綁定。
什麼是VLAN?為什麼VLAN要與網路卡綁定結合使用?
VLAN(虛擬區域網路)本質上是一種在相同實體基礎架構上建立多個邏輯網路的方法,例如,用於設定DMZ。這樣,您可以將設備放置在不同的房間,甚至不同的交換器上,就像它們都在同一個本地網路上一樣,而無需為每個網段鋪設新的電纜。
在更複雜的網路中,通常採用三層架構:存取層、匯聚層和核心層。存取交換器連接個人電腦、印表機和其他設備;匯聚交換器聚合來自多個存取交換器的流量;核心交換器互連這些匯聚交換機,並位於路由器或出站防火牆附近。
VLAN 在交換器上定義,交換器必須支援IEEE 802.1Q 標籤標準。每個交換器端口都可以配置為接入端口(屬於單一 VLAN)或乾線端口,幹線端口可以同時在交換機之間或與支援 VLAN 的主機(伺服器、路由器、虛擬機器管理程式等)之間傳輸來自多個 VLAN 的流量。
當我們將 VLAN 與 NIC Teaming 結合使用時,我們可以讓伺服器擁有多個聚合的實體連結(更大的頻寬和冗餘),同時,我們可以使用該 NIC 設備上的標記 VLAN ID 按 VLAN(管理、儲存、生產、備份等)分離流量。
網路卡綁定、鏈路聚合、乙太網路通道和團隊模式
網路卡綁定(也稱為鏈路聚合、綁定或乙太網路通道,具體名稱取決於平台)是將多個網路介面組合成一個邏輯介面的技術。這樣做是為了提高有效吞吐量或提供容錯能力(或兩者兼具)。
一個典型的應用場景是伺服器配備兩張或多張實體網路卡,其目標是即使其中一張網路卡發生故障或有人拔掉網路線,流量也能繼續傳輸,使用者不會察覺。這種技術也用於聚合頻寬:例如,三個 100 Mbit/s 的連結組合起來可以提供高達 300 Mbit/s 的總邏輯頻寬,儘管頻寬是按資料流分配的。
不同廠商的網路設備主要類型或模式通常非常相似。例如,許多博通適配器都具備智慧負載平衡 (SLB) 和故障轉移等模式,在這種模式下,所有流量都會分配到多個主適配器上,如果其中一個發生故障,另一個適配器會立即接管,而不會造成任何明顯的中斷。
此外,還有一種支援反向連結停用的 SLB 模式,在這種模式下,流量在恢復後不會自動返回到原始適配器,這有助於避免頻繁的路由變更。其他模式則基於 IEEE 802.3ad/802.1ax (LACP) 等標準,這些標準會在交換器的多個實體連接埠和伺服器之間建立邏輯鏈路,前提是交換器已為此目的正確配置。
最後,我們還有靜態聚合模式,也稱為“通用中繼”,其工作原理與 LACP 非常相似,但沒有自動協商功能。在這種情況下,交換器和伺服器都必須手動配置,以確保連接埠屬於同一個聚合組。
在 Windows Server 中設定 VLAN 的網路卡綁定(圖形介面)
在 Windows Server(2012 及更高版本)中,您可以使用內建的Microsoft 網路卡綁定功能,而無需依賴網路卡製造商的軟體。這大大簡化了部署,尤其是在 Hyper-V 環境中。
假設有兩台伺服器,每台伺服器配備多個網路卡:一對 1GbE 連接埠用於管理,一對 10GbE 連接埠用於 iSCSI 儲存和虛擬機器流量。通常情況下,我們會將1GbE 連接埠用於管理和集群,而將 10GbE 連接埠保留用於儲存和高可用性虛擬機器互連。
在對 Windows 系統進行任何變更之前,必須先設定交換器以支援 VLAN,並在適用情況下設定聚合(靜態或 LACP),並正確指派連接到伺服器的連接埠。否則,即使網路卡設備已通電,流量也無法正常傳輸。
若要在 Windows Server 中使用伺服器管理員設定網卡綁定和標記 VLAN,典型流程如下:
- 打開 服務器管理員它通常會固定在桌面或工作列上;如果沒有,您可以按 Win + X 並選擇“伺服器管理員”。
- 在左側面板中,輸入該部分 “本地伺服器”其中顯示了設備的主要特性。
- 找到「網卡綁定」部分。如果顯示為“已停用”,請按一下該文字以啟動精靈。如果您看不到該部分,則可能是缺少 Hyper-V 等角色,或者您使用的版本不支援此功能。
在網路卡綁定視窗中,您會看到可用實體適配器的清單。您可以按照以下步驟建立新的網卡組:
- 在「適配器和介面」面板中選擇要新增的網路卡。
- 點擊“任務”,然後點擊“新增到新團隊”。團隊創建對話方塊將會開啟。
- 給團隊一個描述性的名稱,例如“TEAM_10G”或“TEAMLAN”,以便輕鬆識別其功能。
- 如有需要,展開「附加屬性」進行選擇。 組隊模式負載平衡模式以及是否有備用適配器可用。在現代環境中,通常建議使用「動態」均衡模式。
在這個對話方塊中,您可以設定 VLAN 成員關係。在主設備接口旁邊,您會看到一個鏈接,點擊該鏈接可以建立與特定 VLAN 關聯的新邏輯接口。
定義帶有標籤的 VLAN:
- 開啟「新團隊介面」對話框。
- 選擇“特定VLAN”並輸入 VLAN 編號 這與你在交換器上配置的配置一致。
- 按一下「接受」以產生與該 VLAN 關聯的虛擬介面。
建立裝置介面和 VLAN 後,您必須前往伺服器的網路連接部分(控制台 > 網路和 Internet > 網路連接,或從設定 > 變更適配器選項),您將看到與裝置(以及,如果適用,與 VLAN)對應的新邏輯介面卡。
在該 VLAN 適配器(而非實體網路卡)上,您需要設定IP 位址、子網路遮罩、閘道和 DNS。右鍵單擊,選擇“屬性”,找到“Internet 協定版本 4 (TCP/IPv4)”,並為該虛擬網路定義相應的參數。如果您正在設定冗餘環境,請在第二台伺服器上重複此程序。
首先,請檢查伺服器之間是否可以透過 VLAN 互相 ping 通。如果無法連接,請檢查伺服器和交換器上的 VLAN 和連結聚合配置。
在 Windows Server 中使用 PowerShell 進行網卡綁定
除了圖形介面之外,Windows 還提供了一個非常方便的 cmdlet 來建立網路卡組:New-NetLbfoTeam指令。當您想要自動化部署或在腳本中記錄配置時,這尤其有用。
要使用它,首先需要以管理員權限開啟 PowerShell 會話。您可以從“開始”功能表搜尋“PowerShell”,右鍵單擊“Windows PowerShell”,然後選擇“以管理員身份執行”。如果使用者帳戶控制要求確認,請接受。
建立網路設備的基本命令格式如下:
New-NetLbfoTeam NOMBRE_DEL_EQUIPO "NIC1" , "NIC2"
您可以在此指定新邏輯團隊的名稱以及將要加入該團隊的實體介面。例如:
New-NetLbfoTeam NIC-Team "NIC1" , "NIC2"
創建完成後,您將在網路連線中找到新的團隊介面,就像您從伺服器管理員建立它一樣。如果您的驅動程式和 Windows 版本支持,您可以從這裡建立其他 VLAN,或讓Hyper-V透過虛擬交換器管理 VLAN 。
網路卡綁定和 Hyper-V:管理網路、儲存和虛擬機
在執行 Hyper-V 的主機上,通常會將流量隔離到多個網路:主機管理網路、高可用性叢集網路、iSCSI 儲存網路和虛擬機器生產網路。 VLAN 和連結聚合在此過程中發揮關鍵作用。
典型的配置如下:
- 1 GbE 網路卡,不含標記或附專用 VLAN 主機和網域管理.
- 一台設備聚合了 10 個 GbE 網路卡,並支援多個 VLAN。 iSCSI 儲存、即時遷移流量和虛擬機器網絡.
- 在現代版本的 Windows Server 中使用 SET(交換器嵌入式組隊)在 Hyper-V 虛擬交換器層級對網卡進行分組,而不是僅使用經典的網卡組隊。
主機配置必須與實體交換器配置匹配:如果將主機上的某個接口指定為具有多個 VLAN 的中繼接口,則相應的交換器端口必須處於802.1Q 中繼模式,並允許相同的 VLAN。如果主機和交換器兩端的授權 VLAN 清單有任何差異,都會導致看似隨機的連線中斷。
VMware vSphere 中的網路卡綁定
在 VMware vSphere (ESXi) 環境中,概念類似,但術語略有不同。在 vSphere 環境中,您需要使用標準或分散式虛擬交換器 (vSwitch)、連接埠群組以及負載平衡和故障轉移策略。
ESXi 中的網路介面卡 (NIC) 群組可讓您將流量負載指派到主機上的多個實體適配器,並建立故障轉移順序。此行為在虛擬交換器或連接埠群組層級進行配置,您可以在其中定義哪些 NIC 處於活動狀態、哪些處於備用狀態以及套用哪種負載平衡演算法。
典型的負載平衡策略包括:
- “基於來源虛擬連接埠的路由。”
- 「基於 IP 雜湊的路由」(IP 雜湊需要在實體交換器上進行聚合配置)。
- 「基於來源 MAC 雜湊值的路由」。
VMware 提供了關於如何在標準交換器和分散式交換器上設定網卡綁定、故障轉移和負載平衡的詳細步驟文件。經典的參考資料是知識庫文章“ESXi 和 ESX 中的網卡綁定”,其中還詳細介紹了每個 ESXi 版本的特定要求。
Linux 中的綁定與聚合(通道綁定)
在 Linux 系統中,與網卡綁定 (NIC Teaming) 功能等效的功能通常稱為綁定或「通道綁定」。它透過核心模組實現,允許兩個或多個實體介面作為一個邏輯介面運作(例如 bond0、bond1 等)。
鏈路聚合既能提高頻寬,又能提供冗餘,但其中存在一些重要的細微差別:某些模式不需要在交換器上進行配置,而其他模式則需要對交換器進行配置,例如EtherChannel、LACP 或其他類型的鏈路聚合。
我們最常用的模式包括:
- 主動備份:一條連結處於活動狀態,其餘連結處於備用狀態,交換器無需進行任何變更。
- Balance-TLB(傳輸負載平衡)和 balance-ALB(自適應負載平衡):無需在交換器上進行特殊配置即可分配流量。
- 基於聚合的模式(例如,模式 0、2、3 和 4)確實需要 乙太網路通道,以及在某些情況下,LACP 在交換器上(取決於它是思科還是其他製造商)。
要在 Red Hat Enterprise Linux 6 等發行版中使用 bonding 功能,首先需要載入核心模組:
modprobe --first-time bonding
如果模組未加載,該命令將啟動它,但螢幕上不會顯示太多資訊。您可以使用以下命令檢查模組是否存在及其參數。 modinfo bonding通常情況下,當偵測到設定檔時,上傳操作會自動完成。 ifcfg-bondN 附帶適當的指令。
經典配置是在 /etc/sysconfig/network-scripts/例如,要建立 bond0,您需要產生一個 ifcfg-bond0 文件,其內容類似於:
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no
BONDING_OPTS="parámetros de bonding separados por espacios"
要新增到連結聚合組中的實體介面(例如 eth0 和 eth1)各自擁有一個 ifcfg-ethX 文件,其中新增了MASTER=bond0 和 SLAVE=yes指令。這表示這些介面沒有獨立的 IP 位址,而是成為邏輯鏈路的一部分。
檔案建立完成後,您可以使用以下命令重新啟動網路服務: service network restart 並使用以下命令檢查鏈路狀態:
cat /proc/net/bonding/bond0
此檔案顯示綁定模式、MII 狀態、輪詢時間以及哪些介面處於活動狀態。如果需要多個綁定(bond0、bond1 等),則需要重複此過程,建立額外的 ifcfg-bondN 文件,並使用 MASTER=bondN 為每個綁定分配不同的實體介面組。
VLAN 的關鍵概念:存取埠、中繼和 802.1Q
掌握了連結聚合(Teaming)之後,就該了解 VLAN 背後的邏輯了。首先,你需要一台支援802.1Q VLAN 標準的交換器。否則,你將無法使用 VLAN。例如,在 Cisco 交換器中,你可以定義 1 到 4094 的 VLAN;其中 1 到 1005 為標準範圍,1006 到 4094 為擴充範圍。
普通範圍 VLAN 儲存在交換器快閃記憶體中的vlan.dat檔案中。 VLAN 1 和 1002-1005 預設創建,且無法刪除,因為它們保留用於傳統功能(例如令牌環和 FDDI)。擴充範圍 VLAN 儲存在運作配置中,如果要使用 VTP 管理它們,則需要將交換器設定為 VTP 透明模式。
配置為「access」的連接埠屬於單一VLAN。這通常用於不支援VLAN的PC、印表機或伺服器。另一方面,trunk埠承載來自多個VLAN的幀,這些VLAN使用802.1Q進行標記。這種類型的連結用於交換器之間、具有子介面的路由器之間或支援標記VLAN的伺服器之間的流量。
在 802.1Q 標準中,乙太網路封包僅做了少量修改,在訊框頭中加入了 VLAN ID 欄位。修改後的順序為:目標 MAC 位址、來源 MAC 位址、VLAN 標籤(包含 VLAN 識別碼),以及其餘欄位。此識別碼使交換器能夠在訊框通過中繼鏈路到達時識別其所屬的 VLAN。
在思科交換器上設定 VLAN 和連接埠
在 Cisco IOS 中,建立 VLAN 非常簡單。在全域設定模式下,您只需指定 VLAN 編號和一個描述性名稱,即可避免在大型網路中迷失方向。
基本步驟如下:
- 使用以下命令進入全域設定模式 配置終端.
- 使用以下方式建立 VLAN VLAN.
- 給它取個名字 薯.
- 使用以下命令退出到特權 EXEC 模式 結束.
例如,要建立 VLAN 20 並將其命名為「student」:
S1(config)# vlan 20
S1(config-vlan)# name student
S1(config-vlan)# end
接下來,您需要將連接埠與該 VLAN 關聯起來。為此,請切換至介面設定模式,並將連接埠設定為存取模式,並將其指派給所需的 VLAN。
Switch(config)# interface fa0/6
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Switch(config-if)# end
使用`switchport mode access` 指令可以有效地將連接埠鎖定為固定存取點,防止其意外地與其他裝置協商建立中繼連結。您可以使用`show vlan brief` 指令查看已建立的 VLAN 及其關聯的連接埠的摘要資訊。
同一連接埠上的語音和資料 VLAN
雖然存取連接埠只能屬於資料 VLAN,但許多交換器也允許您指派額外的語音 VLAN,這在您連接 IP 電話和其後面的 PC 時非常有用。
在思科設備中,承載使用者資料和 VoIP 的連接埠的典型設定如下所示:
interface fa0/18
switchport mode access
switchport access vlan 20
mls qos trust cos
switchport voice vlan 150
這樣,PC 資料將通過 VLAN 20,語音流量將通過 VLAN 150。 mls qos trust cos指令告訴交換器信任電話指示的服務等級 (CoS) 值,以便套用適當的服務品質策略來優先處理語音流量。
可以使用show vlan brief或show interfaces fa0/18 switchport 指令來驗證結果,您將看到存取 VLAN、中繼的本機 VLAN(如果適用)和設定的語音 VLAN。
修改或刪除VLAN和連接埠成員關係
如果連接埠被指派到了錯誤的 VLAN,只需使用正確的 VLAN ID重新執行 `switchport access vlan` 指令即可。如果希望連接埠恢復到預設 VLAN(VLAN 1),可以使用以下命令:
interface fa0/18
no switchport access vlan
此指令會移除特定的連接埠分配,因此連接埠將會傳回 VLAN 1(通常可以使用`show vlan brief`指令進行驗證)。請注意,即使 VLAN 本身(例如 VLAN 20)不再關聯任何端口,它仍然存在。
若要從交換器中徹底刪除 VLAN,請在全域設定模式下使用下列命令:
no vlan <vlan-id>
如果要清除整個 VLAN 資料庫(例如,將交換器的 VLAN 資料庫還原到出廠設定),可以使用下列命令從快閃記憶體中刪除vlan.dat檔案:
delete flash:vlan.dat
重新啟動交換器後,已定義的 VLAN 將會消失,VLAN 設定將恢復到出廠預設值。顯然,必須極其謹慎地使用此命令,因為它會清除所有已配置的 VLAN。
VTP 和集中式 VLAN 管理
在大型網路中,手動在每台交換器上建立或重新命名 VLAN 簡直是噩夢。這時,VLAN 中繼協定 (VTP)就派上了用場,它允許 VLAN 資訊在屬於相同 VTP 域的交換器之間進行分發。
VTP 主要有三種工作模式:
- 伺服器:可以建立、修改和刪除 VLAN,並向其他伺服器發送通告。
- 客戶端:從伺服器接收VLAN資料庫,但是 你無法編輯它.
- 透明型:不參與全球資料庫,但轉送 VTP 通告;在本地維護其 VLAN。
全域模式下的基本配置包括:
- 用以下方式定義域
vtp domain <nombre-dominio>. - 設定密碼
vtp password <clave>. - 使用以下方式設定模式
vtp mode serverovtp mode client根據觸摸情況而定。 - 確保 交換器之間的幹線連結處於活動狀態 以便VTP資訊能夠流通。
常見的 VTP 錯誤包括密碼同步不良、網域不匹配,或處於透明模式的交換器成為網路區域之間唯一的路徑,導致某些 VLAN 名稱無法到達其他裝置。
交換器上的乙太網路通道、VLAN 和連接埠聚合
EtherChannel 是思科實現的將多個實體連接埠組合成單一邏輯鏈路的技術,類似於伺服器上的網路卡綁定,但它是在交換器端實現的。它支援 VLAN,並且可以在存取模式或乾線模式下運行,合併參與鏈路的頻寬。
其理念是,在路由表和生成樹協定中,多個連接埠(例如 Fa0/2、Fa0/3 和 Fa0/4)如同單一連接埠一樣運作,從而避免環路並提高效能。此群組連接埠透過編號進行標識(連接埠通道 1、連接埠通道 2 等)。
要配置乙太網路通道,通常需要進入每個實體接口,並使用類似以下的命令:
interface range fa0/2 - 4
channel-group 1 mode active
這將創建一個名為Port-channel1 的邏輯接口,您可以在該接口上應用常規的交換器配置(接入模式、Trunk 模式、允許的 VLAN 等)。如果連結需要承載多個 VLAN,通常的做法是將 Port-channel 設定為 Trunch 模式,並列出已授權的 VLAN。
例如,如果您希望乙太網路通道僅承載 VLAN 100 和 200,則需要進入對應的連接埠通道介面並執行類似如下的操作:
interface port-channel1
switchport mode trunk
switchport trunk allowed vlan 100,200
選擇組成乙太網路通道的介面時務必仔細;最常見的問題之一就是選擇了錯誤的連接埠。通常情況下,該連接埠上的 LED 指示燈會顯示琥珀色或出現異常行為,因為它不符合加入該群組的要求。
VLAN 和網路設備故障排除
當包含 VLAN、Trunk、VTP、EtherChannel 和鏈路聚合等技術的網路發生故障時,原因通常是一些乍看之下難以發現的簡單問題。為了避免手忙腳亂,最好遵循檢查清單。
診斷事故的一些實用步驟包括:
- 確認是否有人拔下網路線並將其插回交換器上的另一個連接埠;如果網路線沒有標籤,電腦很容易被放到其 VLAN 之外。
- 檢查一下 所有相關設備上的 VLAN ID 都匹配 (交換器、路由器、伺服器)且中繼埠允許完全必要的 VLAN。
- 確認 VTP 在所有交換器上具有相同的域和密碼,並且唯一的出站路徑上沒有不受我們控制的設備處於透明模式。
- 確保 EtherChannel 在兩端都正確定義,具有相同的群組號碼和相同的模式(LACP 主動/被動、開啟等)。
- 請確認,如果您連接不同品牌的設備,您正在使用 802.1Q 標準封裝 而不是不相容的專有模式。
掌握VLAN、網路卡綁定、乙太網路通道以及 VTP 和 802.1Q 等協定的組合運用,可以幫助您在實體和虛擬化環境中設計出更強大、可擴展且結構更清晰的網路。一旦了解這些概念,在同一基礎架構上配置管理網路、儲存網路、生產網路和備份網路就變得更加可預測,也更不容易出現問題。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。
