引言:在 Windows Server 2016(以下簡稱WS2016)或 Windows 10中構建 Hyper-V 虛擬交換機(Virtual Switch )的目的,是讓虛擬機通過NAT訪問外部網絡。NAT的作用是讓專用網絡采用單一IP地址連接外部的大型網絡,這樣網絡中多臺機器只占用大型網絡一個IP,有利于大型網絡的資源分配。
在Windows Server 2016(以下簡稱WS2016)或 Windows 10中構建 Hyper-V虛擬交換機(Virtual Switch)的目的,是讓虛擬機通過NAT(網絡地址轉換)訪問外部網絡。NAT的作用是讓專用網絡采用單一IP地址連接外部的大型網絡,此即意味著專用網絡中多臺機器只占用大型網絡一個IP,從而有利于大型網絡的資源分配。
NAT案例在實際應中較為常見,某教學機房全部PC都是運行Client Hyper-V的Windows 10,而每臺PC都可以被網絡系統識別為虛擬機。具體而言,在機房實訓室內需要教授Windows服務器云存儲技術,此時教師需要為每個學員提供一組機器,包括域控制器、文件服務器、SQL Server實例等。此時,教師并不需要為每臺主機生成惟一的域,當然此時每臺機器都有自己惟一的LAN地址。為此,教師可以選中一組機器加以配置,將它們復制到每部主機后將其導入到Hyper-V中。此時的網絡環境便可由支持NAT功能的虛擬交換機提供,這就意味著虛擬機可以連接到LAN,并且可以通過主機的LAN IP地址互聯。現在就來介紹具體實現方式。
在Windows 10或WS2016 Hyper-V機器上,可以通過三行PowerShell命令執行NAT虛擬交換機。首先需要生成一個內部虛擬交換機,該交換機并不連接主機物理網卡,此時主機操作系統具有一個連接虛擬交換機的虛擬網卡。也就是說,內部交換機所連的虛擬機可以和主機交談,但它們并不能與主機所連網絡進行交流。生成內部虛擬交換機的PowerShell命令行如下所示:

第二步,需要將主機管理系統中的虛擬網卡連接到內部虛擬交換機,此時通過PowerShell命令為虛擬網卡分配IPv4地址,它也就是我們所要生成的NAT網絡的默認網關,該PowerShell命令如下:


最后,需要對運行虛擬交換機的NAT網絡配置網絡地址,也就是調用虛擬交換機的虛擬機器所需的專用地址段,PowerShell命令如下:

此時,虛擬交換機上運行的任何虛擬機所采用的IPv4地址范圍應當是192.168.0.0,這些機器需要通過操作系統內的網卡和NAT由 LAN 進行路由。
需要指出的是,此時的虛擬交換機并不具有 DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)功能,所以只能為機器分配靜態IP地址。當然,我們也可以為其分配DHCP服務器。
為了讓NAT虛擬交換機上的虛擬機享有運行在LAN上的DHCP服務,管理員需要為每個客戶系統手工分配IPv4 地址,這樣做較為費事,此時可以考慮為虛擬交換機上的虛擬機分配一臺或更多DHCP服務器。但要注意不要讓DHCP服務器連接外部虛擬交換機。WS2016中提供的PowerShell命令可以進行IP地址分配,具體操作如下:
1.登錄虛擬機(比如名為My-VM1),命令為:

2.提取所要配置的適配器的名稱,命令為:

3.設置IP地址、子網掩碼以及默認網關,命令如下所示:

4.設置DNS(域名服務器),命令如下:
