Hyper-V创建虚拟机配置IP等网络配置原理(Linux、Windows为例)
大家知道Windows系统里面内置了Hyper-V管理器,用来创建和管理本地虚拟机环境。今天我创建了两台虚拟机,一台是CentOS7.9(Linux),另一台是Windows 11,然后发现,Linux虚拟机网络不通,默认没有设置本地网络配置。而 Windows11虚拟机却可以。研究了下原因,解决办法总结如下:
虚拟交换机管理器
Hyper-V 管理员需要确定哪些 Hyper-V 网络特性和功能是可用的,以及在执行工作负载迁移之前如何使用它们。 Hyper-V 中的网络包含两个主要组件:虚拟网络适配器和虚拟交换机。 若要在网络上进行通信,请在 VM 上配置虚拟网络适配器,并连接到虚拟交换机上的端口。
在Hyper-V管理器里面,有个“虚拟交换机管理器”的组件专门用来管理网络接口。可以在Hyper-V管理器左侧菜单的服务器名称上右键菜单里找到它,也可以在右侧的预览窗口里快速找到它。如图:

在“虚拟交换机管理器”可以配置或新增网络交换机/接口。也可以自定义配置“MAC地址范围”。
这里我使用系统默认的虚拟网络交换机:Default Switch(默认网络)。如图:

虚拟交换机类型
虚拟交换机用于控制网络流量的流动方式,包括托管在 Hyper-V 服务器上的 VM 之间的网络流量,以及 VM 和其他组织网络之间的网络流量。 下表详细介绍了这三种类型的虚拟交换机:内部、外部和私有。
| 类型 | 说明 |
|---|---|
| 内部(Internal) | 内部虚拟交换机用于在 Hyper-v 主机上的每个 VM 之间进行通信,以及在 VM 与 Hyper-V 主机之间进行通信。 |
| 外部(External) | 外部虚拟交换机用于将网络映射到特定网络适配器或网络适配器组。 Hyper-V 还支持将外部网络映射到无线网络适配器。 若要将外部网络映射到无线适配器,请在 Hyper-V 主机服务器上安装无线局域网 (LAN) 服务,并确保 Hyper-V 服务器具有兼容的网络适配器。 |
| 私有/专有(Private) | 专用交换机有助于同一 Hyper-V 主机上的 VM 之间的通信。 专用交换机不能用于 Hyper-V 主机和 VM 之间的通信。 |
- 外部(bridge):该模式下虚拟机与主机同级别,仿佛是同一局域网下的独立计算机,虚拟机通过虚拟交换机访问外部网络。
- 内部(NAT):该模式下虚拟机通过虚拟交换机与主机进行端口映射,进而访问外部网络,交换机用于虚拟机与主机之间的连接,虚拟机更像是位于主机的子网中。
- 专用(host-only):该交换机只负责虚拟机之间的通讯。
提示:
在配置虚拟网络时,还可以配置虚拟 LAN (VLAN) ID,然后将该 ID 与网络相关联。 使用此配置将外部网络上的现有 VLAN 扩展到 Hyper-V 主机的网络交换机内的 VLAN。提示:
可以使用 VLAN 对网络流量进行分区。 VLAN 充当单独的逻辑网络。 若有流量通过路由器,则该流量只能从一个 VLAN 传递到另一个 VLAN。
我这里不搞太复杂,仅研究一下默认设置项Default Switch(默认网络)的内部网络(NAT):
该模式下虚拟机通过虚拟交换机与主机进行端口映射,进而访问外部网络,交换机用于虚拟机与主机之间的连接,虚拟机更像是位于主机的子网中。
那么,就从Hyper-V宿主机的 “控制面板\所有控制面板项\网络连接”里面寻找对应的网络适配器组件,会发现有很多“Hyper-V Virtual Ethernet Adapter #1”,“Hyper-V Virtual Ethernet Adapter #2”……等适配器。这里需要注意 vEthernet (Default Switch) 和 vEthernet (WLAN) 他们就是我配置虚拟机网络的来源(交换机)

vEthernet (Default Switch) 右键/属性/IPv4配置:

请记住,这里的ip地址和子网掩码将是虚拟机的网关和子网掩码。
vEthernet (WLAN) 右键/属性/IPv4配置:

以上配置也可以通过 cmd命令行窗口执行 ipconfig /all 查看到:

Hyper-V管理器创建的CentOS(Linux)虚拟机配置网路
Hyper-V管理器创建的CentOS(Linux)虚拟机,默认没有配置网络设置,更没有配置IP、DNS等网络信息。
首先,通过ip addr 命令查看确定当前虚拟机的默认网络接口,默认配置:

可以看到默认网络接口文件是 eth0,那么我们直接编辑配置:
vi /etc/sysconfig/network-scripts/ifcfg-eth0

| 配置项 | 说明 |
|---|---|
| BOOTPROTO=static | 标识设置为静态IP |
| ONBOOT=yes | 开机启动 |
| IPADDR | 静态IP,与虚拟网卡在同一个网段即可 |
| GATEWAY | 网关 |
| NETMASK | 子网掩码 |
配置DNS:vi /etc/resolv.conf,与Hyper-V管理器所在主机的DNS相同即可。

- 注意:编辑网络配置后需要重启网络服务才能生效。
systemctl restart network.service

网络设置成功后再次查看:

从虚拟机外面检查连通性:

至此,通过Default Switch(默认网络)的内部网络(NAT)设置虚拟机网络就完成了。
Hyper-V管理器创建的Windows11虚拟机配置网路
略。
参考:配置 Hyper-V 网络 来自 Microsoft Learn
参考:hyper-v虚拟机网络配置_03
参考:Hyper-V创建多台Linux虚拟机,配置静态IP,实现互通
参考:win10虚拟机Hyper-V安装部署配置linux系统(四)
Hyper-V创建虚拟机配置IP等网络配置原理(Linux、Windows为例)的更多相关文章
- Hyper-V虚拟机和主机的网络配置
Hyper-V虚拟机和主机的网络配置 方式1.共享式 这种方式是将Hyper-V内部的虚拟网络与外部网络共享.使得内部是一个私有的网络.属于NAT的类型.(不知道这么说对不对) 优点: 相对来说属于私 ...
- Linux下IP等网络配置
Linux下IP等网络配置: 我所知道一共三种方式,下面简单介绍(注意:网络配置必须”root管理员“登录才能进行配置). 一 1.首先在命令行输入[ifconfig]命令,可看到相关网络信息,其中” ...
- Linux配置篇 - Vmware网络配置
网络配置 VM 网络详解 vmware提供了三种网络工作模式,Bridged(桥接模式).NAT(网络地址转换模式).Host-Only(仅主机模式): vmware网络配置步骤:编辑 -> 虚 ...
- 虚拟机下克隆3个centos系统并配置IP访问网络(转载)
此文是保证linux系统能够上网 先查看本机的IP 打开虚拟机,更改虚拟机为桥接方式 在第一个虚拟机上打开终端,在命令行输入setup,选择NETWORK CONFIGRATION 回车后, 配置IP ...
- CentOS7 最小安装 vmware 创建虚拟机 nmcli ip systemctl
镜像网站 一些开源软件的国内镜像源 站点版 (一).企业站 1.搜狐:http://mirrors.sohu.com/ 2.网易:http://mirrors.163.com/ 3.阿里云:http: ...
- 在mac版virtual box中安装ubuntu虚拟机的NAT/Host-Only网络配置踩坑记录
之前用惯了vmware和parallels desktop,网络配置十分智能,基本不用自己配置.由于版权原因,工作电脑上换了免费的virtual box用,四五年都完全在虚拟机里干活的本菜鸡居然在虚拟 ...
- 2016-11-10:win7下VMware虚拟机中CentOS6.5网络配置
在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网. 1 配置VMware虚拟网络编辑器 VMnet0 桥接模式 VMnet1仅主机 ...
- win10 下使用虚拟机安装ubuntu及其网络配置
通过虚拟机安装ubuntu 我的机器是64位的win10系统,使用的虚拟机VMware workstation 12 pro 安装的是ubuntu 14.04, 网上教程很多,很详细也有有效 win1 ...
- VMware 虚拟机centos下链接网络配置
1.点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT, 2.计算机右键->管理->服务和应用程序->服务,启动如下两个服务 3.在etc/ ...
- VM虚拟机-Ubuntu server- 桥接模式网络配置
问题描述: 在Ubuntu虚拟机安装完毕之后,网络连接采用桥接模式,对虚拟机的eth0网卡进行静态IP设置,参数配置没有问题,但网络一直没有连接成功:即:无法实现本地主机连通虚拟机(ping不通该虚拟 ...
随机推荐
- clone:克隆数据,可深度克隆
这里列出了原始类型,时间.正则.错误.数组.对象的克隆规则,其他的可自行补充 function clone(value, deep){ if(isPrimitive(value)){ return v ...
- NewStar CTF 2024 Crypto
Week1 xor #As a freshman starting in 2024, you should know something about XOR, so this task is for ...
- .NET9 - 新功能体验(三)
书接上回,我们继续来聊聊.NET9和C#13带来的新变化. 01.Linq新方法 CountBy 和 AggregateBy 引入了新的方法 CountBy 和 AggregateBy后,可以在不经过 ...
- (Redis基础教程之七)如何使用Redis中的Hashes
如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...
- Golang之学习资源参考
使用golang开发也有一段时间,在此总结一些自己从0入门到掌握所涉及一些资源,希望可以帮助其他人 [初级] 基础语法练习: https://gobyexample.com/ [中级] 1.gola ...
- Rider离线使用Nuget包的方法
有时候,我们的开发环境可能没有网络,vs也不太好安装. 这时候我们就可以使用Rider.但是没有Nuget的话,很多东西用起来很复杂. 所以这里介绍一下Rider离线配置Nuget的方法. 从Nuge ...
- Python 学习记录 (4)
Plotly常见可视化方案:以鸢尾花数据为例 简单介绍: Ploty库也有大量统计可视化方案,并且这些可视化方案具有交互化属性. 主要对鸢尾花数据进行处理与可视化. 所展示的结果为交互界面的截图情况, ...
- 在不同形式的for循环中使用break、continue、return的效果
我们在循环中,经常会有跳出循环,跳出本次循环继续下次循环等的场景,今天我们简单分享下.主要使用到的关键字是,break.continue.return.先将结果总结: ①在foreach中不能使用br ...
- .NET周刊【12月第1期 2024-12-01】
我在.NET Conf China 2024 等你! .NET Conf China 2024 是一场面向开发人员的社区盛会,旨在庆祝 .NET 9 的发布,并回顾过去一年 .NET 在中国的发展成就 ...
- JDK 18 及以上使用标准输出流中文输出乱码问题
著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 链接:https://stazxr.cn/2024/12/05/JDK-18-以上使用标准输出流中文输出乱码问题/ 来源:終わり ...