1. 程式人生 > 其它 >華為VXLAN配置

華為VXLAN配置

一、網路架構圖

二、基於網路架構圖分析VXLAN

​ VXLAN的作用是什麼,他有點像GRE隧道。GRE隧道的作用可以幫助京某公司內部與淘某公司之間內網不同網段的私有IP進行通訊,其原理就是將源私有和目標私有IP封裝到出口閘道器IP的後面,如果中間跨域多個不同網段,其他裝置檢視資料包的時候只會檢視閘道器IP的源目,而不會再往後面拆開看私有IP的源目錄,所以可以順利通過路由到達目的閘道器,目的閘道器接收到後就會拆開資料包頭部,檢視閘道器IP源目和私有IP的源目,目的閘道器在根據私有源目將資料轉發到內部對應的主機。

​ GRE有一個缺點,那就是他不能將兩個不同網路的內部同網段IP進行轉發,因為在同網段的情況下,交換機會認為還是在內部網路,就會發送ARP報文。ARP只能在內網中傳輸,不能跨區域網,所以GRE就無法做到這一點,而我們VXLAN就可以做到。

VXLAN原理及實現步驟:

	VXLAN的原理可以結合架構圖分析VXLAN,假設京某公司的PC1想要ping淘某公司的PC5,這個時候PC1的ICMP包會到SW1交換機中,SW1交換的GE0/0/2口設定為了VLAN10,所以會將資料包封裝上tag10的幀。
	SW1此時會檢視自己的ARP表,發現並麼有這個【192.168.1.1 源MAC 192.168.1.2 目MAC】這張對應表,所以就會發送未知的ARP【192.168.1.1 源MAC 192.168.1.2 FF-FF-FF-FF-FF-FF-FF-FF】,然後將ARP包擴散到其他同VLAN接入的主機包括CE1。
	CE1收到ARP包後如果配置了VXLAN,CE1就會將源有的tag10給抹掉,打上vni,CE1就會檢視頭端複製列表,這個列表中對應了轉發規則,如果查到了對應關係,他就會將ARP轉發給CE2,ARP封裝成【源IP 10.0.0.11 目IP 10.0.0.12 源CE1MAC 目CE2MAC UDP VXLANVNID 私源IP 192.168.1.1 私源PC1MAC 目源IP 192.168.1.2 FF-FF-FF-FF-FF-FF-FF-FF】轉發給CE2。
	CE2收到CE1發過來的資料包後,會拆開資料包,會根據GE1/0/1的子介面上繫結的vni來判斷,如果vni標籤相同,則交給對應繫結的子介面來轉發,子介面在將vni標籤撕掉,然後轉發給SW2。
	SW2收到的資料包結構就變成了【源IP 192.168.1.1 目IP192.168.1.2 源MACPC1 目MAC FF-FF-FF-FF-FF-FF-FF-FF tag 10】,SW2就會將這個資料包放在VLAN10的介面上進行泛紅,轉發給其他主機後就會將tag幀剝離。
	最總PC5收到這個資料包,發現目IP是訪問它的,他就會發送APR相應包【源IP 192.168.1.2 目的IP 192.168.1.1 源MACPC2 目的MACPC1】傳送給SW2,SW2在打上tag 10,然後後面的步驟就和前面一樣了。

VXLAN用於解決的問題:

	有人可能會問題,既然VXLAN可以根據分析的原理來實現,那為什麼不直接在vlan的基礎上去開發,而是重新整了一個vxlan呢?,原因是vlan的vid少,只有4096個,假設內網有超過4096個部門需要,那麼vlan就不夠用了,而我們的vxlan將近有160多萬的vni。
	特別是我們公有云,公有云在做分散式架構時,雲主機不可能都分配在一個伺服器或者一個區域網內,需要將他們的分散到不同計算節點伺服器上,那如果我們買了10個雲主機,我需要它們10個雲主機內網需要互通怎麼辦?這時候vni就起作用了,直接通過封裝的形式搞定。
	有了vxlan,就可以讓不同網路的同網段內網像是連線在同一個叫交換機一樣的感覺。

VXLAN的資料包為什麼還加了UDP協議

	可以取觀察一下抓包分析,我們的源IP、目的IP、協議號,都是固定的不會變,假設流量除了外網,外網中出現負載均衡的情況,這個資料的這些全部都是固定的,那麼基於什麼來進行負載均衡呢?這樣就會導致所有資料往一邊走。如果我們加入了UDP,UDP源埠是通過head隨機生成的,目的埠是固定的,這個時候負載均衡就可以根據UDP源埠進行負載均衡。

三、VXLAN實驗

SW-1

stp disable
vlan batch 10 20 30 40
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan all
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/4
 port link-type access
 port default vlan 30
#
interface GigabitEthernet0/0/5
 port link-type access
 port default vlan 40

SW-2

stp disable
vlan batch 10 20 30 40
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan all
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/4
 port link-type access
 port default vlan 30
#
interface GigabitEthernet0/0/5
 port link-type access
 port default vlan 40

CE1

###################儲存配置####################
system-view immediately
#它需要在使用者模式下敲,CE你配置了東西他不會立即生效,需要使用commit儲存配置,而這條命令的作用就是一直儲存配置



###################vxlan配置###################
bridge-domain 10
 vxlan vni 10
#建立橋接域,一個橋接域等於一個區域網,橋接域可以和vni以及vid不一樣
#在橋接域中繫結vni 10,這個vni 10可以和橋接域的id以及vid不一樣
#
interface GE1/0/0
 undo portswitch
 #關閉交換功能,變成路由功能
 undo shutdown
 ip address 10.0.0.11 255.255.255.0
#
interface GE1/0/1
 undo shutdown
#
interface GE1/0/1.10 mode l2
#配置子介面,子介面模式需要改成l2
 encapsulation dot1q vid 10
#封裝dot1q協議,vid必須和vlan的id一樣
 bridge-domain 10
#繫結橋接域10
#
interface Nve1
#建立nve介面,類似GRE隧道介面差不多的作用
 source 10.0.0.11
 #指定源地址《指公網IP》
 vni 10 head-end peer-list 10.0.0.12
 #指定目的地址《指公網IP》



###################vxlan狀態檢視###################
[CE1]display vxlan tunnel 
Number of vxlan tunnel : 1
Tunnel ID   Source                Destination           State  Type     Uptime
--------------------------------------------------------------------------------
---
4026531842  10.0.0.11             10.0.0.12             up     static   00:17:44
#可以看到State是up的就可以了

[CE1]display vxlan peer 
Number of peers : 1
Vni ID    Source                  Destination            Type      Out Vni ID
-------------------------------------------------------------------------------
10        10.0.0.11               10.0.0.12              static    10
#這個就是前面講的頭端複製列表,他會將未知也就是目的MAC不知道的幀根據這個列表進行轉發

CE2:

###################儲存配置####################
#和CE1配置其實基本一致,只不過是nve介面的源目IP調換了一下
system-view immediately
#在使用者模式敲
###################vxlan配置###################
bridge-domain 10
 vxlan vni 10
#
interface GE1/0/0
 undo portswitch
 undo shutdown
 ip address 10.0.0.12 255.255.255.0
#
interface GE1/0/1
 undo shutdown
#
interface GE1/0/1.10 mode l2
 encapsulation dot1q vid 10
 bridge-domain 10
#
interface Nve1
 source 10.0.0.12
 vni 10 head-end peer-list 10.0.0.11

四、VXLAN實驗結果測試

配置同IP,不需要配置閘道器,因為我們是一個VLAN一個區域網的形式來訪問的

能夠ping通實驗成功

五、抓包分析