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不通该虚拟 ...
随机推荐
- 多进程可以共享内存,那么多进程是否可以共享显存呢?(CPU->内存,GPU->显存)
多进程可以共享内存,那么多进程是否可以共享显存呢?(CPU->内存,GPU->显存) 答案:不能.多进程可以共享内存,但是多进程不能共享显存(NVIDIA GPU 显存不能被多进程共享). ...
- Swagger注解中带有“/”导致SwaggerUI显示异常
日常开发中一直使用swagger作为接口文档工具使用,这次在使用过程中发现一个问题. 正常情况下显示如下图 代码配置如下图 Controller Model 如果在Swagger注解中使用" ...
- 终于搞全了:GPIO/ADC/LED/I2C/SPI/USB…
合宙低功耗4G模组经典型号Air780E,支持两种软件开发方式: 一种是传统的AT指令:一种是基于模组做Open开发. 传统AT指令的开发方式,合宙模组与行业内其它模组品牌在软件上区别不大,在硬件功耗 ...
- php使用汉字作为进制转换
突然想到英文字符26个,大小写共52个,数字10个,加起来也不过62,再算上特殊字符,也就90个,可以看这篇文章 那可不可以扩大这个进制呢?我想到了汉字. 中文汉字,博大精深,我们就用常用汉字2500 ...
- VulnStack之ATT&CK实战系列———红队实战(一)
目录 前言 环境搭建 外围打点 信息收集 phpmyadmin全局日志getshell 内网信息收集 msf上线 mimikatz抓取明文密码&hash 域信息收集 横向移动 msf+prox ...
- 高性能计算-gemm-mpi并行计算优化(8)
1. 目标: 矩阵A(MK) 矩阵B(KN)相乘,计算结果 C(M*N);本测试将使用不同的数据分块方式.MPI通信接口.数据循环模型,测试通信及计算效率,计算耗时为程序用户态和核心态的占用cpu时间 ...
- re中文匹配
Pattern = re.compile(u'[\u4e00-\u9fa5]+') if Pattern.search(searchstring): # do something else: # do ...
- Java线程池架构2-多线程调度器
http://ifeve.com/java线程池架构2-多线程调度器(scheduledthreadpoolexecutor)/ 在前面介绍了java的多线程的基本原理信息:<Java线程池 ...
- 使用Acme.sh免费签发SSL证书
github:https://github.com/acmesh-official/acme.sh 概述一个纯粹用Shell(Unix shell)语言编写的ACME协议客户端.完整的ACME协议实施 ...
- Java框架 —— Spring
Spring 简介 一般来说,Spring指的是SpringFramework,它提供了很多功能,例如:控制反转(IOC).依赖注入 (DI).切面编程(AOP).事务管理(TX) 主要 jar ...