02-VXLAN IP網關配置
本章節下載: 02-VXLAN IP網關配置 (498.80 KB)
VXLAN可以為分散的物理站點提供二層互聯。如果要為VXLAN站點內的虛擬機提供三層業務,則需要在網絡中部署VXLAN IP網關,以便站點內的虛擬機通過VXLAN IP網關與外界網絡或其他VXLAN網絡內的虛擬機進行三層通信。VXLAN IP網關既可以部署在獨立的物理設備上,也可以部署在VTEP設備上。VXLAN IP網關部署在VTEP設備上時,又分為集中式VXLAN IP網關和分布式VXLAN IP網關兩種方式。
如圖1-1所示,VXLAN IP網關部署在獨立的物理設備上時,VXLAN IP網關作為物理站點接入VTEP,VXLAN業務對於網關設備透明。虛擬機通過VXLAN IP網關與三層網絡中的節點通信時,虛擬機將三層報文封裝成二層數據幀發送給VXLAN IP網關。VTEP對該數據幀進行VXLAN封裝,並在IP核心網絡上將其轉發給遠端VTEP(連接VXLAN IP網關的VTEP)。遠端VTEP對VXLAN報文進行解封裝,並將原始的二層數據幀轉發給VXLAN IP網關。VXLAN IP網關去掉鏈路層封裝後,對報文進行三層轉發。
圖1-1 獨立的VXLAN IP網關示意圖
如圖1-2所示,集中式VXLAN IP網關進行二層VXLAN業務終結的同時,還對內層封裝的IP報文進行三層轉發處理。與獨立的VXLAN IP網關相比,該方式除了能夠節省設備資源外,VXLAN IP網關功能由VXLAN對應的三層虛接口(VSI虛接口)承擔,三層業務的部署和控製也更加靈活和方便。
圖1-2 集中式VXLAN IP網關示意圖
如圖1-3所示,以地址為10.1.1.11的虛擬機為例,虛擬機與外界網絡進行三層通信的過程為:
(1) 虛擬機(10.1.1.11)跨網段進行三層通信時,先廣播發送ARP請求消息,解析VXLAN IP網關(10.1.1.1)的MAC地址。
(2) VTEP 1收到ARP請求消息後,添加VXLAN封裝並發送給所有的遠端VTEP。
(3) VTEP 3解封裝VXLAN報文後,發現ARP請求的目的IP為VXLAN對應的本地網關IP地址,即與VXLAN關聯的VSI虛接口的IP地址,則學習10.1.1.11的ARP信息,並向虛擬機回應ARP應答消息。
(4) VTEP 1收到ARP應答消息後,將該消息轉發給虛擬機。
(5) 虛擬機獲取到網關的MAC地址後,為三層報文添加網關的MAC地址,通過VXLAN網絡將二層數據幀發送給VTEP 3。
(6) VTEP 3解封裝VXLAN報文,並去掉鏈路層頭後,對內層封裝的IP報文進行三層轉發,將其發送給最終的目的節點。
(7) 目的節點回複的報文到達網關後,網關根據已經學習到的ARP表項,為報文封裝鏈路層頭,並通過VXLAN網絡將其發送給虛擬機。
圖1-3 集中式VXLAN IP網關的三層通信過程
屬於不同VXLAN網絡的虛擬機之間的通信過程與上述過程類似,不同之處在於一個VXLAN網絡的集中式網關需要將報文轉發給另一個VXLAN網絡的集中式網關,再由該集中式網關將報文轉發給本VXLAN內對應的虛擬機。
采用集中式VXLAN IP網關方案時,不同VXLAN之間的流量以及VXLAN訪問外界網絡的流量全部由集中式VXLAN IP網關處理,網關壓力較大,並加劇了網絡帶寬資源的消耗。如圖1-4所示,在分布式VXLAN IP網關方案中,每台VTEP設備都可以作為VXLAN IP網關,對本地站點的流量進行三層轉發,很好地緩解了網關的壓力。
圖1-4 分布式VXLAN IP網關示意圖
如圖1-5所示,在分布式VXLAN IP網關組網中,所有的分布式VXLAN IP網關(GW)上都需要創建VSI虛接口,並為不同GW上的相同VSI虛接口配置相同的IP地址,作為VXLAN內虛擬機的網關地址。邊界網關(Border)上也需要創建VSI虛接口,並配置IP地址。在分布式VXLAN IP網關上還需要開啟以下功能中的一種:
· ARP泛洪抑製功能:開啟本功能後,二層流量查找MAC地址表進行轉發,三層流量查找ARP表項進行轉發。
· 本地代理ARP功能:開啟本功能後,所有流量都通過查找ARP表項進行三層轉發。下文均以此功能為例,介紹分布式VXLAN IP網關中的通信過程。
網關可以通過多種方式生成ARP表項,下文以根據ARP協議動態學習表項來介紹分布式VXLAN IP網關中的通信過程。
圖1-5 分布式VXLAN IP網關部署示意圖
如圖1-5所示,以VM 1訪問VM 4為例,相同VXLAN內不同站點的虛擬機的通信過程為:
(1) VM 1廣播發送ARP請求消息,獲取VM 4的MAC地址。
(2) GW 1收到ARP請求消息後,學習VM 1的ARP信息,並代理應答該ARP請求,即:向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。
(3) VM 1學習到VM 4的MAC地址為GW 1上VSI虛接口10的MAC地址。
(4) GW 1將接收到的ARP請求消息中的源MAC地址修改為VSI虛接口10的MAC地址,對該消息進行VXLAN封裝後,將其發送給VXLAN內的所有遠端VTEP。
(5) GW 2對VXLAN報文進行解封裝後,學習VM 1的ARP信息(IP為10.1.1.11、MAC為GW 1上VSI虛接口10的MAC、出接口為接收該VXLAN報文的Tunnel接口),並將ARP請求消息中的源MAC修改為本地VSI虛接口10的MAC地址,在VXLAN 10的本地站點內進行廣播。
(6) VM 4收到ARP請求後,學習VM 1的ARP信息(IP為10.1.1.11、MAC為GW 2上VSI虛接口10的MAC),並發送ARP應答消息給本地網關GW 2。
(7) GW 2從VM 4收到ARP應答消息後,學習VM 4的ARP信息,將ARP應答消息中的源MAC修改為本地VSI虛接口10的MAC地址,並根據已經學習到的ARP表項,為ARP應答消息添加VXLAN封裝後發送給GW 1。
(8) GW 1對VXLAN報文進行解封裝後,根據收到的ARP應答消息學習VM 4的ARP信息(IP為10.1.1.12、MAC為GW 2上VSI虛接口10的MAC、出接口為接收該VXLAN報文的Tunnel接口)。
(9) 通過上述步驟完成ARP信息的學習後,VM 1發送給VM 4的報文,根據已經學習到的ARP信息進行轉發:首先發送給GW 1;GW 1對其進行VXLAN封裝後,將其發送給GW 2;GW 2解封裝後,將其發送給VM 4。
如圖1-5所示,以VM 1訪問VM 5為例,不同VXLAN的虛擬機的通信過程為:
(1) VM 1廣播發送ARP請求消息,獲取網關10.1.1.1的MAC地址。
(2) GW 1收到ARP請求消息後,學習VM 1的ARP信息,並向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。
(3) VM 1將訪問VM 5的報文發送給GW 1。
(4) GW 1在所有VXLAN內向本地站點和遠端站點廣播發送ARP請求,獲取VM 5的MAC地址。ARP請求消息中的源IP地址為20.1.1.1、源MAC地址為本地VSI虛接口20的MAC地址。
(5) GW 2從VXLAN隧道上接收到VXLAN報文,對其進行解封裝後,學習GW 1的ARP信息(IP為20.1.1.1、MAC為GW 1上VSI虛接口20的MAC、出接口為接收該VXLAN報文的Tunnel接口),並將ARP請求消息中的源MAC修改為本地VSI虛接口20的MAC地址,在VXLAN 20的本地站點內廣播該ARP請求消息。
(6) VM 5收到ARP請求後,學習GW 2的ARP信息(IP為20.1.1.1、MAC為GW 2上VSI虛接口20的MAC),並發送ARP應答消息給本地網關GW 2。
(7) GW 2從VM 5收到ARP應答消息後,學習VM 5的ARP信息,將ARP應答消息中的源MAC修改為本地VSI虛接口20的MAC地址,並根據已經學習到的ARP表項,為ARP應答消息添加VXLAN封裝後發送給GW 1。
(8) GW 1對VXLAN報文進行解封裝後,根據收到的ARP應答消息學習VM 5的ARP信息(IP為20.1.1.12、MAC為GW 2上VSI虛接口20的MAC、出接口為接收該VXLAN報文的Tunnel接口)。
(9) 通過上述步驟完成ARP信息的學習後,VM 1發送給VM 5的報文,根據已經學習到的ARP信息進行轉發:首先發送給GW 1;GW 1對其進行VXLAN封裝後,將其發送給GW 2;GW 2解封裝後,將其發送給VM 5。
虛擬機要想與外部網絡進行三層通信,需要在接入虛擬機的本地分布式VXLAN IP網關上指定流量的下一跳為Border,可以通過如下方式來實現:
· 在本地分布式VXLAN IP網關上配置靜態路由,指定路由下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。
· 在本地分布式VXLAN IP網關上配置策略路由,設置報文的下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。
如圖1-5所示,以VM 1訪問外部網絡內的主機50.1.1.1為例,虛擬機訪問外部網絡的三層通信過程為:
(1) VM 1廣播發送ARP請求消息,獲取網關10.1.1.1的MAC地址。
(2) GW 1收到ARP請求消息後,學習VM 1的ARP信息,並向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。
(3) VM 1將訪問外部網絡的報文發送給GW 1。
(4) GW 1接收到報文後,根據策略路由判斷報文的下一跳地址為10.1.1.2。GW 1在VXLAN 10內向本地站點和遠端站點廣播發送ARP請求消息,獲取10.1.1.2對應的MAC地址。
(5) Border對VXLAN報文進行解封裝,學習GW 1的ARP信息,並通過VXLAN隧道回複ARP應答消息。
(6) GW 1對VXLAN報文進行解封裝,並獲取到10.1.1.2的ARP信息。
(7) GW 1根據獲取到的信息為VM 1發送的報文封裝鏈路層地址(10.1.1.2對應的MAC地址),並通過VXLAN隧道將報文發送給Border。
(8) Border對接收到的報文進行解封裝後,對報文進行三層轉發。
VXLAN IP網關配置任務如下:
(1) 配置VXLAN IP網關
請根據實際組網,選擇以下一項任務進行配置:
(2) (可選)管理ARP表項
(3) (可選)配置VSI虛接口
配置集中式VXLAN IP網關和分布式VXLAN IP網關設備前,需要完成以下配置任務:
· 配置VXLAN隧道工作在三層轉發模式。
· 創建VSI和VXLAN。
· 配置VXLAN隧道,並將VXLAN與VXLAN隧道關聯。
上述配置的詳細介紹,請參見“VXLAN配置指導”中的“配置VXLAN”。
在集中式VXLAN IP網關組網中,請不要執行local-proxy-arp enable命令開啟本地代理ARP功能。
(1) 進入係統視圖。
system-view
(2) 創建VSI虛接口,並進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
(3) 配置VSI虛接口的IP地址。
ip address ip-address { mask | mask-length }
缺省情況下,未配置VSI虛接口的IP地址。
(4) 退回係統視圖。
quit
(5) 進入VXLAN所在VSI視圖。
vsi vsi-name
(6) 為VSI指定網關接口。
gateway vsi-interface vsi-interface-id
缺省情況下,未指定VSI的網關接口。
為了節省分布式VXLAN IP網關設備上的三層接口資源,在網關設備上多個VXLAN可以共用一個VSI虛接口,為VSI虛接口配置一個主IPv4地址和多個從IPv4地址,分別作為不同VXLAN內虛擬機的網關地址。
多個VXLAN共用一個VSI虛接口時,網關設備無法判斷從VSI虛接口接收到的報文屬於哪個VXLAN。為了解決該問題,需要在VSI視圖下通過本命令指定VSI所屬的子網網段,通過子網網段判斷報文所屬的VSI,並在該VSI內轉發報文,從而限製廣播報文範圍,有效地節省帶寬資源。
(1) 進入係統視圖。
system-view
(2) 進入VXLAN所在VSI視圖。
vsi vsi-name
(3) 配置當前VSI所屬的子網網段。
gateway subnet ipv4-address wildcard-mask
缺省情況下,未指定VSI所屬的子網網段。
如果虛擬機要想與外部網絡進行三層通信,除本配置外,還需要在接入虛擬機的本地分布式VXLAN IP網關上配置靜態路由或策略路由:
· 配置靜態路由:指定路由的下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。
· 配置策略路由:通過apply default-next-hop命令設置報文的缺省下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。策略路由的配置方法,請參見“三層技術-IP路由配置指導”中的“策略路由”。
在分布式VXLAN IP網關設備上,如果開啟了ARP泛洪抑製功能,並在VSI虛接口上開啟了本地代理ARP功能,則隻有本地代理ARP功能生效。建議不要在分布式VXLAN IP網關設備上同時開啟這兩個功能。有關ARP泛洪抑製功能的詳細介紹請參見“VXLAN配置指導”中的“VXLAN概述”。
分布式VXLAN IP網關連接IPv4站點網絡時,所有網關上都需要為相同VSI虛接口配置相同的MAC地址。
(1) 進入係統視圖。
system-view
(2) 創建VSI虛接口,並進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
(3) 配置VSI虛接口的IP地址。
ip address ip-address { mask | mask-length } [ sub ]
缺省情況下,未配置VSI虛接口的IP地址。
(4) 配置VSI虛接口為分布式網關接口。
distributed-gateway local
缺省情況下,VSI虛接口不是分布式本地網關接口。
(5) 開啟本地代理ARP功能。
local-proxy-arp enable [ ip-range startIP to endIP ]
缺省情況下,本地代理ARP功能處於關閉狀態。
本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“代理ARP”。
(6) 開啟VSI虛接口。
undo shutdown
缺省情況下,VSI虛接口處於開啟狀態。
(7) 退回係統視圖。
quit
(8) 進入VXLAN所在VSI視圖。
vsi vsi-name
(9) 為VSI指定網關接口。
gateway vsi-interface vsi-interface-id
缺省情況下,未指定VSI的網關接口。
分布式VXLAN IP網關上開啟本地代理ARP功能時,本地網關不會將目標IP地址為分布式網關VSI虛接口的ARP報文轉發給其他網關,隻有本地網關能夠學習到ARP報文發送者的ARP表項。如果希望所有網關都能學習到該ARP表項,需要開啟分布式網關的動態ARP表項同步功能。
(1) 進入係統視圖。
system-view
(2) 開啟分布式網關的動態ARP表項同步功能。
arp distributed-gateway dynamic-entry synchronize
缺省情況下,分布式網關的動態ARP表項同步功能處於關閉狀態。
為了節省分布式VXLAN IP網關設備上的三層接口資源,在網關設備上多個VXLAN可以共用一個VSI虛接口,為VSI虛接口配置一個主IPv4地址和多個從IPv4地址,分別作為不同VXLAN內虛擬機的網關地址。
多個VXLAN共用一個VSI虛接口時,網關設備無法判斷從VSI虛接口接收到的報文屬於哪個VXLAN。為了解決該問題,需要在VSI視圖下通過本命令指定VSI所屬的子網網段,通過子網網段判斷報文所屬的VSI,並在該VSI內轉發報文,從而限製廣播報文範圍,有效地節省帶寬資源。
(1) 進入係統視圖。
system-view
(2) 進入VXLAN所在VSI視圖。
vsi vsi-name
(3) 配置當前VSI所屬的子網網段。
gateway subnet ipv4-address wildcard-mask
缺省情況下,未指定VSI所屬的子網網段。
VXLAN IP網關既可以動態學習ARP表項,也可以通過本配置靜態創建ARP表項。
(1) 進入係統視圖。
system-view
(2) 靜態配置本地ARP表項。
arp static ip-address mac-address vsi-interface vsi-interface-id interface-type interface-number service-instance instance-id vsi vsi-name [ vpn-instance vpn-instance-name ]
本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“ARP”。
(3) 靜態配置遠端ARP表項。
arp static ip-address mac-address vsi-interface vsi-interface-id tunnel number vsi vsi-name [ vpn-instance vpn-instance-name ]
本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“ARP”。
缺省情況下,設備從VXLAN隧道接收到報文後可以自動學習遠端虛擬機的ARP信息,即遠端ARP信息。在SDN控製器組網下,當控製器和設備間進行表項同步時,可以通過本配置暫時關閉遠端ARP自動學習功能,以節省占用的設備資源。同步完成後,再開啟遠端ARP自動學習功能。
建議用戶隻在控製器和設備間同步表項的情況下執行本配置。
(1) 進入係統視圖。
system-view
(2) 關閉遠端ARP自動學習功能。
vxlan tunnel arp-learning disable
缺省情況下,遠端ARP自動學習功能處於開啟狀態。
有關bandwidth和description命令的詳細介紹,請參見“接口管理命令參考”中的“接口公共命令”。
(1) 進入係統視圖。
system-view
(2) 進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
(3) 配置VSI虛接口的MAC地址。
mac-address mac-address
缺省情況下,VSI虛接口的MAC地址為VLAN 4094接口的MAC地址。
(4) 配置接口的描述信息。
description text
缺省情況下,接口的描述信息為“接口名 Interface”,例如:Vsi-interface100 Interface。
(5) 配置接口的期望帶寬。
bandwidth bandwidth-value
缺省情況下,接口的期望帶寬=接口的波特率÷1000(kbps)。
期望帶寬供業務模塊使用,不會對接口實際帶寬造成影響。
接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行本配置前,完全了解其對網絡產生的影響。
您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。有關default命令的詳細介紹,請參見“接口管理命令參考”中的“接口公共命令”。
(1) 進入係統視圖。
system-view
(2) 進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
(3) 恢複接口的缺省配置。
default
可在任意視圖下執行以下命令,顯示VSI虛接口信息。
display interface [ vsi-interface [ vsi-interface-id ] ] [ brief [ description | down ] ]
請在用戶視圖下執行以下命令,清除VSI虛接口的統計信息。
reset counters interface [ vsi-interface [ vsi-interface-id ] ]
本命令的詳細介紹,請參見“接口管理命令參考”中的“接口公共命令”。
Switch A、Switch C為與服務器連接的VTEP設備,Switch B為與廣域網連接的集中式VXLAN IP網關設備,Switch E為廣域網內的三層交換機。虛擬機VM 1、VM 2同屬於VXLAN 10,通過VXLAN實現不同站點間的二層互聯,並通過VXLAN IP網關與廣域網三層互聯。
具體需求為:
· 不同VTEP之間手工建立VXLAN隧道。
· 手工關聯VXLAN和VXLAN隧道。
· 通過源MAC地址動態學習遠端MAC地址表項。
· 站點之間的泛洪流量采用頭端複製的方式轉發。
圖1-6 集中式VXLAN IP網關配置組網圖
· 缺省情況下,本設備的接口處於ADM(Administratively Down)狀態,請根據實際需要在對應接口視圖下使用undo shutdown命令開啟接口。
· 本舉例中以太網服務實例所在的物理接口需要工作在二層模式。缺省情況下,本設備的物理接口處於三層模式,請根據實際需要在對應接口視圖下使用port link-mode命令切換接口的工作模式。
(1) 配置IP地址和單播路由協議
# 在VM 1和VM 2上指定網關地址為10.1.1.1。(具體配置過程略)
# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達;配置Switch B和Switch E上發布10.1.1.0/24和20.1.1.0/24網段的路由。(具體配置過程略)
(2) 配置Switch A
# 開啟L2VPN能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置VXLAN隧道工作在二層轉發模式。
[SwitchA] undo vxlan ip-forwarding
# 創建VSI實例vpna和VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan-10] quit
[SwitchA-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作為隧道的源端地址。
[SwitchA] interface loopback 0
[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255
[SwitchA-Loopback0] quit
# 在Switch A和Switch B之間建立VXLAN隧道:
¡ 創建模式為VXLAN的隧道接口Tunnel1。
¡ 指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。
¡ 指定隧道的目的端地址為Switch B上接口Loopback0的地址2.2.2.2。
[SwitchA] interface tunnel 1 mode vxlan
[SwitchA-Tunnel1] source 1.1.1.1
[SwitchA-Tunnel1] destination 2.2.2.2
[SwitchA-Tunnel1] quit
# 在Switch A和Switch C之間建立VXLAN隧道。
[SwitchA] interface tunnel 2 mode vxlan
[SwitchA-Tunnel2] source 1.1.1.1
[SwitchA-Tunnel2] destination 3.3.3.3
[SwitchA-Tunnel2] quit
# 配置Tunnel1和Tunnel2與VXLAN 10關聯。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan-10] tunnel 1
[SwitchA-vsi-vpna-vxlan-10] tunnel 2
[SwitchA-vsi-vpna-vxlan-10] quit
[SwitchA-vsi-vpna] quit
# 在接入服務器的接口HundredGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] service-instance 1000
[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太網服務實例1000與VSI實例vpna關聯。
[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-HundredGigE1/0/1-srv1000] quit
[SwitchA-HundredGigE1/0/1] quit
(3) 配置Switch B
# 開啟L2VPN能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 創建VSI實例vpna和VXLAN 10。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan-10] quit
[SwitchB-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作為隧道的源端地址。
[SwitchB] interface loopback 0
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchB-Loopback0] quit
# 在Switch A和Switch B之間建立VXLAN隧道。
[SwitchB] interface tunnel 2 mode vxlan
[SwitchB-Tunnel2] source 2.2.2.2
[SwitchB-Tunnel2] destination 1.1.1.1
[SwitchB-Tunnel2] quit
# 在Switch B和Switch C之間建立VXLAN隧道。
[SwitchB] interface tunnel 3 mode vxlan
[SwitchB-Tunnel3] source 2.2.2.2
[SwitchB-Tunnel3] destination 3.3.3.3
[SwitchB-Tunnel3] quit
# 配置Tunnel2和Tunnel3與VXLAN 10關聯。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan-10] tunnel 2
[SwitchB-vsi-vpna-vxlan-10] tunnel 3
[SwitchB-vsi-vpna-vxlan-10] quit
[SwitchB-vsi-vpna] quit
# 創建VSI虛接口VSI-interface1,並為其配置IP地址,該IP地址作為VXLAN 10內虛擬機的網關地址。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] gateway vsi-interface 1
[SwitchB-vsi-vpna] quit
(4) 配置Switch C
# 開啟L2VPN能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置VXLAN隧道工作在二層轉發模式。
[SwitchC] undo vxlan ip-forwarding
# 創建VSI實例vpna和VXLAN 10。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan-10] quit
[SwitchC-vsi-vpna] quit
# 配置接口Loopback0的IP地址,作為隧道的源端地址。
[SwitchC] interface loopback 0
[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255
[SwitchC-Loopback0] quit
# 在Switch A和Switch C之間建立VXLAN隧道。
[SwitchC] interface tunnel 1 mode vxlan
[SwitchC-Tunnel1] source 3.3.3.3
[SwitchC-Tunnel1] destination 1.1.1.1
[SwitchC-Tunnel1] quit
# 在Switch B和Switch C之間建立VXLAN隧道。
[SwitchC] interface tunnel 3 mode vxlan
[SwitchC-Tunnel3] source 3.3.3.3
[SwitchC-Tunnel3] destination 2.2.2.2
[SwitchC-Tunnel3] quit
# 配置Tunnel1和Tunnel3與VXLAN 10關聯。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan-10] tunnel 1
[SwitchC-vsi-vpna-vxlan-10] tunnel 3
[SwitchC-vsi-vpna-vxlan-10] quit
[SwitchC-vsi-vpna] quit
# 在接入服務器的接口HundredGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。
[SwitchC] interface hundredgige 1/0/1
[SwitchC-HundredGigE1/0/1] service-instance 1000
[SwitchC-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太網服務實例1000與VSI實例vpna關聯。
[SwitchC-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchC-HundredGigE1/0/1-srv1000] quit
[SwitchC-HundredGigE1/0/1] quit
(1) 驗證VXLAN IP網關設備Switch B
# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。
[SwitchB] display interface tunnel 2
Tunnel2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Switch B上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。
[SwitchB] display interface vsi-interface 1
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1444
Internet address: 10.1.1.1/24 (primary)
IP packet frame type: Ethernet II, hardware address: 0011-2200-0102
IPv6 packet frame type: Ethernet II, hardware address: 0011-2200-0102
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Switch B上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。
[SwitchB] display l2vpn vsi verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : -
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : -
MAC Table Limit : -
MAC Learning rate : -
Drop Unknown : -
Flooding : Enabled
Statistics : Disabled
Gateway interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel2 0x5000002 Up Manual Disabled
Tunnel3 0x5000003 Up Manual Disabled
# 查看Switch B上VSI的ARP表項信息,可以看到已學習到了虛擬機的ARP信息。
[SwitchB] display arp
Type: S-Static D-Dynamic O-Openflow R-Rule I-Invalid
IP address MAC address VLAN/VSI name Interface Aging Type
20.1.1.5 000c-29c1-5e46 -- Vlan20 19 D
10.1.1.11 0000-1234-0001 vpna Tunnel2 20 D
10.1.1.12 0000-1234-0002 vpna Tunnel3 19 D
# 查看Switch B上FIB表項信息,可以看到已學習到了虛擬機的轉發表項信息。
[SwitchB] display fib 10.1.1.11
Destination count: 1 FIB entry count: 1
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
10.1.1.11/32 10.1.1.11 UH Vsi1 Null
(2) 驗證主機和廣域網互訪
虛擬機VM 1、VM 2之間可以互訪,VM 1、VM 2和Switch E上接口Vlan-interface20的地址20.1.1.5之間可以互訪。
Switch A、Switch C為分布式VXLAN IP網關設備,Switch B為與廣域網連接的邊界網關設備,Switch E為廣域網內的三層交換機。虛擬機VM 1屬於VXLAN 10,VM 2屬於VXLAN 20,VM 3屬於VXLAN 30。通過分布式VXLAN IP網關實現不同VXLAN網絡的三層互聯,並通過邊界網關實現與廣域網的三層互聯。
具體需求為:
· 不同VTEP之間手工建立VXLAN隧道。
· 手工關聯VXLAN和VXLAN隧道。
· 站點之間的泛洪流量采用頭端複製的方式轉發。
· VM 1、VM 2、VM 3之間可以互訪,且VM 1、VM 2和VM 3都可以訪問外部網絡。
圖1-7 分布式VXLAN IP網關連接IPv4網絡配置組網圖
· 缺省情況下,本設備的接口處於ADM(Administratively Down)狀態,請根據實際需要在對應接口視圖下使用undo shutdown命令開啟接口。
· 本舉例中以太網服務實例所在的物理接口需要工作在二層模式。缺省情況下,本設備的物理接口處於三層模式,請根據實際需要在對應接口視圖下使用port link-mode命令切換接口的工作模式。
(1) 配置IP地址和單播路由協議
# 在VM 1、VM 2和VM 3上分別指定網關地址為10.1.1.1、10.1.2.1、20.1.1.1。(具體配置過程略)
# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達;配置Switch B和Switch E發布10.1.1.0/24、10.1.2.0/24、20.1.1.0/24和25.1.1.0/24網段的路由。(具體配置過程略)
(2) 配置Switch A
# 開啟L2VPN能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 創建VSI實例vpna和VXLAN 10。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan-10] quit
[SwitchA-vsi-vpna] quit
# 創建VSI實例vpnb和VXLAN 20。
[SwitchA] vsi vpnb
[SwitchA-vsi-vpnb] vxlan 20
[SwitchA-vsi-vpnb-vxlan-20] quit
[SwitchA-vsi-vpnb] quit
# 創建VSI實例vpnc和VXLAN 30。
[SwitchA] vsi vpnc
[SwitchA-vsi-vpnc] vxlan 30
[SwitchA-vsi-vpnc-vxlan-30] quit
[SwitchA-vsi-vpnc] quit
# 配置接口Loopback0的IP地址,作為隧道的源端地址。
[SwitchA] interface loopback 0
[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255
[SwitchA-Loopback0] quit
# 在Switch A和Switch B之間建立VXLAN隧道:
¡ 創建模式為VXLAN的隧道接口Tunnel1。
¡ 指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。
¡ 指定隧道的目的端地址為Switch B上接口Loopback0的地址2.2.2.2。
[SwitchA] interface tunnel 1 mode vxlan
[SwitchA-Tunnel1] source 1.1.1.1
[SwitchA-Tunnel1] destination 2.2.2.2
[SwitchA-Tunnel1] quit
# 在Switch A和Switch C之間建立VXLAN隧道。
[SwitchA] interface tunnel 2 mode vxlan
[SwitchA-Tunnel2] source 1.1.1.1
[SwitchA-Tunnel2] destination 3.3.3.3
[SwitchA-Tunnel2] quit
# 配置Tunnel1和Tunnel2與VXLAN 10關聯。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] vxlan 10
[SwitchA-vsi-vpna-vxlan-10] tunnel 1
[SwitchA-vsi-vpna-vxlan-10] tunnel 2
[SwitchA-vsi-vpna-vxlan-10] quit
[SwitchA-vsi-vpna] quit
# 配置Tunnel1和Tunnel2與VXLAN 20關聯。
[SwitchA] vsi vpnb
[SwitchA-vsi-vpnb] vxlan 20
[SwitchA-vsi-vpnb-vxlan-20] tunnel 1
[SwitchA-vsi-vpnb-vxlan-20] tunnel 2
[SwitchA-vsi-vpnb-vxlan-20] quit
[SwitchA-vsi-vpnb] quit
# 配置Tunnel2與VXLAN 30關聯。
[SwitchA] vsi vpnc
[SwitchA-vsi-vpnc] vxlan 30
[SwitchA-vsi-vpnc-vxlan-30] tunnel 2
[SwitchA-vsi-vpnc-vxlan-30] quit
[SwitchA-vsi-vpnc] quit
# 在接入VM 1的接口HundredGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。
[SwitchA] interface hundredgige 1/0/1
[SwitchA-HundredGigE1/0/1] service-instance 1000
[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 2
# 配置以太網服務實例1000與VSI實例vpna關聯。
[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna
[SwitchA-HundredGigE1/0/1-srv1000] quit
[SwitchA-HundredGigE1/0/1] quit
# 在接入VM 2的接口HundredGigE1/0/3上創建以太網服務實例1000,該實例用來匹配VLAN 3的數據幀。
[SwitchA] interface hundredgige 1/0/3
[SwitchA-HundredGigE1/0/3] service-instance 1000
[SwitchA-HundredGigE1/0/3-srv1000] encapsulation s-vid 3
# 配置以太網服務實例1000與VSI實例vpnb關聯。
[SwitchA-HundredGigE1/0/3-srv1000] xconnect vsi vpnb
[SwitchA-HundredGigE1/0/3-srv1000] quit
[SwitchA-HundredGigE1/0/3] quit
# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。
[SwitchA] interface vsi-interface 1
[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchA-Vsi-interface1] mac-address 1-1-1
[SwitchA-Vsi-interface1] distributed-gateway local
[SwitchA-Vsi-interface1] local-proxy-arp enable
[SwitchA-Vsi-interface1] quit
# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。
[SwitchA] interface vsi-interface 2
[SwitchA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[SwitchA-Vsi-interface2] mac-address 2-2-2
[SwitchA-Vsi-interface2] distributed-gateway local
[SwitchA-Vsi-interface2] local-proxy-arp enable
[SwitchA-Vsi-interface2] quit
# 開啟分布式網關的動態ARP表項同步功能。
[SwitchA] arp distributed-gateway dynamic-entry synchronize
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為10.1.1.0/24。
[SwitchA] vsi vpna
[SwitchA-vsi-vpna] gateway vsi-interface 1
[SwitchA-vsi-vpna] gateway subnet 10.1.1.0 0.0.0.255
[SwitchA-vsi-vpna] quit
# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。
[SwitchA] vsi vpnb
[SwitchA-vsi-vpnb] gateway vsi-interface 2
[SwitchA-vsi-vpnb] quit
# 為VSI虛接口VSI-interface1配置從IP地址,該從IP地址作為VXLAN 30內虛擬機的網關地址。
[SwitchA] interface vsi-interface 1
[SwitchA-Vsi-interface1] ip address 20.1.1.1 255.255.255.0 sub
[SwitchA-Vsi-interface1] quit
# 配置VXLAN 30所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為20.1.1.0/24。
[SwitchA] vsi vpnc
[SwitchA-vsi-vpnc] gateway vsi-interface 1
[SwitchA-vsi-vpnc] gateway subnet 20.1.1.0 0.0.0.255
[SwitchA-vsi-vpnc] quit
# 配置策略路由,指定IPv4報文如果未找到匹配的路由表項,則設置報文的下一跳為Switch B上接口VSI-interface1的IP地址10.1.1.2。
[SwitchA] acl advanced 3000
[SwitchA-acl-ipv4-adv-3000] rule 0 permit ip
[SwitchA-acl-ipv4-adv-3000] quit
[SwitchA] policy-based-route vxlan10 permit node 5
[SwitchA-pbr-vxlan10-5] if-match acl 3000
[SwitchA-pbr-vxlan10-5] apply default-next-hop 10.1.1.2
[SwitchA-pbr-vxlan10-5] quit
# 配置策略路由,指定IPv4報文如果未找到匹配的路由表項,則設置報文的下一跳為Switch B上接口VSI-interface2的IP地址10.1.2.2。
[SwitchA] policy-based-route vxlan20 permit node 5
[SwitchA-pbr-vxlan20-5] if-match acl 3000
[SwitchA-pbr-vxlan20-5] apply default-next-hop 10.1.2.2
[SwitchA-pbr-vxlan20-5] quit
# 在VSI虛接口VSI-interface1和VSI-interface2上應用策略路由。
[SwitchA] interface vsi-interface 1
[SwitchA-Vsi-interface1] ip policy-based-route vxlan10
[SwitchA-Vsi-interface1] quit
[SwitchA] interface vsi-interface 2
[SwitchA-Vsi-interface2] ip policy-based-route vxlan20
[SwitchA-Vsi-interface2] quit
(3) 配置Switch B
# 開啟L2VPN能力。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 創建VSI實例vpna和VXLAN 10。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan-10] quit
[SwitchB-vsi-vpna] quit
# 創建VSI實例vpnb和VXLAN 20。
[SwitchB] vsi vpnb
[SwitchB-vsi-vpnb] vxlan 20
[SwitchB-vsi-vpnb-vxlan-20] quit
[SwitchB-vsi-vpnb] quit
# 創建VSI實例vpnc和VXLAN 30。
[SwitchB] vsi vpnc
[SwitchB-vsi-vpnc] vxlan 30
[SwitchB-vsi-vpnc-vxlan-30] quit
[SwitchB-vsi-vpnc] quit
# 配置接口Loopback0的IP地址,作為隧道的源端地址。
[SwitchB] interface loopback 0
[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255
[SwitchB-Loopback0] quit
# 在Switch A和Switch B之間建立VXLAN隧道。
[SwitchB] interface tunnel 2 mode vxlan
[SwitchB-Tunnel2] source 2.2.2.2
[SwitchB-Tunnel2] destination 1.1.1.1
[SwitchB-Tunnel2] quit
# 在Switch B和Switch C之間建立VXLAN隧道。
[SwitchB] interface tunnel 3 mode vxlan
[SwitchB-Tunnel3] source 2.2.2.2
[SwitchB-Tunnel3] destination 3.3.3.3
[SwitchB-Tunnel3] quit
# 配置Tunnel2與VXLAN 10關聯。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] vxlan 10
[SwitchB-vsi-vpna-vxlan-10] tunnel 2
[SwitchB-vsi-vpna-vxlan-10] quit
[SwitchB-vsi-vpna] quit
# 配置Tunnel2與VXLAN 20關聯。
[SwitchB] vsi vpnb
[SwitchB-vsi-vpnb] vxlan 20
[SwitchB-vsi-vpnb-vxlan-20] tunnel 2
[SwitchB-vsi-vpnb-vxlan-20] quit
[SwitchB-vsi-vpnb] quit
# 配置Tunnel3與VXLAN 30關聯。
[SwitchB] vsi vpnc
[SwitchB-vsi-vpnc] vxlan 30
[SwitchB-vsi-vpnc-vxlan-30] tunnel 3
[SwitchB-vsi-vpnc-vxlan-30] quit
[SwitchB-vsi-vpnc] quit
# 創建VSI虛接口VSI-interface1,並為其配置IP地址。
[SwitchB] interface vsi-interface 1
[SwitchB-Vsi-interface1] ip address 10.1.1.2 255.255.255.0
[SwitchB-Vsi-interface1] quit
# 創建VSI虛接口VSI-interface2,並為其配置IP地址。
[SwitchB] interface vsi-interface 2
[SwitchB-Vsi-interface2] ip address 10.1.2.2 255.255.255.0
[SwitchB-Vsi-interface2] quit
# 創建VSI虛接口VSI-interface3,並為其配置IP地址。
[SwitchB] interface vsi-interface 3
[SwitchB-Vsi-interface3] ip address 20.1.1.2 255.255.255.0
[SwitchB-Vsi-interface3] quit
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。
[SwitchB] vsi vpna
[SwitchB-vsi-vpna] gateway vsi-interface 1
[SwitchB-vsi-vpna] quit
# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。
[SwitchB] vsi vpnb
[SwitchB-vsi-vpnb] gateway vsi-interface 2
[SwitchB-vsi-vpnb] quit
# 配置VXLAN 30所在的VSI實例和接口VSI-interface3關聯。
[SwitchB] vsi vpnc
[SwitchB-vsi-vpnc] gateway vsi-interface 3
[SwitchB-vsi-vpnc] quit
(4) 配置Switch C
# 開啟L2VPN能力。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 創建VSI實例vpna和VXLAN 10。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan-10] quit
[SwitchC-vsi-vpna] quit
# 創建VSI實例vpnb和VXLAN 20。
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] vxlan 20
[SwitchC-vsi-vpnb-vxlan-20] quit
[SwitchC-vsi-vpnb] quit
# 創建VSI實例vpnc和VXLAN 30。
[SwitchC] vsi vpnc
[SwitchC-vsi-vpnc] vxlan 30
[SwitchC-vsi-vpnc-vxlan-30] quit
[SwitchC-vsi-vpnc] quit
# 配置接口Loopback0的IP地址,作為隧道的源端地址。
[SwitchC] interface loopback 0
[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255
[SwitchC-Loopback0] quit
# 在Switch A和Switch C之間建立VXLAN隧道。
[SwitchC] interface tunnel 1 mode vxlan
[SwitchC-Tunnel1] source 3.3.3.3
[SwitchC-Tunnel1] destination 1.1.1.1
[SwitchC-Tunnel1] quit
# 在Switch B和Switch C之間建立VXLAN隧道。
[SwitchC] interface tunnel 3 mode vxlan
[SwitchC-Tunnel3] source 3.3.3.3
[SwitchC-Tunnel3] destination 2.2.2.2
[SwitchC-Tunnel3] quit
# 配置Tunnel1與VXLAN 10關聯。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] vxlan 10
[SwitchC-vsi-vpna-vxlan-10] tunnel 1
[SwitchC-vsi-vpna-vxlan-10] quit
[SwitchC-vsi-vpna] quit
# 配置Tunnel1與VXLAN 20關聯。
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] vxlan 20
[SwitchC-vsi-vpnb-vxlan-20] tunnel 1
[SwitchC-vsi-vpnb-vxlan-20] quit
[SwitchC-vsi-vpnb] quit
# 配置Tunnel1和Tunnel3與VXLAN 30關聯。
[SwitchC] vsi vpnc
[SwitchC-vsi-vpnc] vxlan 30
[SwitchC-vsi-vpnc-vxlan-30] tunnel 1
[SwitchC-vsi-vpnc-vxlan-30] tunnel 3
[SwitchC-vsi-vpnc-vxlan-30] quit
[SwitchC-vsi-vpnc] quit
# 在接入VM 3的接口HundredGigE1/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 4的數據幀。
[SwitchC] interface hundredgige 1/0/1
[SwitchC-HundredGigE1/0/1] service-instance 1000
[SwitchC-HundredGigE1/0/1-srv1000] encapsulation s-vid 4
# 配置以太網服務實例1000與VSI實例vpnc關聯。
[SwitchC-HundredGigE1/0/1-srv1000] xconnect vsi vpnc
[SwitchC-HundredGigE1/0/1-srv1000] quit
[SwitchC-HundredGigE1/0/1] quit
# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。
[SwitchC] interface vsi-interface 1
[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchC-Vsi-interface1] mac-address 1-1-1
[SwitchC-Vsi-interface1] distributed-gateway local
[SwitchC-Vsi-interface1] local-proxy-arp enable
[SwitchC-Vsi-interface1] quit
# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。
[SwitchC] interface vsi-interface 2
[SwitchC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[SwitchC-Vsi-interface2] mac-address 2-2-2
[SwitchC-Vsi-interface2] distributed-gateway local
[SwitchC-Vsi-interface2] local-proxy-arp enable
[SwitchC-Vsi-interface2] quit
# 開啟分布式網關的動態ARP表項同步功能。
[SwitchC] arp distributed-gateway dynamic-entry synchronize
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為10.1.1.0/24。
[SwitchC] vsi vpna
[SwitchC-vsi-vpna] gateway vsi-interface 1
[SwitchC-vsi-vpna] gateway subnet 10.1.1.0 0.0.0.255
[SwitchC-vsi-vpna] quit
# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。
[SwitchC] vsi vpnb
[SwitchC-vsi-vpnb] gateway vsi-interface 2
[SwitchC-vsi-vpnb] quit
# 為VSI虛接口VSI-interface1配置從IP地址,該從IP地址作為VXLAN 30內虛擬機的網關地址。
[SwitchC] interface vsi-interface 1
[SwitchC-Vsi-interface1] ip address 20.1.1.1 255.255.255.0 sub
[SwitchC-Vsi-interface1] quit
# 配置VXLAN 30所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為20.1.1.0/24。
[SwitchC] vsi vpnc
[SwitchC-vsi-vpnc] gateway vsi-interface 1
[SwitchC-vsi-vpnc] gateway subnet 20.1.1.0 0.0.0.255
[SwitchC-vsi-vpnc] quit
# 配置策略路由,指定IPv4報文如果未找到匹配的路由表項,則設置報文的下一跳為Switch B上接口VSI-interface1的IP地址20.1.1.2。
[SwitchC] acl advanced 3000
[SwitchC-acl-ipv4-adv-3000] rule 0 permit ip
[SwitchC-acl-ipv4-adv-3000] quit
[SwitchC] policy-based-route vxlan permit node 5
[SwitchC-pbr-vxlan-5] if-match acl 3000
[SwitchC-pbr-vxlan-5] apply default-next-hop 20.1.1.2
[SwitchC-pbr-vxlan-5] quit
# 在VSI虛接口VSI-interface1上應用策略路由。
[SwitchC] interface vsi-interface1
[SwitchC-Vsi-interface1] ip policy-based-route vxlan
[SwitchC-Vsi-interface1] quit
(1) 驗證分布式VXLAN IP網關設備Switch A
# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。
[SwitchA] display interface tunnel 2
Tunnel2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 1.1.1.1, destination 3.3.3.3
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Switch A上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。
[SwitchA] display interface vsi-interface 1
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1444
Internet address: 10.1.1.1/24 (primary)
IP packet frame type: Ethernet II, hardware address: 0001-0001-0001
IPv6 packet frame type: Ethernet II, hardware address: 0001-0001-0001
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Switch A上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。
[SwitchA] display l2vpn vsi name vpna verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : -
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : -
MAC Table Limit : -
MAC Learning rate : -
Drop Unknown : -
Flooding : Enabled
Statistics : Disabled
Gateway Interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel1 0x5000001 Up Manual Disabled
Tunnel2 0x5000002 Up Manual Disabled
ACs:
AC Link ID State Type
HGE1/0/1 srv1000 0 Up Manual
# 查看Switch A上VSI的ARP表項信息,可以看到已學習到了虛擬機的ARP信息。
[SwitchA] display arp
Type: S-Static D-Dynamic O-Openflow R-Rule I-Invalid
IP address MAC address VLAN/VSI name Interface Aging Type
11.1.1.4 000c-29c1-5e46 11 Vlan11 19 D
10.1.1.2 3c8c-400d-867a vpna Tunnel1 20 D
10.1.1.11 0cda-41b5-cf09 vpna HGE1/0/1 20 D
10.1.2.2 3c8c-400d-867a vpnb Tunnel1 20 D
10.1.2.11 0cda-41b5-cf89 vpnb HGE1/0/3 20 D
20.1.1.12 0001-0001-0001 vpnc Tunnel2 19 D
(2) 驗證邊界網關設備Switch B
# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。
[SwitchB] display interface tunnel 2
Tunnel2
Current state: UP
Line protocol state: UP
Description: Tunnel2 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Switch B上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。
[SwitchB] display interface vsi-interface 1
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1444
Internet address: 10.1.1.2/24 (primary)
IP packet frame type: Ethernet II, hardware address: 0011-2200-0102
IPv6 packet frame type: Ethernet II, hardware address: 0011-2200-0102
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Switch B上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。
[SwitchB] display l2vpn vsi name vpna verbose
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : -
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : -
MAC Table Limit : -
MAC Learning rate : -
Drop Unknown : -
Flooding : Enabled
Statistics : Disabled
Gateway interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel1 0x5000001 Up Manual Disabled
Tunnel2 0x5000002 Up Manual Disabled
# 查看Switch B上VSI的ARP表項信息,可以看到已學習到了虛擬機的ARP信息。
[SwitchB] display arp
Type: S-Static D-Dynamic O-Openflow R-Rule I-Invalid
IP address MAC address VLAN/VSI name Interface Aging Type
12.1.1.4 0000-fc00-00ab 12 Vlan12 14 D
25.1.1.5 4431-9234-24bb 20 Vlan20 17 D
10.1.1.1 0001-0001-0001 vpna Tunnel2 17 D
10.1.1.11 0001-0001-0001 vpna Tunnel2 20 D
10.1.2.1 0002-0002-0002 vpnb Tunnel2 17 D
10.1.2.11 0002-0002-0002 vpnb Tunnel2 20 D
20.1.1.1 0001-0001-0001 vpnc Tunnel3 17 D
20.1.1.12 0001-0001-0001 vpnc Tunnel3 20 D
# 查看Switch B上FIB表項信息,可以看到已學習到了虛擬機的轉發表項信息。
[SwitchB] display fib 10.1.1.11
Destination count: 1 FIB entry count: 1
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
10.1.1.11/32 10.1.1.11 UH Vsi1 Null
[SwitchB] display fib 20.1.1.12
Destination count: 1 FIB entry count: 1
Flag:
U:Usable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
20.1.1.12/32 20.1.1.12 UH Vsi3 Null
(3) 驗證主機和廣域網互訪
虛擬機VM 1、VM 2、VM 3之間可以互訪;VM 1、VM 2和VM 3可以與Switch E上接口Vlan-interface20的地址25.1.1.5之間互訪。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!