我在 Windows 10 计算机上安装了带有 Hyper-V 的 Ubuntu 18.04 虚拟机。虚拟机可以通过默认虚拟网络交换机访问互联网,但我无法使用从 ifconfig 获得的主机 eth0 IPv4 地址对其进行 ping 操作或从主机进行 ssh 连接。
虚拟机 IP:172.28.141.148
主机 IP:172.25.153.63
我使用默认虚拟交换机设置了虚拟交换机。我相信它已经配置好了。
答案1
从您提供的信息来看,您的 NAT 设置可能不正确,因为如果设置正确,您应该能够使用 SSH。只需在 HyperV 上创建新的 NAT,将 VM 设置为使用新的 NAT,然后查看是否遇到相同的问题。
在主机上使用 PowerShell 运行;
$switchName = "InternalNAT"
New-VMSwitch -Name $switchName -SwitchType Internal
New-NetNat –Name $switchName –InternalIPInterfaceAddressPrefix "192.168.0.0/24"
$ifIndex = (Get-NetAdapter | ? {$_.name -like "*$switchName)"}).ifIndex
New-NetIPAddress -IPAddress 192.168.0.1 -InterfaceIndex $ifIndex -PrefixLength 24
如果主机上没有 DHCP,则需要在客户虚拟机上手动将 IP 设置为 NAT 范围内的 IP。
然后你就可以从主机的 22 端口通过 SSH 进入虚拟机了
参考:
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization