Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

1、 Default Switch虛擬交換機

在windows中啟用Hyper-V功能後,win10管理主機的"網絡和Internet"中增加了一臺網絡適配器vEthernet(Default Switch),這是Hyper-V自動安裝的一臺虛擬交換機。禁用Hyper-V功能後,該網絡適配器中"網絡和Internet"中消除。否則在Hyper-V管理器中,在"網絡和Internet"中都無法刪除Default Switch。

在Hyper-V管理器中查看默認安裝的Default Switch虛擬交換機的屬性見下圖圖1,可見該虛擬交換機連接到內部網絡,並使用網絡地址轉換協議NAT為虛擬機提供計算機網絡的訪問權限,便於虛擬訪問外網。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖1:windows啟用Hyper-V功能時默認創建的虛擬交換機

下圖2是啟用Hyper-V後的網絡配置清單。宿主機即win10管理主機使用動態主機配置協議配置物理網卡的IP地址、子網掩碼和默認網關;vEthernet只有IP地址和子網掩碼,沒有默認網關。

在管理主機的適配器屬性查詢界面中,vEthernet的TCP/IP4屬性是使用固定的IP而不是"自動獲取IP地址",但系統重啟後該IP地址經常變動。發現規律如下:點win10的關機按鈕,關機後再開機,IP地址一般不變;點win10的重啟按鈕,重新啟動後IP地址一般都會變。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖2:啟用Hyper-V後管理主機的網絡ip配置列表

2、 使用Default Switch虛擬交換機的網絡連通性測試

構建如下圖3所示的測試環境。管理主機win10創建4臺ubuntu虛擬機,物理機A和管理主機win10接入無線路由器的物理LAN口,無線路由器WAN口連接到互聯網。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖3:虛擬網絡測試環境

管理主機使用動態主機配置協議dhcp動態配置IP;虛擬交換機採用Default Switch的默認配置不做屬性修改;四臺ubuntu虛擬機的網絡適配器使用Default Switch虛擬交換機;ubuntu01和ubuntu02組成A組,操作系統採用動態主機配置協議dhcp;ubuntu03和ubuntu04組成B組,操作系統採用靜態IP。

下面測試第一種場景:B組的靜態IP地址和子網掩碼遵從虛擬交換機的規則。

下面是ubuntu01虛擬機的操作系統啟動後的網絡狀況,ubuntu02類似,不重複列出。從下圖中可以看出,Ubuntu虛擬機操作系統使用動態主機配置協議獲得的IP地址和子網掩碼與內部虛擬機交換機的IP地址和子網掩碼相適配,構成同一網段的IP地址;默認網關就是內部虛擬交換機的IP地址,因為虛擬機發出的信息肯定要先送到虛擬交換機;DNS服務器的地址是一個保留的本機環回地址127.0.0.53,使用53號端口,127打頭的IP地址都是保留的本機使用的測試地址,主機發送的目的地址為環回地址的IP數據報,不會發送到其他網絡,而是使用本機中的協議軟件進行處理,該虛擬機的DNS不用特殊配置。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖4:ubuntu虛擬機使用動態IP時得到的網絡運行屬性

下圖圖5是ubuntu03虛擬機操作系統啟動後的網絡狀態,ubuntu04與之相似,不重複列出。ubuntu虛擬機中dhcp設置為yes或true,但指定了IP地址和子網掩碼,網絡生效時會用指定的IP地址和子網掩碼,即便default switch的IP地址發生了變化,虛擬機的Ip地址還會使用指定的IP。沒有指定默認網關和DNS,讓系統自動獲取,未指定默認網關,自動使用default switch的地址做為默認網關;未指定DNS,使用本機環回地址,真正能查出域名對應的IP地址肯定在本虛擬機或管理主機是不可能的,需要通過虛擬交換機再到外網的dns server中去查。

本次配置的靜態IP地址按照當前Default Switch的IP和掩碼規則配置,確保在同一個網段。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖5:ubuntu虛擬機使用靜態IP時得到的網絡運行屬性

該場景下,A組ubuntu虛擬機之間可以相互ping通;管理主機設置合適的防火牆,可以和A組各虛擬機相互ping通;圖中的物理機A設置合適的防火牆後,管理主機、各虛擬機都能ping物理機A,但物理機A可以ping通管理主機,但ping不通各虛擬機。

該場景下,B組ubuntu虛擬機之間可以相互ping通;管理主機設置合適的防火牆,可以和B組各虛擬機相互ping通;圖中的物理機A設置合適的防火牆後,管理主機、B組各虛擬機都能ping通物理機A,但物理機A可以ping通管理主機,但ping不通各虛擬機。

上述兩組虛擬機,不管是自動獲得IP,還是配置的靜態IP,都和此時Default Switch 的ip地址及子網掩碼相匹配,故此時所有虛擬機、管理主機都能相互ping通;都能ping通物理機A,但物理機A能ping通管理主機,但ping不通各個虛擬機。各虛擬機和管理主機一樣,都能正常上外網。

下面測試第二種場景:B組的靜態IP地址不遵從虛擬交換機的規則。

重啟管理主機,默認的虛擬交換機的IP地址由172.17.90.161變成了192.168.107.177,B組虛擬機的靜態IP不做作修改,則B組的靜態IP地址已經和虛擬交換機的IP規則不一致。管理主機各網絡適配器的IP配置情況由圖2變成了下圖圖6的模樣。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖6:管理主機重啟後vEthernet虛擬交換機的IPv4地址發生了變化

此時採用動態主機配置協議dhcp的A組虛擬機,隨著Default Switch地址變化為192.168.107.177,虛擬機的動態IP和默認網關都隨之發生變化,虛擬機的IP遵從虛擬交換機的IP規則,默認網關變為虛擬交換機的IP,如下圖圖7所示。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖7:ubuntu虛擬機使用動態IP時得到的網絡運行屬性與虛擬交換機相匹配

此時採用靜態IP的ubuntu03和ubuntu04的情況如下圖圖8。網絡配置文件dhcp4設置為true或yes,設置dhcp動態主機配置協議生效,但卻配置了靜態IP,主機重啟後ubuntu的IP地址沒變,默認網關變成了新的Default Switch的IP地址,因此從虛擬機內部發起的申請會正確走到虛擬交換機,虛擬交換機使用NAT協議,讓虛擬機能正常上外網。

Win10 Hyper-V虛擬機網絡配置方式(3)-Defalut Switch

圖8:ubuntu虛擬機使用靜態IP時IP地址不變,自動使用虛擬交換機的IP做為網關

此時A組ubuntu虛擬機、管理主機能相互IP通;ubuntu01和ubuntu02和管理主機一樣能正常上外網;A組虛擬機和管理主機能ping通物理機A,但物理機A能ping通管理主機,ping不通各虛擬機。

此時B組ubuntu虛擬機、管理主機在合適的防火牆設置下能相互IP通;ubuntu03和ubuntu04和管理主機一樣能正常上外網;B組虛擬機和管理主機能ping通物理機A,但物理機A能ping通管理主機,ping不通各虛擬機。

B組虛擬機能ping通A組虛擬機;A組虛擬機ping不通B組虛擬機。

3、 使用Default Switch的初步總結

使用"網絡和Internet"的重置網絡功能,刪除所有網絡適配器然後重新安裝網絡適配器,可以將網絡組件恢復到原始設置,在管理主機的"網絡和共享中心"中設置不同網絡的網絡發現屬性。

"禁用Hyper-V"後,再"啟用Hyper-V",默認在管理主機上安裝虛擬網絡交換機vEthernet(Default Switch)。

創建虛擬機,使用該vEthernet做為虛擬機的網絡適配器,安裝操作系統,採用動態主機配置協議。每次重啟管理主機後即便vEthernet的IP地址變動了,各虛擬機還都能正常使用和上外網。

手動配置虛擬機的靜態IP,可以在配置文件的dhcp4一行的下面只添加靜態IP和掩碼,不需要配置默認網關和DNS,dhcp4的true或yes屬性也不需要修改。無論虛擬交換機vEthernet(Default Switch)的IP怎樣變化,靜態配置的虛擬機的IP都不會變化,但網關會隨著變化,這樣指定了靜態IP虛擬機可以正常使用和上外網。

使用靜態IP虛擬機A與動態獲得IP的虛擬機B,都使用同一臺默認的虛擬交換機,在起IP地址規則不同時,虛擬機B能ping通虛擬機A,但A虛擬機ping不通虛擬機B,規則相同時都能互相ping通。

每次重啟主機時vEthernet(Default Switch)的IP地址總變化,導致使用動態主機配置協議dhcp的虛擬機的IP地址總變化,很不方便。

Ubuntu虛擬機中,/etc/hostname中存放的是主機名;/etc/hosts中存放的是域名和IP的對應關係。主機名和域名是比較固定的,在虛擬機之間可以引用該域名,但管理主機ping不通虛擬機的域名。

用默認的內部網絡虛擬交換機vEthernet(Default Switch) 構建的虛擬網絡,網絡訪問方向是單向的,即由虛擬機可以訪問管理主機,可以訪問管理主機所在的網絡的主機,可以訪問外網(當然前提是管理主機能上外網);但管理主機所在網絡的主機及其他網絡的主機不能訪問虛擬機。


分享到:


相關文章: