第 9 章 虛擬區域網路 (VLAN)
虛擬區域網路 (VLAN) VLAN 是一個邏輯群組的網路使用者與資源, 連結到交換器上那些依管理意義而定義出來的埠
交換式網路 第 2 層交換式網路所能得到的最大好處就是:為每個裝置連接交換器的每個埠, 以產生個別碰撞網域的網段
平版式網路 交換器會轉送廣播到所有的網段上
第二層交換的問題 廣播 安全性 所有使用者預設上都可看到所有的裝置 無法阻止裝置送出廣播, 也無法阻止使用者回應廣播
VLAN簡化網管的方式 只要設定一個埠到適當的 VLAN 中, 就可輕易地完成網路的新增、遷移、與修改 不再只靠路由器 藉由縮小 VLAN 的規模, 就可增加廣播網域的數目
彈性與擴充性(問題) 如果業務部門的集線器插滿了, 而您需要增加其他的使用者到業務部區域網路, 怎麼辦?寄居在其他部門的區域網路﹐這樣會有兩方面的議題: 安全 效率
彈性與擴充性(解決方式) VLAN可讓您跨越實體地理位置的限制!
VLAN 成員 靜態的 VLAN-由管理員產生的VLAN, 然後再指定交換埠給每個 VLAN 安全 容易設置與管理 動態 VLAN-指定主機裝置的硬體位址、協定、或甚至是應用服務到資料庫中, 使得每當主機插上交換器時, 就能動態地分配到一個 VLAN 一開始得要費時地建置VLAN管理政策伺服器VMPS
交換埠的種類 交換埠有兩種 一個交換埠只能建置成存取埠或主幹埠 - 不能同時是兩者 存取埠 (access port) 主幹埠 (trunk port) 一個交換埠只能建置成存取埠或主幹埠 - 不能同時是兩者 您可以手動地將一個交換埠設定成存取埠或主幹埠, 或者讓動態主幹通訊協定DTP在每個埠的基礎上運作, 以設定交換埠模式
存取埠 這種埠只能屬於一個 VLAN , 而且只傳送一個 VLAN 的交通(語音 VLAN例外) 語音存取埠 在語音交通用的交換埠上增加第二個 VLAN -語音 VLAN 可同時將存取埠設給資料與語音 VLAN
主幹埠
VLAN如何跨交換器 VLAN 可以跨越一個以上互相連結的交換器。所以必須有個方法可讓交換器在訊框經過交換組織與 VLAN 時, 能夠記錄所有的使用者與訊框 為訊框貼標籤 訊框的識別 指定一個唯一的VLAN ID 運作方式 每部交換器收到訊框時必須先從訊框的標籤中識別出它的 VLAN ID, 然後檢視過濾表中的資訊, 看要如何處理該訊框 如果訊框抵達的是一部連有其他主幹鏈路的交換器, 就會從主幹鏈路的埠轉送出去 當訊框抵達出口 (由轉送 / 過濾表來決定它是否是符合該訊框之 VLAN ID 的存取鏈路) 時, 交換器就會移除 VLAN 識別子
VLAN如何跨交換器(主幹埠) 主幹埠同時支援有貼標籤與沒有貼標籤的交通 主幹埠會為所有無標籤的交通指定一個預設的PVID, 這個 VLAN 又稱為原生 VLAN, 預設上總是 VLAN 1 (但可以變更成任何其他的 VLAN ) VLAN ID 為 NULL (沒指定) 的有或無標籤交通都會被視為屬於 ID 為預設 PVID 的 VLAN VLAN ID 與離開埠之預設 PVID 相等的封包會以無標籤的交通送出, 而且只能與 VLAN 1 中的其他主機或裝置通訊。其他的所有 VLAN 交通都必須以某個 VLAN 的標籤送出, 以便和該標籤的對應 VLAN 通訊
主幹通訊方法-跨交換器鏈路ISL 為乙太網路訊框貼上 VLAN 資訊的方法, 這種標籤資訊讓 VLAN 可以透過一種外部的封裝方法, 多工於主幹鏈路上 ISL可讓多個交換器互相連結, 當交通於交換器之間的主幹鏈路上傳輸時, 仍能維持 VLAN 的資訊 ISL 在第 2 層運作, 利用一個新的標頭與 CRC 來封裝資料訊框 ISL是專屬於 Cisco 交換器的方法, 只用於快速乙太網路與 Gigabit 乙太網路的鏈路 ISL遶送是非常多功能的, 可用於交換埠、路由器界面、以及伺服器界面卡上, 以主幹鏈路來連結伺服器
主幹通訊方法- IEEE 802.1Q IEEE 所產生用來在訊框上貼標籤的標準方法, 這個方法會插入一個欄位至訊框中來識別 VLAN 運作方式: 首先您必須為即將成為主幹的每個埠指定 802.1Q 封裝, 這些埠要一個特定的 VLAN ID, 讓它們成為原生 VLAN, 才能彼此通訊 連結相同主幹的埠會產生一個有原生 VLAN 群組, 而每個埠會得到一個反應其原生 VLAN 的識別號碼當作標籤 - 預設是 VLAN 1。原生 VLAN 讓主幹能運載所收到之沒有任何 VLAN 識別或訊框標籤的資訊 2960 只支援 IEEE 802.1Q 主幹通訊協定, 但 3560 同時支援 ISL 與 IEEE 標準
何謂VTP Cisco 建立的專屬協定﹐基本目的是要管理交換式互連網路上所有設定的 VLAN, 以及維護整個網路的一致性 VTP 讓管理員可新增、刪除、以及重新命名 VLAN - 然後將這些資訊散播到 VTP 網域中的所有其他交換器
VTP 的優點 讓網路中的所有交換器間有一致的 VLAN 設定 允許 VLAN 以主幹連結於混合的網路上, 例如乙太網路到 ATM LANE 或甚至是 FDDI 正確地記錄與監視 VLAN 動態地報告新增的 VLAN 給 VTP 網域中的所有交換器 隨插即用地新增 VLAN
交換器如何透過VTP溝通VLAN組態 交換器會宣傳 VTP 管理的網域資訊, 以及一個組態修訂號碼和所有含特定參數的已知 VLAN 交換器可能在VTP advertisement中偵測到額外的 VLAN﹐ 然後就在他們那些結合新定義之 VLAN 的主幹埠上傳送資訊, 並送出更新封包。其修訂號碼乃設為原先通知封包的編號加一 任何時候當交換器看到比較高的修訂號碼時, 就會知道該資訊是比較即時的, 並且會以新資訊覆蓋目前的資料庫
VTP的溝通需求 VTP 在交換器之間溝通 VLAN 資訊有 3 個需求 交換器必須設定一樣的 VTP 管理網域名稱 一部交換器一次只能屬於一個網域 為防止使用者擅自新增交換器到您的 VTP 網域, 可加入密碼, 但每部交換器必須設置相同的密碼 至少有一部交換器必須設成 VTP 伺服器 不需要路由器﹐VTP 資訊只能透過主幹在交換器之間傳送
VTP 的運作模式
VTP 的運作模式-伺服器 能建立、新增、刪除、或更改VTP 網域中的 VLAN VLAN 的組態設定是儲存在 NVRAM 中 所有 Catalyst 交換器的預設模式
VTP 的運作模式-客戶端 只會學習並轉送 VTP 資訊﹐但不會將 VTP 組態設定儲存在運行組態中, 也不會儲存在NVRAM 中 不能建立、新增、或刪除 VLAN 在 VTP 伺服器公佈新 VLAN 之客戶端交換器之前, 該客戶端交換器上的埠都不能加入新的 VLAN 實務上的建議:如果您想要讓一部交換器變成伺服器, 首先將它設成客戶端, 以接收所有正確的 VLAN 資訊, 然後再將它更改為伺服器 - 這樣容易得多! 如果您想要加入一部新的交換器, 安裝前請確定將它設成 VTP 客戶端。否則這部新交換器就會送出一個新的 VTP 資料庫給其他交換器, 因而摧毀了您既有的所有 VLAN!
VTP 的運作模式-透通 不參與 VTP 網域或分享它的 VLAN 資料庫, 但仍然會透過主幹鏈路來轉送 VTP 宣傳 VLAN 資料庫保留在 NVRAM 中, 不過實質上只具有本機的意義 主要目的是為了讓遠端交換器能從那些設為 VTP 伺服器的交換器, 透過屬於不同 VLAN 的交換器來接收 VLAN 資料庫
VTP學習的VLAN範圍 VTP 只學習一般範圍的 VLAN, 其 VLAN ID 從 1 到 1005 ID 大於 1005 的 VLAN 稱為延伸範圍的 VLAN, 這些 VLAN 不會儲存在 VLAN 資料庫中 當您產生 ID 為 1006 到 4094 的 VLAN 時, 必須將這種交換器設定成透通模式, 而您應該很少會用到這些 VLAN 1 與 1002 到 1005 的 VLAN ID 是自動建立在交換器上的, 無法移除掉
VTP 修剪 讓交換器只傳送廣播到真正需要的主幹鏈路 預設上所有交換器上的 VTP 修剪功能是關閉的 例如:如果 A 交換器上沒有任何埠是設成 VLAN5, 而有個廣播要傳遍 VLAN5, 則該廣播就不會流經要到 A 交換器的主幹鏈路 預設上所有交換器上的 VTP 修剪功能是關閉的 啟動 VTP 伺服器上的修剪功能也就是為整個網域啟動了它 根據預設, VLAN 2 到 1001 都是可以進行修剪的, 但 VLAN 1 則不可以 VTP 第一版與第二版同時都支援 VTP 修剪
show interface trunk 從 show interface trunk 的輸出可以看到, 預設上所有 VLAN 都被允許能穿越主幹鏈路
設定VTP 修剪 只要一個命令, 就能為所列的 VLAN 在整個交換網路上啟動這個功能
VLAN 之間的遶送(一) 3條存取鏈路﹐ 每個路由器界面的 IP 位址將會成為每個 VLAN 中的每部主機的預設閘道位址
VLAN 之間的遶送(二) 設定 ISL 或 802.1Q 主幹通訊 支援ISL或802.1Q遶送的路由器。 2600以上﹐建議至少使用2800
設定 VLAN 我們所能產生的 VLAN 最大是 1005, 但 VLAN 1 與 1002 到 1005 是不可以使用、變更、改名、或刪除的, 因為它們是保留的 編號超過 1005 的 VLAN 稱為延伸範圍的 VLAN, 它們是不會儲存在資料庫的, 除非您的交換器設定成 VTP 透通模式
Show vlan 除非您特別設定﹐否則所有埠的預設都是屬於 VLAN 1 1 與 2 號埠呢?前一章我們產生一束 EtherChannel﹐並且將他們設定成主幹。主幹埠是不會出現在 VLAN 資料庫中的, 您必須使用 show interface trunk 命令來檢視主幹埠
指定交換埠給 VLAN
設定主幹埠
設定交換器界面的可用選項 switchport mode access 將界面放入永久的非主幹模式, 並協商要轉換成非主幹鏈路, 而不管其鄰接界面是否為主幹界面 switchport mode dynamic auto 讓界面能夠將鏈路轉換成主幹鏈路。只有當其鄰接界面設定為 trunk 或 desirable 模式時, 界面才會成為主幹界面。對於所有新型 Cisco 交換器上的所有乙太網路界面, 這是預設的交換埠模式 switchport mode dynamic desirable 讓界面主動地試圖去將鏈路轉換成主幹鏈路。如果其鄰接界面設定為 trunk、desirable 或 auto 模式, 這個界面就會變成主幹界面。您必須手動地將其鄰接界面設定為主幹界面, 才能建立起主幹鏈路 switchport mode trunk 將界面放入永久的主幹通訊模式, 並協商要將其鄰接鏈路轉換成主幹鏈路。這個界面會變成主幹界面, 而不管其鄰接界面是否為主幹界面 switchport nonegotiate 阻止界面產生 DTP 訊框。只有當界面的交換埠模式是存取或主幹時, 才使用這個命令
Cisco Catalyst 3560與2960的比較 3560 可以提供第 3 層服務, 但 2960 不行 3560 可以執行 ISL 與 IEEE 802.1Q 的主幹通訊封裝方法 - 2960 只能執行 802.1Q 其實Cisco 已經逐漸遺棄 ISL - 它的新型路由器甚至已經不支援它了
Cisco Catalyst 3560上的封裝
定義主幹上允許的 VLAN 根據預設, 主幹埠會為所有 VLAN 傳送和接收資訊, 而且如果有沒貼標籤的訊框, 則會將它傳送給管理性 VLAN。延伸範圍的 VLAN也同樣適用。但是我們也可以從許可清單中移除 VLAN, 以防止特定 VLAN 的交通流經主幹鏈路: 丟棄所有為 VLAN 4 傳送和接收的全部交通
定義主幹上允許的 VLAN(續) 要移除某個範圍的 VLAN, 只要使用橫線: 或是這個命令也有同樣的效果:
變更或修改主幹的原生 VLAN 其實變更native vlan的機會很少﹐有人是為了安全性的理由:
變更或修改主幹的原生 VLAN(續) 如果主幹鏈路上所有的交換器沒有設定相同的原生 VLAN, 那我們就會收到下面的錯誤: 檢視變更的結果: 如果主幹鏈路上所有的交換器沒有設定相同的原生 VLAN, 那我們就會收到下面的錯誤: 我們可以到主幹鏈路的另一端, 並改變原生 VLAN。或是將原生 VLAN 改回預設, 如下面的做法:
設定跨 VLAN 遶送 要在快速乙太網路上支援 ISL 或 802.1Q 遶送, 得將路由器的界面分割為邏輯界面 - 每個 VLAN 各一個, 這些稱為子界面 子界面的編號只對本機有意義,我們大部分會將子界面的編號設定和 VLAN 1 想要遶送的號碼一樣﹐方便管理 將每個 VLAN 設成個別的子網路 利用 encapsulation 命令將快速乙太網路或 Gigabit 界面設定成主幹
設定跨 VLAN 遶送範例一
設定跨 VLAN 遶送範例二 路由器利用子界面連接交換器 連接路由器的交換埠是主幹埠 連接客戶端與集線器的交換埠是存取埠, 不是主幹埠 我們的邏輯網路: VLAN 1: 192.168.10.16 / 28 VLAN 2: 192.168.10.32 / 28 VLAN 3: 192.168.10.48 / 28
設定跨 VLAN 遶送範例二(交換器)
設定跨 VLAN 遶送範例二(路由器)
設定跨 VLAN 遶送範例三
設定交換器的 IP 位址 為了讓遠端能管理此部交換器﹐我們通常還會在整體設定模式下設定Ip default-gateway
設定跨 VLAN 遶送範例四
設定 VTP-S1交換器 設成VTP伺服器 設定VTP網域 設定要加入VTP網域所需的密碼 本機所支援的 VLAN 最多只有 255
設定 VTP-Core交換器
設定 VTP-S2交換器
檢視VTP
檢修 VTP(一) 這兩部交換器為什麼無法分享VLAN資訊呢?
檢修 VTP(二) 在Switch C上產生 VLAN 時就會發生以下的錯誤: 修正的方式:
檢修 VTP (三) 為什麼 SwitchB 無法從 SwitchA 收到 VLAN 資訊? 兩種解決方式: 改變 B 交換器的 VTP 網域名稱, 然後將它設回 GlobalNet;這會將 B 交換器的修訂編號重設為 0 在 A 交換器上建立或刪除 VLAN, 直到它的修訂編號高過 B 交換器
語音 VLAN 設定的指導原則 應該在存取埠上設定語音 VLAN;主幹埠不支援語音 VLAN 語音 VLAN 應該要能在交換器上出現並且作用, IP 電話才能正確地跟它溝通﹐這可用show vlan命令檢視 開啟語音 VLAN 之前, 建議您先輸入 mls qos 整體設定命令來開啟交換器上的 QoS, 並且使用 mls qos trust cos 的界面設定命令將埠的信任狀態設為受信任 您必須確定連到 Cisco IP 電話的交換埠確實有開啟 CDP 以傳送組態。這是預設值, 除非您曾經關閉它, 否則應該不會有問題 設定語音 VLAN 時, PortFast 功能會自動開啟;但是當您關閉語音 VLAN 時, PortFast 功能不會自動關閉 要將埠還原為預設值, 請使用 no switchport voice vlan 界面設定命令
設定 IP 電話語音交通 設定界面使用封包的 CoS 值來分類進入的交通封包。對於未經標示的封包, 則使用埠的預設 CoS 值 資料VLAN
利用 CNA 來設定 VLAN 點選 Configure、Switching、和 VLAN 主幹埠 存取埠
利用 CNA 來設定 VLAN (續) 選取埠 1, 點選 Modify 可以改變不同的管理模式和封裝, 並且設定在主幹埠上可容許的 VLAN, 以及設定 VTP 修剪
利用 CNA 來設定 VLAN (續) VLAN 視窗中的 Configure VLANs 頁籤
利用 CNA 來設定 VLAN (續) 點選 Create 按鈕
利用 CNA 來設定 VLAN (續) 加入名為 Todd 的新 VLAN, 然後點選 OK
利用 CNA 來設定語音VLAN 在 Configure 之下點選 Voice VLAN
利用 CNA 來設定語音VLAN(續) 選取我們連接電話的 4 號埠, 並且點選 Modify。然後建立新的語音 VLAN (語音 VLAN 10), 並且點選 OK
利用 CNA 來設定 跨 VLAN 遶送 在 Configure 之下點選 Routing、 Enable / Disable。從出現的畫面中點選 Enable IP Routing
利用 CNA 來設定 跨 VLAN 遶送(續) 點選 OK 之後, 點選 Inter-VLAN Routing Wizard
利用 CNA 來設定 跨 VLAN 遶送(續) 點選 Next
利用 CNA 來設定 跨 VLAN 遶送(續) 點選 Next 進入下個畫面
利用 CNA 來設定 跨 VLAN 遶送(續) 點選想要提供跨 VLAN 通訊的那些 VLAN, 為每個獨立的 VLAN 加入新的子網路和子網路遮罩, 然後點選 Next
利用 CNA 來設定 跨 VLAN 遶送(續) 這個畫面已經將 IP 預設閘道設為交換器的預設路徑 - 所以再次按下 Next
利用 CNA 來設定資料與語音VLAN 對 2960 (S1) 開啟CNA, 並且點選 Smartports。接著選取 4 號埠, 按下右鍵, 然後選擇 IP Phone+Desktop 接著選擇存取 VLAN (這是之前 PC 所使用的 VLAN 3), 以及稍早建立的語音 VLAN (10)。按下 OK 之後, 巨集就會執行
利用 CNA 來設定資料與語音VLAN(續) Cisco 電話巨集在 4 號埠上執行之後的運行組態輸出: