一、背景
? ? ?隨著云計算、虛擬化技術的發展,業務有時需要再不同地方同網段進行通信,即大二層網絡。比如虛機遷移,從A數據中心遷移到異地數據中心。
? ? ? 首先,我們都知道,路由器是用來隔離廣播域的,同網段通信都在一個廣播域,像這種不同地域,中間不知道隔了多少臺路由器,就拿arp廣播請求報文來說,怎么可能傳過去呢?
其次,vlan的ID也是有限的,只有4096個。
這不,VXLAN就誕生了,所以一個技術的誕生絕對不是平白無故的產生,肯定是有特點的背景下,研發人員才去創造新的技術出來。
我個人簡單理解vxlan就是增加標簽和建立隧道,把二層報文封裝到UDP報文里面,通過隧道傳遞過去,構建大二層網絡。當然還有很多細節的知識點,需要我們慢慢深入研究、學習。
二、拓撲圖
三、思路
1、搭好實驗環境,導入號CE6800鏡像。
2、基礎配置。(修改設備名、直連接口IP地址。)
3、配置路由協議。(保證CE1、CE2、CE3 loopback能通)
4、VXLAN相關配置。(建立VXLAN隧道、配置VNI號等)
5、驗證。
四、配置過程
01、導入號CE6800鏡像。
02、基礎配置。
修改默認設備名:
CE1配置如下,其他設備參考如下,不再一一舉例。
注意:CE系列設備,修改配置后,只要commit(提交),配置才生效。
<HUAWEI>sys
Enter system view, return user view with return command.
[~HUAWEI]sys CE1
[*HUAWEI]commi
[*HUAWEI]commit?
[~CE1]
[~CE1]
如果發現無法成功修改設備名,并提示如下報錯:
?Error: The system is busy in building system configurations.
可以用display device查看:
解決辦法:
1、關掉ensp;
2、啟動vitual box,對CE鏡像,修改系統內存,我調整到4G。
3、重新啟動ensp。
我就是按上述操作,解決了。
CE1的直連接口IP地址設置,其他CE2、CE3參照拓撲圖及如下命令:
[~CE1]int g1/0/0
[~CE1-GE1/0/0]undo portswitch?
[*CE1-GE1/0/0]ip add 12.1.1.1 24
[*CE1-GE1/0/0]undo shut
[*CE1-GE1/0/0]qu
[*CE1]int lo 0
[*CE1-LoopBack0]ip add 10.10.10.10 32
[*CE1-LoopBack0]qu
[*CE1]commit
[~CE1]
[Huawei]sysname SW1
[SW1]
[SW1]vlan 10
[SW1-vlan10]qu
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk?
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan?10
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all?
[SW1]int g0/00/1
[SW1-GigabitEthernet0/0/1]port link-type access?
[SW1-GigabitEthernet0/0/1]port default vlan 10
[SW1-GigabitEthernet0/0/1]qu
[Huawei]sysname SW2
[SW2]
[SW2]vlan 10
[SW2-vlan10]qu
[SW2]int g0/0/2
[SW2-GigabitEthernet0/0/2]port link-type trunk?
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan?10
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan all?
[SW2]int g0/00/1
[SW2-GigabitEthernet0/0/1]port link-type access?
[SW2-GigabitEthernet0/0/1]port default vlan 10
[SW2-GigabitEthernet0/0/1]qu
03、配置路由協議。
OSPF配置:
[~CE1]ospf
[*CE1-ospf-1]area 0
[*CE1-ospf-1-area-0.0.0.0]net 10.10.10.10 0.0.0.0
[*CE1-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255
[*CE1-ospf-1-area-0.0.0.0]commit
[~CE1-ospf-1-area-0.0.0.0
[~CE2]ospf
[*CE2-ospf-1]area 0
[*CE2-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255
[*CE2-ospf-1-area-0.0.0.0]net 23.1.1.0 0.0.0.255
[*CE2-ospf-1-area-0.0.0.0]net 20.20.20.20 0.0.0.0
[*CE2-ospf-1-area-0.0.0.0]commit
[~CE2-ospf-1-area-0.0.0.0
[~CE3]ospf
[*CE3-ospf-1]area 0
[*CE3-ospf-1-area-0.0.0.0]net 30.30.30.30 0.0.0.0
[*CE3-ospf-1-area-0.0.0.0]net 23.1.1.0 0.0.0.255
[*CE3-ospf-1-area-0.0.0.0]commit
[~CE3-ospf-1-area-0.0.0.0
查看一下OSPF鄰居狀態:
測試一下網絡連通性,如ping一下 loopback接口。
04、VXLAN相關配置。
[~CE1]vlan 10
[*CE1-vlan10]quit
[*CE1]bridge-domain 10
[*CE1-bd10]quit
[*CE1]interface g1/0/1.1 mode l2?
[*CE1-GE1/0/1.1]encapsulation dot1q vid 10
[*CE1-GE1/0/1.1]bridge-domain 10
[*CE1-GE1/0/1.1]quit
[*CE1]commit
[~CE1]
[~CE3]vlan 10
[*CE3-vlan10]quit
[~CE3]bridge-domain 10
[*CE3-bd10]quit
[*CE3]int g1/0/1.1 mode l2
[*CE3-GE1/0/1.1]encapsulation dot1q vid 10
[*CE3-GE1/0/1.1]bridge-domain 10
[*CE3-GE1/0/1.1]quit
[*CE3]
[*CE3]commit
[~CE3
配置VXLAN隧道:
[~CE1]bridge-domain 10
[~CE1-bd10]vxlan vni 1
[*CE1-bd10]quit
[*CE1]interface Nve 1
[*CE1-Nve1]source 10.10.10.10
[*CE1-Nve1]vni 1?head-end peer-list 30.30.30.30
[*CE1-Nve1]quit
[*CE1]commit?
[~CE1]
[~CE3]bridge-domain 10
[~CE3-bd10]v
[~CE3-bd10]vxlan vni 1 //模擬器vni建議使用最小的。
[*CE3-bd10]quit
[*CE3]interface nve 1
[*CE3-Nve1]source 30.30.30.30
[*CE3-Nve1]vni1 head-end peer-list 10.10.10.10
[*CE3-Nve1]quit
[*CE3]commit
[~CE3
查看VXLAN狀態:
五、驗證
ok,現在我們就可以測試一下,PC1是否可以ping 通同網段的PC2:
然后,我們也可以抓包學習一下vxlan的真實報文又是如何的?
從抓包的報文來看,我們可以學習到,
vxlan是通過UDP報文來封裝的,UDP源目端口使用的:4789。