微软官方教程:设置 NAT 网络 | Microsoft Docs设置 NAT 网络https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/user-guide/setup-nat-network#create-a-nat-virtual-network本文主要基于上述微软官方教程,进行了探索。
补充说明:本教程仅是让虚拟机能够连接外网,不保证外网能访问到该虚拟机。
在hyper-V(win10 homebasic)中创建了centos7.4虚拟机,起初通过centos网络配置后,可以连接互联网,但是过了一段时间后,莫名其妙的无法连接互联网了,本文章主要解决该问题。
前提条件:
注意:有些解决方案,显示需要创建“外部”虚拟网卡,以通过物理机访问互联网。本人没有研究,但是看起来比较复杂,而且容易导致本机网络出现问题。因此,不建议这样做。根据本教程,完全可以通过内部虚拟网卡,实现虚拟机的网络访问,原理就是通过“NAT”网络(网络地址转换),感兴趣的自己查阅相关资料。
3. 以管理员身份,打开PowerShell,不要用cmd.
我这里是22. 后面要用。
Get-NetAdapter
PS C:\WINDOWS\system32> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
WLAN Intel(R) Dual Band Wireless-AC 8265 15 Up 50-76-AF-1A-D1-E1 300 Mbps
蓝牙网络连接 Bluetooth Device (Personal Area Netw... 9 Not Present 50-76-AF-1A-D1-E5 0 bps
vEthernet (Default Swi... Hyper-V Virtual Ethernet Adapter 22 Up 00-15-5D-31-6E-00 10 Gbps
Remove-NetIPAddress -InterfaceIndex 22
Remove-NetNat
New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 22
在这里,本人配置ip地址为192.168.0.1,子网掩码长度为24,其实也可以配置成其他的地址,大家可自行尝试。
配置好后,可以通过以下指令查看:
Get-NetIPAddress -InterfaceIndex 22
New-NetNat -Name MyNATnetwork -InternalIPInterfaceAddressPrefix 192.168.0.0/24
其中,-Name内容是自定义的,后期可以通过该名字去除该NAT网络配置,即
Remove-NetNat -Name MyNATnetwork.
大家可以看到在3.3中并没有这样做,就是默认去除所有的配置。
Get-NetNat -Name MyNATnetwork
如果能看到,则证明配置成功。
PS C:\WINDOWS\system32> Get-NetNat -Name MyNATnetwork
Name : MyNATnetwork
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 192.168.0.0/24
IcmpQueryTimeout : 30
TcpEstablishedConnectionTimeout : 1800
TcpTransientConnectionTimeout : 120
TcpFilteringBehavior : AddressDependentFiltering
UdpFilteringBehavior : AddressDependentFiltering
UdpIdleSessionTimeout : 120
UdpInboundRefresh : False
Store : Local
Active : True
教程很多,大家自行搜索吧。
大致就是在root账户下,修改/etc/sysconfig/network-scripts/目录下对应网卡的配置文件,然后通过
systemctl restart network
命令,重启网络。
配置项主要是ip分配方式、ip地址,网关地址,dns地址。
ip分配方式上喜欢静态分配,即static
ip地址自己设定,跟上述配置在一个网段即可,
网管地址就是上面设置的NAT网关IP,
dns地址也可以直接填上面设置的NAT网关IP。
希望本教程能给大家带来帮助,如有问题,请留言探讨。
最近发现一个问题,适配器配置的ip有可能会自动重置为172网段的,如果连接不上虚拟机的话,可以先检查下是否存在问题,如有问题,直接修改为和虚拟机网络一样即可。自己的配置如下,供参考:
如果按照上述步骤配置完后,如果发现每次重启windows系统后,虚拟网卡的ip地址会被重置为172网段,这是正常的,是win10的默认行为。但是,这会导致按照设置的ip地址通过ssh连不上虚拟机,并且虚拟机无法上网。大家不怕麻烦的话,直接把虚拟网卡地址改成跟设置的虚拟机IP地址同网段即可。
实际上,还有种更巧妙的方法,就是为虚拟机设置双网卡,大家感兴趣的话可以自行搜索。我也会根据情况,计划在后面专门讲一下这个事情。