項目5(2)-構建跨宿主機的VXLAN虛擬化網絡_第1頁
項目5(2)-構建跨宿主機的VXLAN虛擬化網絡_第2頁
項目5(2)-構建跨宿主機的VXLAN虛擬化網絡_第3頁
項目5(2)-構建跨宿主機的VXLAN虛擬化網絡_第4頁
項目5(2)-構建跨宿主機的VXLAN虛擬化網絡_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目五構建企業(yè)級虛擬化網絡實現VLAN虛擬化網絡內外網互訪《云網絡技術項目教程》構建跨宿主機的VXLAN虛擬化網絡【知識目標】(1)掌握OpenvSwitch虛擬交換機的安裝方法。(2)掌握VXLAN網絡與VLAN網絡的區(qū)別。(1)能夠安裝運維OpenvSwitch虛擬交換機。(2)能夠配置跨宿主機的VXLAN(VirtualExtensibleLAN,虛擬擴展局域網)網絡?!炯寄苣繕恕俊揪W絡拓撲】任務5-2的網絡拓撲如圖5-34所示。圖5-34任務5-2網絡拓撲必備知識1.OpenvSwithch虛擬交換機開源虛擬交換機(OpenvSwitch)是一個強大的虛擬交換機軟件,被廣泛應用于云計算、虛擬化平臺和容器網絡等場景中,為軟件定義網絡提供了重要支持。它的功能比LinuxBridge強大,支持多種協議、多種虛擬化技術。(1)主要功能①多協議支持OpenvSwitch支持多種網絡協議,包括標準的以太網協議,可以在不同的網絡環(huán)境中運行。②多虛擬化技術支持OpenvSwitch可以與多種虛擬化技術集成,可以在不同的虛擬化環(huán)境中運行。③靈活的網絡拓撲OpenvSwitch支持創(chuàng)建靈活的網絡拓撲結構,可以實現復雜的網絡架構和服務隔離。④高級網絡管理功能OpenvSwitch提供了豐富的高級網絡管理功能,如流量限制、流量鏡像、端口組等,可以對網絡流量進行精細控制。⑤安全性OpenvSwitch支持訪問控制列表(ACL)、虛擬私有網絡(VPN)、隔離等多種安全功能,增強網絡安全性。⑥可擴展性OpenvSwitch可以擴展到大規(guī)模網絡,支持多臺交換機之間的互連和管理。(2)基礎配置命令①添加網橋添加虛擬機交換機的的命令為ovs-vsctladd-br虛擬機交換機名稱,如添加br-test虛擬交換機的命令是ovs-vsctladd-brbr-test。②查看網橋添加網橋后,使用ovs-vsctlshow可以查看所有的虛擬交換機和端口信息。③增加交換機端口向虛擬交換機上添加接口的命令為ovs-vsctladd-port交換機名稱端口名稱。如在br-test虛擬交換機上添加ens256端口的命令是ovs-vsctladd-portbr-testens256。④刪除交換機端口刪除交換機的某個端口的命令為ovs-vsctldel-port交換機名稱端口名稱。如將br-test交換機上的ens256刪除掉的命令是ovs-vsctldel-portbr-testens256。⑤刪除虛擬交換機刪除網橋的命令為ovs-vsctldel-br交換機名稱,如刪除br-test交換機的命令是ovs-vsctldel-brbr-test。必備知識2.VXLAN虛擬網絡技術VXLAN是一種虛擬局域網技術,用于在大規(guī)模云計算環(huán)境中擴展二層網絡。VXLAN基于UDP(UserDatagramProtocol,用戶數據報)封裝,在底層網絡上創(chuàng)建邏輯隧道,將虛擬機之間的數據流量封裝在UDP數據包中進行傳輸。這樣可以實現跨物理網絡、跨數據中心的虛擬機通信,以下是VXLAN技術的特點。(1)擴展性VXLAN可以擴展到大規(guī)模的網絡環(huán)境,支持數百萬個虛擬局域網標識(VNI)。這使得它適用于云計算環(huán)境中的大規(guī)模虛擬化部署。(2)隔離性VXLAN使用虛擬網絡標識(VNI)來實現虛擬機之間的隔離。每個虛擬機都被分配一個唯一的VNI,不同VNI的虛擬機之間的流量是相互隔離的。必備知識2.VXLAN虛擬網絡技術VXLAN是一種虛擬局域網技術,用于在大規(guī)模云計算環(huán)境中擴展二層網絡。VXLAN基于UDP(UserDatagramProtocol,用戶數據報)封裝,在底層網絡上創(chuàng)建邏輯隧道,將虛擬機之間的數據流量封裝在UDP數據包中進行傳輸。這樣可以實現跨物理網絡、跨數據中心的虛擬機通信,以下是VXLAN技術的特點。(1)擴展性VXLAN可以擴展到大規(guī)模的網絡環(huán)境,支持數百萬個虛擬局域網標識(VNI)。這使得它適用于云計算環(huán)境中的大規(guī)模虛擬化部署。(2)隔離性VXLAN使用虛擬網絡標識(VNI)來實現虛擬機之間的隔離。每個虛擬機都被分配一個唯一的VNI,不同VNI的虛擬機之間的流量是相互隔離的。(3)跨物理網絡VXLAN可以在底層網絡中傳輸虛擬機的數據流量,無論虛擬機在哪個物理網絡上。這使得虛擬機可以在不同的物理網絡之間進行遷移,而不會影響其網絡連接。(4)多租戶支持VXLAN支持多租戶網絡隔離,使不同租戶的虛擬機可以在同一物理基礎設施上運行,但彼此之間是隔離的。(5)靈活性VXLAN提供了更大的虛擬局域網標識空間和靈活的網絡配置選項。它可以與現有網絡設備(如交換機、路由器)兼容,并且可以與其他虛擬化技術(如OpenStack、VMwarevSphere)集成。必備知識3.VXLAN與VLAN相比優(yōu)勢VXLAN技術是為了解決VLAN技術在大規(guī)模云計算環(huán)境中存在的一些問題,包括以下幾個方面。(1)擴展性限制VLAN技術基于IEEE802.1Q標準,使用標簽將網絡劃分為不同的虛擬局域網,該標準只支持4096個VLANID,這在大規(guī)模云計算環(huán)境中很容易達到限制。因此,VLAN技術在部署大規(guī)模虛擬化時存在擴展性限制。(2)跨物理網絡的限制VLAN是基于物理網絡的隔離技術,它需要在底層網絡上配置相應的VLAN。這導致虛擬機的遷移受到物理網絡拓撲和VLAN配置的限制。如果虛擬機需要遷移到不同的物理網絡上,就需要重新配置VLAN,這增加了管理和操作的復雜性。(3)多租戶隔離的限制VLAN技術提供了多租戶隔離功能,但VLANID的數量有限,無法滿足大規(guī)模云計算環(huán)境中不同租戶的需求。同時,不同租戶之間的通信也需要通過路由器進行轉發(fā),增加了網絡延遲和復雜性。(4)網絡扁平化的限制VLAN技術在邏輯上將網絡劃分為多個虛擬局域網,每個VLAN都需要獨立的管理和配置。這導致了網絡的分層和復雜性,不利于構建扁平化的網絡架構。VXLAN技術通過使用封裝技術,在底層網絡上創(chuàng)建邏輯隧道,解決了上述問題。它提供了更大的虛擬局域網標識空間(VNI),實現了更大規(guī)模的虛擬化部署和租戶隔離。同時,VXLAN技術可以在底層物理網絡的限制下實現虛擬機的遷移,并支持構建扁平化的網絡架構,提高了網絡的靈活性和可管理性。必備知識4.VXLAN數據封裝VXLAN使用封裝技術,在底層網絡上創(chuàng)建邏輯隧道,將虛擬機之間的數據流量封裝在UDP數據包中進行傳輸。采用以下幾個步驟來封裝數據。(1)創(chuàng)建VNI每個虛擬網絡都對應一個唯一的虛擬網絡標識符(VNI),VNI是一個24位的數字,用于標識虛擬網絡。VNI類似于傳統網絡中的VLANID,用于區(qū)分VXLAN段,不同VXLAN段的租戶不能直接進行二層通信。一個租戶可以有一個或多個VNI,VNI由24比特組成,支持多達16M的租戶。(2)封裝VXLAN頭部使用VXLAN頭部來封裝原始數據包,VXLAN頭部包含了源和目的VTEP(VXLANTunnelEndPoint,VXLAN隧道終點)的IP地址,以及VNI。VXLAN隧道端點VTEP可以對VXLAN報文進行封裝和解封裝。VXLAN報文中源IP地址為源端VTEP的IP地址,目的IP地址為目的端VTEP的IP地址。一對VTEP地址就對應著一條VXLAN隧道。在源端封裝報文后通過隧道向目的端VTEP發(fā)送封裝報文,目的端VTEP對接收到的封裝報文進行解封裝。(3)封裝UDP頭部在VXLAN頭部之上,再封裝一個UDP頭部。源端口是VTEP的UDP端口號,目的端口是默認的VXLANUDP端口4789。(4)封裝IP頭部最后,在UDP頭部之上,再封裝一個IP頭部。源IP地址是發(fā)送方的VTEPIP地址,目的IP地址是接收方的VTEPIP地址。(5)發(fā)送數據包VXLAN數據包通過底層物理網絡發(fā)往目的VTEP,然后進行解封裝,取出原始數據包,并將其傳遞給目標虛擬機。安裝運維OpenvSwitch虛擬交換機1.配置服務器網絡環(huán)境首先使用CentOS8.ova模板機創(chuàng)建兩臺名稱為node1、node2的服務器,兩臺服務器網卡及IP地址配置如表5-3所示。表5-3網卡地址及所屬網絡服務器名稱網卡名稱

連接到網絡網絡模式IP地址node1ens160VMnet1僅主機ens192VMnet4自定義網絡ens256VMnet8nat模式不配置IP地址node2ens160VMnet1僅主機ens192VMnet4自定義網絡其中node1和node2服務器的ens160網卡用于登錄管理主機,ens192網卡分別配置了/24和/24,用于VXLAN虛擬化網絡的跨主機通信,node1服務器的ens256用于內部網絡與外部網絡互聯,也就是說,node2節(jié)點的虛擬機訪問外部網絡也要通過node1節(jié)點的ens256網卡,配置完成后,查看node1服務器的網卡和IP地址配置,如圖5-35所示。圖5-35任務5-2node1服務器IP地址查看node1服務器的網卡和IP地址配置,如圖5-36所示。圖5-36任務5-2node2服務器IP地址安裝運維OpenvSwitch虛擬交換機2.安裝OpenvSwitch虛擬交換機OpenvSwitch虛擬交換機比LinuxBridge虛擬網橋的功能強大,在本任務中,使用在OpenvSwitch虛擬交換機連接虛擬網卡。在node1和node2服務器上,都需要安裝OpenvSwitch工具,用于創(chuàng)建OpenvSwitch虛擬交換機。這里以服務器node1服務器為例,服務器node2和node1的安裝方法一致。在node1服務器的安裝步驟如下。(1)下載OpenvSwitch登錄官網/download/,如圖5-37所示。圖5-36任務5-2node2服務器IP地址(2)源碼安裝OpenvSwitch①下載解壓源碼下載最新版openvswitch-3.2.1.tar.gz后,上傳到node1和node2服務器的/opt/目錄下,使用tar-xfopenvswitch-3.2.1.tar.gz解壓軟件,命令如下。[root@node1opt]#tar-xfopenvswitch-3.2.1.tar.gz②安裝源碼編譯安裝的必要支持組件在進行源碼編譯安裝時,需要一些組件支持,安裝如下。[root@node1opt]#yuminstallmakeautoconfautomakelibtoolopensslopenssl-develpython38-y③檢查文件,配置安裝參數對源碼編譯安裝前,需要檢查源文件、設置安裝位置等參數,命令如下。[root@node1opt]#cdopenvswitch-3.2.1#進入軟件目錄[root@node1openvswitch-3.2.1]#./configure#配置安裝參數④編譯安裝使用make命令編譯源碼文件,使用makeinstall進行安裝,命令如下。[root@node1openvswitch-3.2.1]#make&&makeinstall

⑤設置環(huán)境變量OpenvSwitch虛擬交換機默認安裝路徑為/usr/local/share/openvswitch/scripts/。所以在/root/.bashrc文件添加以下配置,將OpenvSwitch的執(zhí)行目錄添加到PATH環(huán)境變量中,配置如下。exportPATH=$PATH:/usr/local/share/openvswitch/scripts/然后使用source讀取/root/.bashrc文件,命令如下。[root@node1openvswitch-3.2.1]#source/root/.bashrc

⑥啟動OpenvSwitch添加了PATH環(huán)境變量后,就可以在任何目錄執(zhí)行OpenvSwitch的相關命令了,啟動OpenvSwitch管理程序的命令如下。[root@node1~]#ovs-ctlstart

安裝運維OpenvSwitch虛擬交換機3.創(chuàng)建OpenvSwitch虛擬網橋根據拓撲圖5-34所示,在服務器node1上創(chuàng)建OpenvSwitch虛擬網橋br1和br2、在服務器node2上創(chuàng)建OpenvSwitch虛擬網橋br3和br4,命令如下。[root@node1~]#ovs-vsctladd-brbr1#在服務器node1上創(chuàng)建虛擬交換機br1[root@node1~]#ovs-vsctladd-brbr2#在服務器node1上創(chuàng)建虛擬交換機br2[root@node2~]#ovs-vsctladd-brbr3#在服務器node2上創(chuàng)建虛擬交換機br1[root@node2~]#ovs-vsctladd-brbr4#在服務器node2上創(chuàng)建虛擬交換機br2創(chuàng)建完成后,在服務器node1上查看虛擬網橋,結果如圖5-38所示。圖5-38任務5-2服務器node1的虛擬網橋從結果中可以看出,在服務器node1上,創(chuàng)建了兩個虛擬網橋,分別是br1和br2,在br1上,默認添加了一個接口為br1,類型為internal,是虛擬網橋的回環(huán)接口,類似于主機上的lo接口,在br2網橋上同樣默認接口為br2。在服務器node2上查看虛擬網橋,如圖5-39所示。圖5-39任務5-2服務器node1的虛擬網橋從結果中可以看出,在服務器node2上,創(chuàng)建了兩個虛擬網橋,分別是br3和br4,在br3上,默認添加了一個接口為br3,在br4網橋上同樣默認接口為br4。配置相同VXLAN虛擬機的跨主機互訪1.配置跨主機互訪(1)在服務器node1上創(chuàng)建名稱空間和虛擬網卡[root@node1~]#ipnetnsaddvm1#添加網絡名稱空間vm1[root@node1~]#ipnetnsaddvm2#添加網絡名稱空間vm2[root@node1~]#iplinkaddveth1typevethpeernameveth11#添加成對虛擬網卡[root@node1~]#iplinkaddveth2typevethpeernameveth22#添加成對虛擬網卡[root@node1~]#iplinksetveth1netnsvm1#將veth1移動到vm1名稱空間[root@node1~]#iplinksetveth2netnsvm2#將veth2移動到vm2名稱空間(2)在服務器node2上創(chuàng)建名稱空間和虛擬網卡[root@node2~]#ipnetnsaddvm3#添加網絡名稱空間vm1[root@node2~]#ipnetnsaddvm4#添加網絡名稱空間vm2[root@node2~]#iplinkaddveth1typevethpeernameveth11#添加成對虛擬網卡[root@node2~]#iplinkaddveth2typevethpeernameveth22#添加成對虛擬網卡[root@node2~]#iplinksetveth1netnsvm3#將veth1移動到vm1名稱空間[root@node2~]#iplinksetveth2netnsvm4#將veth2移動到vm2名稱空間(3)配置虛擬機IP地址,啟動網絡設備4臺虛擬機的IP地址規(guī)劃如表5-3所示。

表5-3IP地址及所屬VXLAN服務器名稱虛擬機名稱IP地址所在VXLAN網關node1vm1/24VXLAN1054node1vm2/24VXLAN2054node2vm3/24VXLAN1054node2vm4/24VXLAN2054配置vm1虛擬機的IP地址如下。[root@node1~]#ipnetnsexecvm1bash#進入名稱空間vm1[root@node1~]#ipaddradd/24devveth1#配置網卡IP地址[root@node1~]#iplinksetveth1up#啟動網卡配置vm2虛擬機的IP地址如下。[root@node1~]#ipnetnsexecvm2bash#進入名稱空間vm2[root@node1~]#ipaddradd/24devveth2#配置網卡IP地址[root@node1~]#iplinksetveth2up#啟動網卡配置vm3虛擬機的IP地址如下。[root@node1~]#ipnetnsexecvm3bash#進入名稱空間vm1[root@node1~]#ipaddradd/24devveth1#配置網卡IP地址[root@node1~]#iplinksetveth1up#啟動網卡配置vm4虛擬機的IP地址如下。[root@node1~]#ipnetnsexecvm4bash#進入名稱空間vm4[root@node1~]#ipaddradd/24devveth2#配置網卡IP地址[root@node1~]#iplinksetveth2up#啟動網卡(4)綁定虛擬網橋和網卡[root@node1~]#ovs-vsctladd-portbr1veth11#綁定虛擬網橋br1和veth11[root@node1~]#ovs-vsctladd-portbr2veth22#綁定虛擬網橋br2和veth22[root@node1~]#iplinksetbr1up#啟動網橋br1[root@node1~]#iplinksetbr2up#啟動網橋br2[root@node1~]#iplinksetveth11up#啟動veth11網卡[root@node1~]#iplinksetveth22up#啟動veth22網卡[root@node2~]#ovs-vsctladd-portbr3veth11#綁定虛擬網橋br3和veth11[root@node2~]#ovs-vsctladd-portbr4veth22#綁定虛擬網橋br4和veth22[root@node2~]#iplinksetbr3up#啟動虛擬網橋br3[root@node2~]#iplinksetbr4up#啟動虛擬網橋br4[root@node2~]#iplinksetveth11up#啟動虛擬網卡veth11[root@node2~]#iplinksetveth22up#啟動虛擬網卡veth22(5)建立VXLAN10隧道①服務器node1上建立VXLAN10隧道在主機1上添加VXLAN10接口,配置如下。[root@node1~]#ovs-vsctladd-portbr1VXLAN10--setinterfaceVXLAN10type=VXLANoptions:remote_ip=options:key=10以上配置在虛擬網橋上br1上添加了VXLAN10接口,設置接口為VXLAN類型,VXLANid是10,隧道遠端的IP地址是。②服務器node2上建立VXLAN10隧道在主機2上添加VXLAN10接口,配置如下。[root@node2~]#ovs-vsctladd-portbr3VXLAN10--setinterfaceVXLAN10type=VXLANoptions:remote_ip=options:key=10以上配置在虛擬網橋上br3上添加了VXLAN10接口,設置接口為VXLAN類型,VXLANid是10,隧道遠端的IP地址是。(6)建立VXLAN20隧道在主機1上添加VXLAN20接口,配置如下。[root@node1~]#ovs-vsctladd-portbr2VXLAN20--setinterfaceVXLAN20type=VXLANoptions:remote_ip=options:key=20以上配置在虛擬網橋上br2上添加了VXLAN20接口,設置接口為VXLAN類型,VXLANid是20,隧道遠端的IP地址是。②服務器node2上建立VXLAN20隧道在主機2上添加VXLAN20接口,配置如下。[root@node2~]#ovs-vsctladd-portbr4VXLAN20--setinterfaceVXLAN20type=VXLANoptions:remote_ip=options:key=20以上配置在虛擬網橋上br4上添加了VXLAN20接口,設置接口為VXLAN類型,VXLANid是20,隧道遠端的IP地址是。配置完成后,在服務器node1上,查看網橋及接口信息,如圖5-40所示。從結果中發(fā)現,在br1添加了VXLAN10接口,br2添加了VXLAN20接口,與配置一致,在服務器node2上,查看網橋及接口信息,如圖5-41所示。圖5-41任務5-2服務器node2虛擬網橋br3和br4的VXLAN接口信息從結果中發(fā)現,在br3添加了VXLAN10接口,br4添加了VXLAN20接口,與配置一致。圖5-40任務5-2服務器node1虛擬網橋br1和br2的VXLAN接口信息配置相同VXLAN虛擬機的跨主機互訪2.測試與抓包分析(1)啟動VXLAN_sys_4789接口在服務器node1和node2上,會生成創(chuàng)建和管理VXLAN隧道的虛擬網絡接口VXLAN_sys_4789,需要在每個主機上都啟動這個接口,配置如下。[root@node1~]#iplinksetVXLAN_sys_4789up[root@node2~]#iplinksetVXLAN_sys_4789up(2)測試網絡連通性在服務器node1上測試虛擬機vm1與服務器node2上的vm3的連通性,如圖5-42所示。在服務器node1上測試虛擬機vm2與服務器node2上的vm4的連通性,如圖5-43所示。圖5-42任務5-2測試VXLAN10隧道虛擬機網絡連通性從結果中發(fā)現,屬于VXLAN10網絡的vm1和vm3、屬于VXLAN20網絡的vm2和vm4都可以正常通信,VXLAN隧道配置成功了。圖5-43任務5-2測試VXLAN20隧道虛擬機網絡連通性(3)抓包分析VXLAN數據封裝在服務器node2上使用tcpdump工具抓取ens192接口流量,寫出數據到文件1.txt下,命令如下。[root@node2~]#tcpdump-nn-t-e-iens192-w1.txt抓取連接虛擬機vm2的veth11接口流量,寫入2.txt,命令如下。[root@node2~]#tcpdump-nn-t-e-iveth11-w2.txt然后在服務器node1上刪除的arp表項和vm1的的arp表項,命令如下。[root@node1~]#arp-d[root@node1~]#ipnetnsexecvm1arp-d再次測試虛擬機vm1與vm2的網絡連通性。[root@node1~]#ipnetnsexecvm1ping-c4測試完成后,使用sz命令將1.txt文件上傳到windows桌面,使用wireshark抓包工具打開1.txt,如圖5-44所示。從結果中看出,服務器node1要通過ARP協議獲取的mac地址,vm1通過ARP協議獲取的mac地址,然后vm1再與vm2進行通信,點開第5條icmp協議,查看具體的VXLAN封裝,如圖5-45所示。圖5-44任務5-2虛擬機vm1與虛擬機vm2之間的流量從結果中看出,從vm1到vm2的icmp測試報文源地址是,目標地址是,在經過br1網橋的VXLAN10接口時,在報文頭部封裝了VNI為10的標識和目標端口為4789的udp頭部,最后經過服務器node1的ens192接口()發(fā)往服務器node2的ens192接口()。圖5-45任務5-2VXLAN10隧道數據封裝從結果中看出,從vm1到vm2的icmp測試報文源地址是,目標地址是,在經過br1網橋的VXLAN10接口時,在報文頭部封裝了VNI為10的標識和目標端口為4789的udp頭部,最后經過服務器node1的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論