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不通该虚拟 ...
随机推荐
- Python 抓取猫眼电影排行
import json import re import requests from requests.exceptions import RequestException import time # ...
- Maven打包项目的精准指定——流程管理
作用 Maven不仅可以进行依赖管理的自动化,还可以自动化实现编译,打包,发布,等,也被成为构建流程 生命周期(lifecycle) 构成 Maven生命周期本身可以看做一个集合,在这个集合中包含了一 ...
- SSM基础知识
SSM整合 前面我们已经把Mybatis.Spring和SpringMVC三个框架进行了学习,那现在我们把这三个框架整合在一起,来完成我们的业务功能开发,具体如何来整合,我们一步步来学习. 流程分析 ...
- 【鸣潮,原神PC端启动器】仿二次元手游PC端游戏启动器,以鸣潮为例。
二游GAMELanucher启动器 1.前言 许多二次元手游(原神,鸣潮,少女前线)的PC端启动器都是使用Qt做的,正好最近正在玩鸣潮,心血来潮,便仿鸣潮启动器,从头写一个.先下载一个官方版的PC启动 ...
- Grafana如何利用Karpenter消除50%的云资源浪费?|落地案例
原文链接: https://grafana.com/blog/2023/11/09/how-grafana-labs-switched-to-karpenter-to-reduce-costs-and ...
- ABP实践(5)-abp前端vue框架之IView实现三级菜单(博友需要特此分享)
为响应博友想要知道三级菜单怎么实现本篇文章先介绍三级菜单的实现,后续再分享其他部分内容 1 修改菜单组件sidebarMenu.vue 图为原代码和修改后代码比对 修改前后的源码如下 <styl ...
- vue+laravel使用微信Natvite支付
Navite支付介绍 Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信"扫一扫"完成支付的模式.适用于PC网站.实体店单品或订单.媒体广告支付等场景 1.先阅 ...
- equals与”==”的区别
本文由 ImportNew - 刘志军 翻译自 Javarevisited.如需转载本文,请先参见文章末尾处的转载要求. equals()和"=="操作用于对象的比较,检查俩对象的 ...
- 从InputStream到ByteArrayInputStream
本篇主要分析:1.如何将byte数组适配至ByteArrayInputStream,对应与IO部分的适配器模式:2.BufferedInputStream的工作原理,对应于IO的装饰器模式,会首先研究 ...
- [转载]Redis之缓存穿透、缓存击穿、缓存雪崩及其解决方法
原文地址:https://mp.weixin.qq.com/s?__biz=MzU2MDY0NDQwNQ==&mid=2247483949&idx=1&sn=6c643858d ...