1、 創建虛擬交換機
使用Hyper-V管理器創建虛擬交換機,該虛擬交換機要連接到外部網絡,不允許管理操作系統共享此網絡適配器,創建過程如下圖1。
虛擬交換機創建完成後,在windows的"網絡和internet"中不會增加新的虛擬網卡,創建虛擬交換前後網絡屬性的對比見下 "圖2 創建虛擬機後,可以使用原來網卡的項目的變化情況"。原來的物理網卡已經虛擬成了一臺"可擴展的虛擬交換機",原來的網卡屬性,如使用原來網卡的功能已經不能使用該網卡(虛擬交換機)。
2、 創建新的虛擬機,安裝虛擬機的操作系統
創建新的虛擬機,使用剛創建的虛擬交換機,虛擬交換機是外部網絡交換機,允許管理操作系統共享網絡適配器。
不重新安裝操作系統,使用以前創建虛擬機建立的虛擬硬盤,虛擬硬盤中安裝有ubuntu操作系統。本次創建4臺虛擬機。
虛擬機ubunt01和ubuntu02分別使用ubunt03.vhdx和ubuntu04.vhdx虛擬硬盤。這兩塊虛擬硬盤在安裝操作系統時採用的是dhcp自動獲取IP地址,虛擬機使用的虛擬交換機是defalut switch默認虛擬交換機。
虛擬機ubunt03和ubuntu04分別使用ubunt01.vhdx和ubuntu02.vhdx虛擬硬盤。這兩塊虛擬硬盤在安裝操作系統時採用的是靜態IP地址,虛擬機使用的虛擬交換機是外部網絡交換機,並允許管理操作系統共享此網絡適配器。
使用Hyper-V管理器創建虛擬機時指定"使用現有虛擬硬盤"的操作見下 "圖3 創建虛擬機,指定虛擬硬盤"。
3、 創建虛擬機並安裝操作系統後各虛擬機的網絡狀況。
原windows系統的網絡連接中只有兩臺虛擬網絡交換機,vEthernet是安裝Hyper-V軟件系統默認自動創建的虛擬交換機;"以太網"是原來的物理網卡,安裝外部網絡的虛擬交換機後,該網卡虛擬成了可擴展的虛擬交換機,該交換機又沒有給管理操作系統共享,故原windows系統沒有網絡連接,沒有IP,不能和任何設備聯網。如下圖圖4所示。
Ubunt01和ubuntu02兩臺虛擬機,安裝的ubuntu操作系統,使用的是dhcp自動獲取IP地址,虛擬機操作系統啟動後,dhcp運行正常,獲取到了正常的IP地址。如下圖圖5所示。
Ubuntu03和ubuntu04虛擬機,安裝的ubuntu操作系統,採用的是靜態IP,系統啟動後能正確配置網絡參數。如下圖圖6所示。
經測試,這四臺虛擬機都互相可以ping通。原宿主機由於沒有網絡,不能和虛擬機通信。
4、 修改虛擬交換機的屬性
由於只有一塊物理網卡,安裝這種方式的虛擬機交換機後,系統會將原來的物理網卡虛擬成一臺虛擬交換機,但不會創建新的虛擬網卡。故原來的windows系統失去了網絡連接,不能上外網,也不能訪問新安裝的虛擬機操作系統。
在"網絡和Internet"中,修改適配器"以太網 一起用"的屬性,即修改虛擬交換機的屬性,取消"Hyper-V可擴展的虛擬交換機"項目後,該連接不再為虛擬機交換機提供服務,虛擬交換機變更為原來的物理網卡,標籤變為"以太網 網絡",windows重新取得網絡連接,可以上網了。見下圖圖7所示。
此時,虛擬機由於失去了虛擬交換機的網絡支持,虛擬機操作系統可以啟動,但無法聯網,失去了網絡連接。見下圖圖8,對於原來dhcp4為true的方式,或者是直接指定的IPV4地址,系統啟動後都無法獲得IP地址,無法進行TCP/IP網絡通信。
在windows的網絡和internet中,修改原物理網卡(安裝Hyper-V虛擬成的可擴展虛擬交換機)支持的項目,取消Hyper-V支持後,虛擬交換機恢復成了原來的物理網卡,在Hyper-V管理器中查詢原虛擬交換機的信息,發現原來連接到外部網絡的虛擬交換機Hyper-v變成了連接到專用網絡類型,原來的ubuntu操作系統不再能配置正常的IP了,見下圖圖9。
在Hyper-V管理起中將Hyper-v改成外部網絡交換機,原來的ubuntu虛擬機操作系統的網絡就可以正常使用了。
5、 物理機虛擬機實際組網結構和連通性測試
物理機A: Microsoft Windows 10.0.18363 專業版,是將被虛擬化的主機。
物理機B: Microsoft Windows 10.0.18363家庭版,是系統中一臺完整的物理機。
虛擬機1-3:Ubuntu 18.04.3 LTS,是在物理機A上虛擬出的3臺虛擬機,安裝Ubuntu操作系統。
物理機A和物理機B採用自動獲取IP和DNS 的方式,連接到家庭無線路由器,無線路由器通過光貓連接到互聯網,物理機A和B能正常上網和信息交互。
在物理機A上啟用Hyper-V功能;創建虛擬交換機,該交換機採用外部網絡連接方式,不允許管理操作系統共享該網絡適配器;創建虛擬機A/B/C,這些虛擬機使用該虛擬交換機連接網絡;在這些虛擬機上安裝Ubuntu Server 18.04操作系統。
上述操作完成後,需要測試網絡的連通性。
測試場景和測試結果如下:物理機A由於只有一塊網卡,且該網卡已經虛擬成一臺虛擬交換機,且物理機A不能共享該虛擬交換機,故主機A沒有網絡連接,不能和任何機器通信,只能作為管理機,使用Hyper-V管理虛擬機。
各虛擬機互相都能ping通;物理機B能ping通所有虛擬機;調整物理機B的防火牆設置,就能ping通所有虛擬機;物理機B和所有虛擬機都能訪問外網。
實際測試的網絡組網圖見下圖圖10。
6、 Windows和ubuntu的網絡切換
在各ubuntu虛擬機使用虛擬交換機能獲取網絡的情況下,在windows的"網絡和internet"中將"以太網 已啟用"修改"Hyper-V可擴展虛擬交換機"屬性取消,則windows將獲取網絡連接,原ubuntu虛擬機失去網絡連接。
在Hyper-V管理器中,將ubuntu使用的虛擬交換機的屬性改回到"外部網絡",並不允許管理操作系統共享網絡適配器時,各ubuntu虛擬機重新獲得原來的網絡連接,windows失去網絡連接。
7、 適用場景
出於安全考慮,windows不用聯網,只用來創建和維護虛擬機,和外界隔離性較高。外界用戶使用這些虛擬機,可以通過網絡設備例如交換機或路由器連接到物理機虛擬出來的虛擬交換機,並進行需要安全設置即可。
8、 其他
一個外部虛擬網絡需要綁定到一塊物理網卡,故單網卡的主機不能創建多個外部虛擬網絡交換機。創建虛擬交換機會在網絡適配器中啟用"Hyper-V可擴展虛擬交換機",如果手動在網絡適配器中設置了該選項,在Hyper-V管理中創建虛擬交換機會報錯。
閱讀更多 IT小小屋 的文章