How to configure VLAN-VPN(QinQ) for L3 switches in controller Mode using the CLI template
適用於:Omada SDN 控制器 v5.13.30.8 以上版本。
本文將介紹如何使用 CLI Template 在控制器模式下為 L3 交換器設定 VLAN-VPN(QinQ)。
什麼是 VLAN-VPN?
虛擬專用網路(VLAN-VPN)是一種 Layer 2 VLAN 技術,通常部署在 ISP 網路的 edge。當使用 VLAN-VPN 時,交換器會對從客戶端網路轉發到 ISP 網路的封包新增額外的 VLAN TAG。這樣封包就可以攜帶雙層 VLAN TAG 進行轉發。在 ISP 網路中,封包依照外部 VLAN TAG 進行轉發,而原始內部的 VLAN TAG 被視為封包負載的一部分。封包轉發到對端 ISP 的 edge 後,外層 VLAN TAG 被移除,使用原先的內層 VLAN TAG 在客戶端網路上轉發封包。
TP-Link 提供兩種應用 VLAN-VPN 的方法。 一是 VLAN-VPN 功能,二是 VLAN-mapping功能。前者的外層 VLAN TAG 值為連接埠的 PVID。後者的外層 VLAN TAG 值可以透過設定 UNI(使用者網路介面)埠口的 VLAN 對應關係來靈活設定。在控制器模式下,你可以使用 CLI Template 來下發 VLAN-VPN 和 VLAN-MAPPING 設定。
1. 基本 VLAN-VPN(QinQ)
1.1 網路需求
某公司有兩個站點,而電腦分別屬於 VLAN 100 和 VLAN 200。ISP VLAN 為 VLAN 1050,ISP 網路使用的 TPID 為 0x9100。
兩個站點需要透過 ISP 網路相互通訊。要求 VLAN 100 和 VLAN 200 的流量在 VLAN 1050 中傳輸。
1.2 設定方案
為了滿足所有來自 VLAN 100 和 VLAN 200 的流量都應該透過 VLAN 1050 傳輸的要求:使用者可以在 Switch 1 和 Switch 2 上設定基本的 VLAN-VPN,以允許使用雙重 VLAN TAG 發送的封包,從而確保它們之間的通訊。一般的設定步驟如下:
這裡我們只介紹 Switch 1 和 Switch 3 的設定方案,因為
Switch 2 的設定與 Switch 1 ,而 Switch 4 的設定與 Switch 3 相同。
1) 在 Switch 1 上設定 802.1Q VLAN。參數如下所示:
|
VLAN 100 |
VLAN 200 |
VLAN 1050 |
PVID |
Port 1/0/1 |
- |
- |
Tagged |
保持預設值 |
Port 1/0/2 |
Tagged |
Tagged |
Untagged |
1050 |
2) 在 Switch 3 上設定 802.1Q VLAN。參數如下所示:
|
VLAN 100 |
VLAN 200 |
PVID |
Port 1/0/1 |
Untagged |
- |
100 |
Port 1/0/2 |
- |
Untagged |
200 |
Port 1/0/3 |
Tagged |
Tagged |
保持預設值 |
3) 在 Switch 3 上設定 VLAN-VPN。將埠口 1/0/1 設定為 NNI(網路 - 網路介面)埠口,埠口 1/0/2 設定為 UNI(使用者網路介面)埠口;並將 TPID 設定為 0x9100。
1.3 VLAN 設定流程:
在 Settings(設定)-> Wired Networks(有線網路)-> LAN(區域網路)-> Networks(網路) 頁面,點擊 Create New LAN(建立新的 LAN)。
執行下列操作來建立 VLAN 100。
以同樣的方式建立 VLAN 200 和 VLAN 1050。
1.4 設定連接埠設定檔
在 Settings(設定)-> Wired Networks(有線網路)-> LAN(區域網路)-> Profile(設定檔) 頁面,建立不同的連接埠設定檔,並設定不同的 802.1Q VLAN 參數。將設定檔套用到連接埠後,您可以變更該連接埠的 VLAN 設定。
建立一個 NNI 設定檔, 其中 Native Network 和 Untagged Networks 保持為預設的 VLAN1,並選擇 VLAN 1050 作為 Tagged Networks。
建立一個 UNI 設定檔, 將 Native Network 和 Untagged Networks 更改為 VLAN 1050,而 Tagged Networks 更改為 VLAN 100 和 VLAN 200。
在 Devices(設備)-> Device List(設備列表) 頁面,點擊 Switch 1。在右側彈出的詳細設定頁面的連接埠分頁中,點擊 Port1 右側的 Edit 按鈕,將其設定檔變更為 NNI 設定檔。
使用相同的方法,將 交換器 2 上 Port 1 的設定檔修改為 NNI 設定檔,將 交換器 1 和 交換器 2 上 Port 2 的設定檔更改為 UNI 設定檔,在 交換器 3 和 交換器 4 上 Port 1 的設定檔更改為 VLAN100,在 交換器 3 和 交換器 4 上 Port 2 的設定檔更改為 VLAN200。
1.5 設定 VLAN-VPN
目前,控制器不支援透過 GUI 設定 VLAN-VPN,但可以透過 CLI Template 進行設定。
複製以下 CLI 指令:
#
dot1q-tunnel
#
interface gigabitEthernet 1/0/1
switchport dot1q-tunnel mode nni
switchport dot1q-tunnel tpid 9100
#
interface gigabitEthernet 1/0/2
switchport dot1q-tunnel mode uni
#
注意:第一行和最後一行的符號 # 必須複製到。
在 Settings(設定) -> CLI Configuration(CLI 設定) -> Device CLI (設備 CLI) 頁面,點擊 Create New Device CLI Profile(設定新的設備 CLI 設定檔)。
輸入 名稱 和 描述,然後將剛剛複製的 CLI 貼上到 CLI 輸入框當中,然後點擊 Next (下一步)。
選擇 交換器 1 和 交換器 2 來下發指令設定,點擊 Confirm(確認)。
本案例中,交換器 1 和 交換器 2 的設定相同。 因此,您可以同時選擇這兩個交換器。 如果兩台交換器 的 NNI 埠號和 UNI 埠號不同,則需要建立 CLI Template 並將其套用到它們的設備。
點擊 Apply(套用) 傳送 VLAN-VPN 設定。
1.6 刪除 VLAN-VPN 設定
與控制器的 GUI 設定不同,如果刪除上面建立的 CLI Template,控制器不會發出刪除 VLAN-VPN 設定的指令。如果要刪除上面的 VLAN-VPN 設定,則需要使用下面的 delete CLI 指令建立新的 CLI Template,並將其布達到交換器 1 和交換器 2。
#
no dot1q-tunnel
#
interface gigabitEthernet 1/0/1
no switchport dot1q-tunnel mode
#
interface gigabitEthernet 1/0/2
no switchport dot1q-tunnel mode
#
刪除設定後,在 Settings(設定)-> CLI configuration (CLI 設定)-> device CLI (設備 CLI)頁面,刪除新增 VLAN-VPN 和刪除 VLAN-VPN 的兩個 CLI Template。
2. 彈性的 VLAN-VPN(QinQ)
2.1 網路需求
某公司有兩個站點,電腦分別位於 VLAN 100 和 VLAN 200。
ISP VLAN 為 VLAN 1050 及 VLAN 1060,ISP 網路使用的 TPID 為 0x9100。
兩個站點需要透過 ISP 網路相互通訊。要求 VLAN 100 的流量在 VLAN 1050 中傳輸,VLAN 200 的流量在 VLAN 1060 中傳輸。
2.2 設定方案
為了符合所有來自 VLAN 100 和 VLAN 200 的流量需要經由不同的 ISP VLAN 傳輸的要求,使用者可以在交換器 1 和交換器 2 上設定彈性的 VLAN-VPN,將 VLAN 100 映射到 VLAN 1050,VLAN 200 映射到 VLAN 1060,如此一來來自 VLAN 100 和 VLAN 200 的封包就會分別經由 VLAN 1050 和 VLAN 1060 傳輸。
在此我們只介紹交換器 1 和交換器 3 的設定方案,因為交換器 2 的設定與交換器 1 相同,而交換器 4 的設定與交換器 3 相同。
1)在交換器 1上設定 802.1Q VLAN,參數如下:
|
VLAN 100 |
VLAN 200 |
VLAN 1050 |
VLAN1060 |
PVID |
Port 1/0/1 |
- |
- |
Tagged |
Tagged |
保持預設值 |
Port 1/0/2 |
Tagged |
Tagged |
Untagged |
Untagged |
保持預設值 |
2)在交換器 3 上設定 802.1Q VLAN,參數如下:
|
VLAN 100 |
VLAN 200 |
PVID |
Port 1/0/1 |
Untagged |
- |
100 |
Port 1/0/2 |
- |
Untagged |
200 |
Port 1/0/3 |
Tagged |
Tagged |
保持預設值 |
3)在交換器 1上設定 VLAN-VPN,並將連接埠 1/0/1 設定為 NNI 埠口,連接埠 1/0/2 設定為 UNI 埠口;設定 TPID 為 0x9100;將 VLAN 100 對應到 VLAN 1050,將 VLAN 200 對應到 VLAN 1060。
2.3 建立 VLAN 並設定連接埠設定檔
請參閱基本 VLAN-VPN 中建立 VLAN 和連接埠設定檔的指南。
2.4 VLAN-MAPPING 設定流程
目前,控制器不支援透過 GUI 設定 VLAN-VPN,但可以透過 CLI Template 進行設定。
CLI 指令如下:
#
dot1q-tunnel
dot1q-tunnel mapping
#
interface gigabitEthernet 1/0/1
switchport dot1q-tunnel mode nni
switchport dot1q-tunnel tpid 9100
#
interface gigabitEthernet 1/0/2
switchport dot1q-tunnel mode uni
switchport dot1q-tunnel mapping 100 1050
switchport dot1q-tunnel mapping 200 1060
#
如何建立 CLI Template 並下發 CLI Template,請參閱前面提到的基本 VLAN-VPN。
2.5 刪除設定
與控制器的 GUI 設定不同,如果刪除上面建立的 CLI Template,控制器不會發出刪除 VLAN Mapping 設定的指令。如果要刪除上面的 VLAN Mapping 設定,則需要使用下面的 delete CLI 指令建立新的 CLI Template,並將其下發到交換器 1 和交換器 2。
#
no dot1q-tunnel
no dot1q-tunnel mapping
#
interface gigabitEthernet 1/0/1
no switchport dot1q-tunnel mode
#
interface gigabitEthernet 1/0/2
no switchport dot1q-tunnel mapping
no switchport dot1q-tunnel mode
#
刪除設定後,在 Settings(設定)-> CLI configuration(CLI 設定) -> device CLI (設備 CLI)頁面,刪除用於新增 VLAN Mapping 和刪除 VLAN Mapping 的兩個 CLI 範本。
有關 VLAN-VPN 功能和 CLI 的詳細訊息,請參閱 CLI 指南和使用者指南。