xiobb笔记本

[旧文] 【折腾】Hyper-V虚拟机连接外网的两种模式与操作


背景

之前有在使用Hyper-V的过程中遇到过问题,那就是关于虚拟机的联网。
Server系统下没有默认的Default Switch,桥接也在当时的场景下不起作用,当时可头疼了好久。
那么,我们必须知道 ”外部“ 和 Default Switch 都是什么东西。

两种结构

桥接

这是 Hyper-V 中最简单的一种连接外网的方法(在 Windows Server 且无 Default Switch的情况下),但是有时可能因物理路由器的配置而无法连接。Windows Server开启Hyper-V时显示的创建虚拟交换机使用的就是这个模式。(在物理机路由没有DHCP的情况下,选择用于远程连接的网卡或许会导致断网)
简单来讲, 桥接网络的意思就是在两个网络之间搭上一座桥。他们会共用网段和网段。因此,物理机和虚拟机在同一个网络下,在路由器里面可以看到虚拟机上线。
这种方法可能会因为路由器而无法连接外网。那么我们就需要知道另一种方法了。

NAT

这种虚拟交换机不能直接在Hyper-V中创建,但是普通版本Windows自带一个Default Switch使用的是这个模式。但是Hyper-V本身支持,没有需要在Powershell中开启,下文中会写到。
这玩意叫做 网络地址转换(Network Address Translation) ,是为了IPv4不足而诞生的。这种模式下,虚拟机间是一个局域网,是与外部分离的,连接外网时通过物理机网卡上网,路由器只能看到一个物理机IP。
这种情况,物理机也能得到一个与NAT虚拟机网络同网段的内网IP,用于与内部通信。

Hyper-V中配置NAT网络

请注意:这个交换机和Default Switch会冲突,一台物理机只能有一个NAT网络,因为他们的网段都是192.168.137.

创建交换机

首先,你需要在 Hyper-V管理器 中,新建一个虚拟交换机。
给他命名一个英文名字,这里以“nat” 为例,配置完成后虚拟机可以选择这个网卡来上网。
注意:这个交换机的类型选择内部!!
title=

配置NAT

以管理员身份打开 PowerShell,运行以下命令
首先查询nat虚拟网卡的ifindex(千万不要看成物理网卡的!!),后面需要用到:

Get-NetAdapter

建立网关,分配IP给适配器

New-NetIpAddress -IPAddress 192.168.137.1 -PrefixLength 24 -InterfaceIndex 你刚刚获取到的NAT网卡的ifindex 

配置一下网段

New-NetNat -Name vmnat -InternalIPInterfaceAddressPrefix 192.168.137.0/24

完成,现在可以给虚拟机选择nat网卡来上网了。
注意:如果没有自动分配IP,请手动分配。ip为 192.168.137.(2-255),掩码为255.255.255.0,网关为192.168.137.1,记得配置dns。

补充:桥接网络的简单配置方法

创建界面选择外部即可,如图
title=


评论区


这里一片空白,期待你的评论!

发表你的看法






找到我
Find me
邮箱 ->
留言本 ->
BiliBili ->


项目
Projects
xiobb笔记本 ->
7iNet ->