为Hyper-V里的Windows虚拟机设置静态IP
Hyper-V的虚拟机默认使用Default Switch虚拟网卡来连接宿主机的网络,好处是不需要自己单独配置网络,直接切换选择使用就可以。但倘若是物理机使用mstsc远程连接到当前的虚拟机里,默认的Default Switch虚拟网卡就不能很好的满足我们的需求了,毕竟那玩意儿ip重启就变……
写在前面
如果是需要局域网内其它设备访问虚拟机,那请移步下一篇文章:
简单说明
Default Switch
:Hyper-V默认使用的网络E0
:手动创建的虚拟内部网络
虚拟机内访问互联网的网络由Default Switch虚拟网卡提供。而E0虚拟网卡则通过设置任意的静态IP(非本地回环等一些特殊的ip地址),对宿主机提供内网服务。
1.错误方式
Default Switch
网卡会dhcp获取与设置的静态ip不一致,导致虚拟机内部无法连接到互联网。后来很长一段时间里,一直使用的是新建内部网络来设置静态IP供mstsc使用。但是有个问题,若虚拟机需要连接到互联网,这时候需要共享宿主机的网络到内部网络里,而且似乎只能选择一个内部网络共享?最伤的还是,有时候宿主机开机后,Windows11 6月份的补丁很容易导致无法连接网络,所以每次只能卸载6月份更新的内容,要不然就是取消共享网络,改用回默认网卡,很是不便利。
2.正确方式
某天点着Hyper-V的设置,突然想起可以给虚拟机设置多网卡啊,这样问题不就得到解决了?
确实如此:使用 Default Switch
虚拟网卡来访问互联网,而自建的 E0
虚拟网卡用来设置静态IP,供同宿主机连接访问使用。
Default Switch
虚拟网卡来提供,虚拟机与宿主机直接的网络连接由 E0
虚拟网卡提供,两者互不冲突(前提是你ip不能设置为一样的)。而通过共享、桥接、将Default Switch
网卡设置为静态IP的等方式,多多少少需要等待一会儿才能访问互联网,而且很有可能还会出现连接失败、受限制的问题,这并不方便。2.1 新建内部网络
设置,虚拟交换机管理器,添加一个内部网络,名称随意。为了方便记录,博主这里用的是 E0
。
2.2 使用内部网络
找到对应的虚拟机,设置,添加网络硬件,选择上面创建好的 E0
网卡,下方网络加入。
2.3 设置静态IP(虚拟机)
虚拟机里找到网络适配器,找到创建好的 E0
虚拟内部网卡,将其ipv4信息“任意”填写一下。注意,这里不能使用本地回环等一些特殊的IP地址。比如:可以填写我们常见的 192.168.x.x
,后面两段就随意了。
2.4 使用方式
如果需要访问到该虚拟机,直接使用上面分配好的ip地址就可以了。
碎碎念
宿主机里的内部网络状态为“未知网络”?可以按照“设置静态IP(虚拟机)”的方式,在宿主机里操作一遍,注意:对象为你创建的内部网络,如本文的 E0
。