玩轉神龍伺服器的Hyper-V虛擬化網路配置之保持虛擬機器網路連通性
相信已經有同學已經在神龍上部署了Hyper-V了。又可以隨心所欲的建立VM玩耍了。但是關於Hyper-V虛擬機器的網路配置,相信還有一些同學沒有玩過。
首先,我們來簡單介紹下Hyper-v的三種虛擬交換機的型別:
- 外部交換機
這種交換機允許虛擬機器訪問到真實的物理網路。虛擬機器之間和Hyper-V Server (這裡是我們的神龍物理機)也可以相互訪問。
Hyper-V Server作業系統的直觀變化:
建立一個虛擬網路卡,將真實網路卡的所有協議轉移到這個網路卡上,真實網路卡只保留 LLDP 協議和 Hyper-V Extensible Virtual Switch協議。
真實網路卡充當了虛擬交換機的角色。
- 內部交換機
這種交換機允許虛擬機器以及Hyper-V Server之間相互訪問。除非特殊配置,虛擬機器無法訪問真實網路。
Hyper-V Server作業系統的直觀變化:
建立一個和真實網路卡一樣的虛擬網路卡。真實網路卡仍保持原有的功能。
- 專用(私有)交換機
這種交換機只允許虛擬機器之間相互訪問。無法訪問Hyper-V Server及真實網路。
Hyper-V Server作業系統的直觀變化:
無任何變化。
在真實的物理環境中,我們一般通過建立外部交換機從而讓虛擬機器能夠無需額外配置就能訪問。但是在神龍環境中,我們無法這樣做。因此我們需要通過建立 內部交換機 再通過NAT的方式來使虛擬機器訪問網路。也就是說,我們要做這樣一件事:
為了方便測試,所有步驟使用Powershell 命令。具體步驟如下:
注:以下方法僅適用於作業系統為Windows Server 2016 和 Windows 10 或更高的版本的神龍伺服器。對於Windows Server 2012 R2, 需要安裝額外的元件來完成這一操作,這個會在後面的文章中講到。
安裝Hyper-V
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
執行完後會自動重啟兩次。
建立虛擬交換機
- 建立內部交換機。
New-VMSwitch -name "XDragonInternalSwitch" -SwitchType Internal
- 建立NAT GateWay.
$NATGatewayIP = "192.168.100.1"
$PrefixLength = 24
$xdragonswitch = Get-NetAdapter | ? {$_.Name -like "*XDragonInternalSwitch*"}
New-NetIPAddress -IPAddress $NATGatewayIP -PrefixLength $PrefixLength -InterfaceIndex $xdragonswitch.ifIndex
其中 $NATGatewayIP 是內部交換機的虛擬網路卡的IP.這個值和 $PrefixLength可以按例項需要指定。
- 建立NAT 網路.
$Prefix = "192.168.100.0/24"
New-NetNat -Name XDragonNATNetwork -InternalIPInterfaceAddressPrefix $Prefix
注意這裡的$Prefix要和第2步建立Gateway保持一致性。
建立虛擬機器
這裡我預先Copy了阿里雲的映象VHD檔案win2016_64_dtc_1607_en-us_40G_noxen_20180801.vhd放在了D盤。我會為每一個虛擬機器新建一個基於此VHD的差異磁碟。
New-VHD -ParentPath D:win2016_64_dtc_1607_en-us_40G_noxen_20180801.vhd -Path "D:Hyper-VVM1Virtual Hard DisksVM1.vhd" -Differencing
New-VM -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath "D:Hyper-VVM1Virtual Hard DisksVM1.vhd" -Path "D:Hyper-V" -Generation 1 -Switch XDragonInternalSwitch
Start-VM -Name VM1
安裝DHCP Server (可選)
當要建立多臺VM,還為每一個VM配靜態IP是一件麻煩事。我們可以在Hyper-v Server上建立DHCP伺服器。這樣,VM無需任何網路配置就可以正常連線了。
$NatGatewayIP = "192.168.100.1" # 這裡必須是內部交換機虛擬網路卡的IP
$DNSServers = ("100.100.2.136", "100.100.2.138") # 這裡必須是Hyper-V Server的真實DNS Server 配置
$DHCPServerStartIP = "192.168.100.10" # 開始分發的IP, 自定義
$DHCPServerEndIP = "192.168.100.200" # 結束分發的IP, 自定義
$SubnetMask = "255.255.255.0"
Install-WindowsFeature DHCP -IncludeManagementTools
netsh dhcp add securitygroups
Restart-service dhcpserver
Set-DhcpServerv4DnsSetting -DynamicUpdates "Always" -DeleteDnsRRonLeaseExpiry $True
Add-DhcpServerv4Scope -name "XDragonHyperVVMs" -StartRange $DHCPServerStartIP -EndRange $DHCPServerEndIP -SubnetMask $SubnetMask -State Active
Set-DhcpServerv4OptionValue -DnsServer $DNSServers -Router $NatGatewayIP
或者,不在Hyper-V Server上,可以單獨建立一個VM,配成DHCP Server. 原理差不多。
配置虛擬機器網路
如果我們在Hyper-V Server或者另起一臺VM配了DHCP Server的話,這一步就無需配了。直接就可以連網了。
如果我們沒有配置DHCP Server,那麼當虛擬機器啟動後,我們要對虛擬機器的網路卡做如下的IP的配置:
IP: 192.168.100.2 (NAT 網路範圍內任一沒有使用的IP都可以)
Subnet: 255.255.255.0 (根據 NAT 網路的Prefix確定)
Gateway: 192.168.100.1 (NATGatewayIP,即Hyper-V Server上內部交換機虛擬網路卡的IP)
DNS: 100.100.2.136/100.100.2.138 (Hyper-V Server上真實網路卡的DNS)
這樣,虛擬機器就可以正常訪問外部網路了。
參考:
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
https://docs.microsoft.com/en-us/powershell/module/hyper-v/new-vhd?view=win10-ps
https://docs.microsoft.com/en-us/powershell/module/hyper-v/new-vm?view=win10-ps
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/setup-nat-network
https://docs.microsoft.com/en-us/windows-server/networking/technologies/dhcp/dhcp-deploy-wps
相關文章
- 虛擬機器VMWARE與其網路配置(包你玩轉虛擬機器)(轉)虛擬機
- CentOS 7 虛擬機器連線網路CentOS虛擬機
- 虛擬機器與宿主機的網路連線虛擬機
- win10虛擬機器網路設定_win10虛擬機器怎麼連線網路Win10虛擬機
- 在Hyper-V的虛擬機器中使用無線網路虛擬機
- 虛擬機器網路啟用虛擬機
- 虛擬機器網路設定虛擬機
- 虛擬機器入門二,虛擬機器的三種網路模式虛擬機模式
- 網路虛擬化之linux虛擬網路基礎Linux
- 轉帖VMware虛擬機器的網路設定虛擬機
- VMWare虛擬機器 網路連線模式介紹虛擬機模式
- 配置虛擬機器NAT模式網路虛擬機模式
- 克隆後虛擬機器網路配置虛擬機
- vmware虛擬機器網路中斷虛擬機
- Linux虛擬機器網路配置Linux虛擬機
- 主機網路連線到VMware虛擬機器的方法虛擬機
- VMware虛擬機器的網路設定虛擬機
- 網路虛擬化VXLAN網路架構架構
- KVM [ 4 ] --- KVM虛擬機器管理:儲存池,虛擬機器快照,網路網橋虛擬機
- 設定Kali Linux虛擬機器連線網路Linux虛擬機
- 設定virtualBox讓虛擬機器連線網路虛擬機
- 虛擬機器NAT模式網路連線設定ssh虛擬機模式
- 虛擬機器上網(轉)虛擬機
- VMware虛擬機器下網路連線的三種模式虛擬機模式
- VMware虛擬機器直連物理網路的兩種方式虛擬機
- 主機網路連線到VirtualBox虛擬機器的方法虛擬機
- 虛擬機器網路的2個問題虛擬機
- 配置虛擬機器網路的三種方式虛擬機
- 網路虛擬化技術棧
- VMware虛擬機器三種網路模式詳解(轉)虛擬機模式
- win10虛擬機器沒有網路怎麼辦 win10虛擬機器沒有網路連線如何解決Win10虛擬機
- virtualbox虛擬機器橋接網路連線方式配置虛擬機橋接
- 虛擬機器設定中的各種網路連線方式虛擬機
- 理解VMware虛擬機器下網路連線的三種模式虛擬機模式
- 如何在無線區域網中為Hyper-V虛擬機器提供網路接入虛擬機
- 虛擬化網路演進模擬對話
- 07、環境-虛擬機器網路設定虛擬機
- VMware虛擬機器網路配置的三種模式虛擬機模式