Hyper-V创建虚拟机配置IP等网络配置原理(Linux、Windows为例)

news/2024/12/11 16:40:08/

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 之间的通信。
  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

图片

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

图片


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


http://www.ppmy.cn/news/1554270.html

相关文章

使用 Streamlit +gpt-4o实现有界面的图片内容分析

在上一篇利用gpt-4o分析图像的基础上,进一步将基于 Python 的 Streamlit 库,结合 OpenAI 的 API,构建一个简洁易用的有界面图片内容分析应用。通过该应用,用户可以轻松浏览本地图片,并获取图片的详细描述。 调用gpt-4o…

springboot系列--拦截器加载原理

一、拦截器加载原理 拦截器是在容器启动时,就创建并加载好,此时并未放入拦截器链中,只是放在一个拦截器集合当中,当一个请求进来之后,会通过匹配路径,查看是否有命中集合中的拦截器的拦截路径,如…

安全架构评审

安全架构评审 1.概述2.安全设计原则3.美团安全架构评审模型安全需求分析架构review攻击面分析和威胁建模攻击面分析威胁列表 1.概述 完整的安全评审会包含安全架构评审、安全代码审核和安全测试三个手段 安全架构评审聚焦于探寻安全设计中的漏洞,以宏观视野全面考…

IoTDB Allocate WAL Buffer Fail Because out of memory

问题及现象 时序数据库 IoTDB 集群报错: The write is rejected because the wal directory size has reached the threshold 53687091200 bytes. You may need to adjust the flush policy of the storage storageengine or the IoTConsensus synchronization pa…

鼠标右键单击Git Bash here不可用

最近在学习git时突然发现右键的git bash没反应,但是去点击应用图标就能正常运行,通常是因为你在安装git之后改变了它的目录名称或者位置,我就是因为安装后改变了一个文件夹的文件名导致不可用 在安装git时系统会默认给鼠标右键选项的git Bas…

菜鸟每日刷牛客HJ2

菜鸟每日刷牛客 HJ2 计算某字符出现次数 描述 写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母) 数据范围: 1≤n≤1000 输…

word poi-tl 表格功能增强,实现表格功能垂直合并

目录 问题解决问题poi-tl介绍 功能实现引入依赖模版代码效果图 附加(插件实现)MergeColumnData 对象MergeGroupData 类ServerMergeTableData 数据信息ServerMergeTablePolicy 合并插件 问题 由于在开发功能需求中,word文档需要垂直合并表格&…

【力扣】155. 最小栈(Java版)

文章目录 1. 题目2. 题目分析3. 代码示例 1. 题目 在线OJ 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop()…