在WS2016或 Windows 10中 構(gòu) 建Hyper-V 虛擬交換機(jī)(virtual switch)的目的,是讓虛擬機(jī)通過NAT (network address translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)訪問外部網(wǎng)絡(luò)。
我們知道,NAT的作用是讓專用網(wǎng)絡(luò)采用單一IP地址連接外部的大型網(wǎng)絡(luò),此即意味著專用網(wǎng)絡(luò)中多臺(tái)機(jī)器只占用大型網(wǎng)絡(luò)一個(gè)IP,從而有利于大型網(wǎng)絡(luò)的資源分配。NAT案例在實(shí)際應(yīng)中較為常見,例如某個(gè)教學(xué)機(jī)房全部PC都是運(yùn)行Client Hyper-V的Windows 10,而每臺(tái)PC都可被網(wǎng)絡(luò)系統(tǒng)識(shí)別為虛擬機(jī)。
在Windows 10或WS2016 Hyper-V機(jī)器上,然后我們就可以通過三行的PowerShell的命令來執(zhí)行NAT虛擬交換機(jī)。
第一步,我們需要生成一個(gè)內(nèi)部虛擬交換機(jī),該交換機(jī)并不連接主機(jī)物理網(wǎng)卡,此時(shí)主機(jī)操作系統(tǒng)具有一個(gè)連接虛擬交換機(jī)的虛擬網(wǎng)卡。
也就是說,內(nèi)部交換機(jī)所連的虛擬機(jī)可以和主機(jī)交談,但它們并不能與主機(jī)所連網(wǎng)絡(luò)進(jìn)行交流。生成內(nèi)部虛擬交換機(jī)的PowerShell命令行如下所示:
New-VMSwitc h-SwitchName“NATSwitch”-SwitchType Internal
第二步,我們需要將主機(jī)管理系統(tǒng)中的虛擬網(wǎng)卡連接到內(nèi)部虛擬交換機(jī)上。此時(shí),通過PowerShell命令可以為虛擬網(wǎng)卡來分配IPv4地址,這也就是我們所要生成的NAT網(wǎng)絡(luò)的默認(rèn)網(wǎng)關(guān),該P(yáng)owerShell命令如下所示:
New-NetIPAddress-IPAddress 192.168.0.1-PrefixLength24-InterfaceAlias“vEthernet (NATSwitch)”
最后需要對(duì)運(yùn)行虛擬交換機(jī)的NAT網(wǎng)絡(luò)配置網(wǎng)絡(luò)地址,也就是調(diào)用虛擬交換機(jī)的虛擬機(jī)器所需的專用地址段,PowerShell命令如下所示:
New-NetNAT -Name“NATNetwork” -InternalI PInterfaceAddressPrefix 192.168.0.0/24
此時(shí),虛擬交換機(jī)上運(yùn)行的任何的虛擬機(jī)所采用的IPv4地址范圍應(yīng)當(dāng)是192.168.0.0,這些機(jī)器需要通過操作系統(tǒng)內(nèi)的網(wǎng)卡和NAT由 LAN 進(jìn)行路由。
需要指出的是,此時(shí)的虛擬交換機(jī)并不具有 DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)功能,所以,只能為機(jī)器分配靜態(tài)IP地址,當(dāng)然我們也可以為其分配DHCP服務(wù)器。
為了讓NAT虛擬交換機(jī)上的虛擬機(jī)享有運(yùn)行在LAN上的DHCP服務(wù),管理員需要為每個(gè)客戶系統(tǒng)手工分配IPv4地址,這樣做較為費(fèi)事,此時(shí)可以考慮為虛擬交換機(jī)上的虛擬機(jī)分配一臺(tái)或更多DHCP服務(wù)器。
注意,不要讓DHCP 服務(wù)器連接外部虛擬交換機(jī)。
WS2016中 提 供 的PowerShell命令可以進(jìn)行IP地址分配,具體操作如下:
(1)登錄虛擬機(jī)(比如名為 My-VM1),命令為 :Enter-PSSession -VMName Petri-VM1
(2)提取所要配置的適配器的名稱,命令為:Get-NetAdapter
(3)設(shè)置IP地址,子網(wǎng)掩碼以及默認(rèn)網(wǎng)關(guān),命令如下所示:
New-NetIPAddress-InterfaceAlias"Ethernet2"-IPAddress 192.168.0.31-PrefixLength24-DefaultGateway 192.168.0.1
(4)設(shè)置DNS(域名服務(wù)器),命令如下所示:
Set-DnsClientServerA ddress -InterfaceAlias"Ethernet2"-ServerAddresses"208.67.222.222,208.67.2 20.220"。