大家知道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 之间的通信。
  1. 外部(bridge):该模式下虚拟机与主机同级别,仿佛是同一局域网下的独立计算机,虚拟机通过虚拟交换机访问外部网络。
  2. 内部(NAT):该模式下虚拟机通过虚拟交换机与主机进行端口映射,进而访问外部网络,交换机用于虚拟机与主机之间的连接,虚拟机更像是位于主机的子网中。
  3. 专用(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为例)的更多相关文章

  1. Hyper-V虚拟机和主机的网络配置

    Hyper-V虚拟机和主机的网络配置 方式1.共享式 这种方式是将Hyper-V内部的虚拟网络与外部网络共享.使得内部是一个私有的网络.属于NAT的类型.(不知道这么说对不对) 优点: 相对来说属于私 ...

  2. Linux下IP等网络配置

    Linux下IP等网络配置: 我所知道一共三种方式,下面简单介绍(注意:网络配置必须”root管理员“登录才能进行配置). 一 1.首先在命令行输入[ifconfig]命令,可看到相关网络信息,其中” ...

  3. Linux配置篇 - Vmware网络配置

    网络配置 VM 网络详解 vmware提供了三种网络工作模式,Bridged(桥接模式).NAT(网络地址转换模式).Host-Only(仅主机模式): vmware网络配置步骤:编辑 -> 虚 ...

  4. 虚拟机下克隆3个centos系统并配置IP访问网络(转载)

    此文是保证linux系统能够上网 先查看本机的IP 打开虚拟机,更改虚拟机为桥接方式 在第一个虚拟机上打开终端,在命令行输入setup,选择NETWORK CONFIGRATION 回车后, 配置IP ...

  5. CentOS7 最小安装 vmware 创建虚拟机 nmcli ip systemctl

    镜像网站 一些开源软件的国内镜像源 站点版 (一).企业站 1.搜狐:http://mirrors.sohu.com/ 2.网易:http://mirrors.163.com/ 3.阿里云:http: ...

  6. 在mac版virtual box中安装ubuntu虚拟机的NAT/Host-Only网络配置踩坑记录

    之前用惯了vmware和parallels desktop,网络配置十分智能,基本不用自己配置.由于版权原因,工作电脑上换了免费的virtual box用,四五年都完全在虚拟机里干活的本菜鸡居然在虚拟 ...

  7. 2016-11-10:win7下VMware虚拟机中CentOS6.5网络配置

    在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网. 1 配置VMware虚拟网络编辑器 VMnet0 桥接模式 VMnet1仅主机 ...

  8. win10 下使用虚拟机安装ubuntu及其网络配置

    通过虚拟机安装ubuntu 我的机器是64位的win10系统,使用的虚拟机VMware workstation 12 pro 安装的是ubuntu 14.04, 网上教程很多,很详细也有有效 win1 ...

  9. VMware 虚拟机centos下链接网络配置

    1.点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT, 2.计算机右键->管理->服务和应用程序->服务,启动如下两个服务 3.在etc/ ...

  10. VM虚拟机-Ubuntu server- 桥接模式网络配置

    问题描述: 在Ubuntu虚拟机安装完毕之后,网络连接采用桥接模式,对虚拟机的eth0网卡进行静态IP设置,参数配置没有问题,但网络一直没有连接成功:即:无法实现本地主机连通虚拟机(ping不通该虚拟 ...

随机推荐

  1. 14-8 C++函数调用运算符

    目录 14.8.0 引入 函数对象 含有状态的函数对象 函数对象常做泛型算法实参 14.8.1 lambda是函数对象 表示没有捕获值的lambda的类 表示lambda及其捕获行为的类 14.8.2 ...

  2. 接口测试中如何保持session鉴权/会话

    当接口使用token鉴权时,可以直接在响应数据中提取token的值,关联到其他接口使用 如果接口使用的是session鉴权,可以使用session=resquests.Session()方法,创建一个 ...

  3. Python网络爬虫之requests模块1

    Python网络爬虫之requests模块(1) 引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包 ...

  4. Mongodb4.4安装与使用

    MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能 最丰富,最像关系数 ...

  5. rocketMQ集群部署

    RocketMQ集群部署 RocketMQ是一款非常优秀的消息中间件,运用的场景也是非常丰富,且在各大公司运用中也非常广泛.但是它是如何进行部署的呢,以及它的高可用是如何实现的呢.那么就由我来为大家讲 ...

  6. 使用 cProfile 分析和定位 Python 应用性能瓶颈点

    一.需求背景 性能压测时,发现某接口存在性能瓶颈,期望借助工具定位该瓶颈,最好能定位至具体慢方法. 二.cProfile 简介 cProfile 是 Python 标准库中的一个模块,用于对 Pyth ...

  7. 利用 Databend + COS助力 CDH 分析 | 某医药集团

    作者: 黄志武 某医药集团信息中心数据库组组长,13 年数据库行业从业经历,Oracle OCM,关注 Oracle.MySQL.Redis.MongoDB.Oceanbase.Tidb.Polard ...

  8. mysql 创建字段createtime 自动添加时间

    1. 创建createtime字段 类型选为timestamp 2.  添加默认值 CURRENT_TIMESTAMP

  9. 【项目学习】Morpho 借贷协议简单调研

    项目背景 Morpho blue (下称 Morpho)是一个超额抵押借贷协议.与传统的借贷协议不同,Morpho 无需经过治理批准即可创建任意定制化的借贷市场.用户可以通过指定一项贷款资产.一项抵押 ...

  10. 中电金信:零售经营“新赛道” ——基于手机银行APP专区调研的客群精细化运营分析报告

    ​随着银行业竞争的不断深入及新客户增量日渐"到顶",各家银行的客群竞争逐渐由"跑马圈地"进入"精耕细作"的新阶段,在客群精准化服务方面不断深 ...