Hyper-V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网。但是这个网段不能自定义。

有条件的话可以使用桥接模式,这样虚拟机和物理机对外处于一个子网内,IP是由路由器(或者其他网络设备)分配。可以跳过后面的内容。

添加虚拟交换机

以管理员身份启动PowerShell

Win11和新一点的Win10系统可以通过右键点击开始菜单,选择Windows 终端(管理员)打开

1
2
# 创建虚拟交换机,等同于在Hyper-V管理器界面中新建虚拟网络交换机
New-VMSwitch -SwitchName "NAT" -SwitchType Internal

可以到Hyper V管理器 虚拟交换机管理器 新建虚拟交换机
类型选择内部

手动创建虚拟交换机

设置ip地址

1
2
3
4
5
# 获取虚拟交换机的ifindex,并赋值到变量中
$ifindex = Get-NetAdapter -Name "vEthernet (NAT)" | Select-Object -ExpandProperty 'ifIndex'
# 在虚拟交换机上设置固定IP,用于网关IP
New-NetIPAddress -IPAddress 192.168.200.1 -PrefixLength 24 -InterfaceIndex $ifindex

1
2
3
进入windows设置,给网卡`vEthernet (NAT)`设置固定ip和子网掩码

![手动设置](https://static.zahui.fan/images/Snipaste_2022-01-13_09-43-03.png)

创建NAT网络

1
2
# 192.168.200.1也就是网关地址
New-NetNat -Name NAT -InternalIPInterfaceAddressPrefix 192.168.200.1/24

删除NAT网络

1
2
Get-NetNat                  # NAT网络保持一个就行了,可以删除后重新创建
Remove-NetNat NAT # 删除nat网络