百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Win10 Hyper-V虚拟机网络配置方式(3)-Defalut Switch

nanshan 2024-10-16 10:49 131 浏览 0 评论

1、 Default Switch虚拟交换机

在windows中启用Hyper-V功能后,win10管理主机的"网络和Internet"中增加了一台网络适配器vEthernet(Default Switch),这是Hyper-V自动安装的一台虚拟交换机。禁用Hyper-V功能后,该网络适配器中"网络和Internet"中消除。否则在Hyper-V管理器中,在"网络和Internet"中都无法删除Default Switch。

在Hyper-V管理器中查看默认安装的Default Switch虚拟交换机的属性见下图图1,可见该虚拟交换机连接到内部网络,并使用网络地址转换协议NAT为虚拟机提供计算机网络的访问权限,便于虚拟访问外网。

下图2是启用Hyper-V后的网络配置清单。宿主机即win10管理主机使用动态主机配置协议配置物理网卡的IP地址、子网掩码和默认网关;vEthernet只有IP地址和子网掩码,没有默认网关。

在管理主机的适配器属性查询界面中,vEthernet的TCP/IP4属性是使用固定的IP而不是"自动获取IP地址",但系统重启后该IP地址经常变动。发现规律如下:点win10的关机按钮,关机后再开机,IP地址一般不变;点win10的重启按钮,重新启动后IP地址一般都会变。

2、 使用Default Switch虚拟交换机的网络连通性测试

构建如下图3所示的测试环境。管理主机win10创建4台ubuntu虚拟机,物理机A和管理主机win10接入无线路由器的物理LAN口,无线路由器WAN口连接到互联网。

管理主机使用动态主机配置协议dhcp动态配置IP;虚拟交换机采用Default Switch的默认配置不做属性修改;四台ubuntu虚拟机的网络适配器使用Default Switch虚拟交换机;ubuntu01和ubuntu02组成A组,操作系统采用动态主机配置协议dhcp;ubuntu03和ubuntu04组成B组,操作系统采用静态IP。

下面测试第一种场景:B组的静态IP地址和子网掩码遵从虚拟交换机的规则。

下面是ubuntu01虚拟机的操作系统启动后的网络状况,ubuntu02类似,不重复列出。从下图中可以看出,Ubuntu虚拟机操作系统使用动态主机配置协议获得的IP地址和子网掩码与内部虚拟机交换机的IP地址和子网掩码相适配,构成同一网段的IP地址;默认网关就是内部虚拟交换机的IP地址,因为虚拟机发出的信息肯定要先送到虚拟交换机;DNS服务器的地址是一个保留的本机环回地址127.0.0.53,使用53号端口,127打头的IP地址都是保留的本机使用的测试地址,主机发送的目的地址为环回地址的IP数据报,不会发送到其他网络,而是使用本机中的协议软件进行处理,该虚拟机的DNS不用特殊配置。

下图图5是ubuntu03虚拟机操作系统启动后的网络状态,ubuntu04与之相似,不重复列出。ubuntu虚拟机中dhcp设置为yes或true,但指定了IP地址和子网掩码,网络生效时会用指定的IP地址和子网掩码,即便default switch的IP地址发生了变化,虚拟机的Ip地址还会使用指定的IP。没有指定默认网关和DNS,让系统自动获取,未指定默认网关,自动使用default switch的地址做为默认网关;未指定DNS,使用本机环回地址,真正能查出域名对应的IP地址肯定在本虚拟机或管理主机是不可能的,需要通过虚拟交换机再到外网的dns server中去查。

本次配置的静态IP地址按照当前Default Switch的IP和掩码规则配置,确保在同一个网段。

该场景下,A组ubuntu虚拟机之间可以相互ping通;管理主机设置合适的防火墙,可以和A组各虚拟机相互ping通;图中的物理机A设置合适的防火墙后,管理主机、各虚拟机都能ping物理机A,但物理机A可以ping通管理主机,但ping不通各虚拟机。

该场景下,B组ubuntu虚拟机之间可以相互ping通;管理主机设置合适的防火墙,可以和B组各虚拟机相互ping通;图中的物理机A设置合适的防火墙后,管理主机、B组各虚拟机都能ping通物理机A,但物理机A可以ping通管理主机,但ping不通各虚拟机。

上述两组虚拟机,不管是自动获得IP,还是配置的静态IP,都和此时Default Switch 的ip地址及子网掩码相匹配,故此时所有虚拟机、管理主机都能相互ping通;都能ping通物理机A,但物理机A能ping通管理主机,但ping不通各个虚拟机。各虚拟机和管理主机一样,都能正常上外网。

下面测试第二种场景:B组的静态IP地址不遵从虚拟交换机的规则。

重启管理主机,默认的虚拟交换机的IP地址由172.17.90.161变成了192.168.107.177,B组虚拟机的静态IP不做作修改,则B组的静态IP地址已经和虚拟交换机的IP规则不一致。管理主机各网络适配器的IP配置情况由图2变成了下图图6的模样。

此时采用动态主机配置协议dhcp的A组虚拟机,随着Default Switch地址变化为192.168.107.177,虚拟机的动态IP和默认网关都随之发生变化,虚拟机的IP遵从虚拟交换机的IP规则,默认网关变为虚拟交换机的IP,如下图图7所示。

此时采用静态IP的ubuntu03和ubuntu04的情况如下图图8。网络配置文件dhcp4设置为true或yes,设置dhcp动态主机配置协议生效,但却配置了静态IP,主机重启后ubuntu的IP地址没变,默认网关变成了新的Default Switch的IP地址,因此从虚拟机内部发起的申请会正确走到虚拟交换机,虚拟交换机使用NAT协议,让虚拟机能正常上外网。

此时A组ubuntu虚拟机、管理主机能相互IP通;ubuntu01和ubuntu02和管理主机一样能正常上外网;A组虚拟机和管理主机能ping通物理机A,但物理机A能ping通管理主机,ping不通各虚拟机。

此时B组ubuntu虚拟机、管理主机在合适的防火墙设置下能相互IP通;ubuntu03和ubuntu04和管理主机一样能正常上外网;B组虚拟机和管理主机能ping通物理机A,但物理机A能ping通管理主机,ping不通各虚拟机。

B组虚拟机能ping通A组虚拟机;A组虚拟机ping不通B组虚拟机。

3、 使用Default Switch的初步总结

使用"网络和Internet"的重置网络功能,删除所有网络适配器然后重新安装网络适配器,可以将网络组件恢复到原始设置,在管理主机的"网络和共享中心"中设置不同网络的网络发现属性。

"禁用Hyper-V"后,再"启用Hyper-V",默认在管理主机上安装虚拟网络交换机vEthernet(Default Switch)。

创建虚拟机,使用该vEthernet做为虚拟机的网络适配器,安装操作系统,采用动态主机配置协议。每次重启管理主机后即便vEthernet的IP地址变动了,各虚拟机还都能正常使用和上外网。

手动配置虚拟机的静态IP,可以在配置文件的dhcp4一行的下面只添加静态IP和掩码,不需要配置默认网关和DNS,dhcp4的true或yes属性也不需要修改。无论虚拟交换机vEthernet(Default Switch)的IP怎样变化,静态配置的虚拟机的IP都不会变化,但网关会随着变化,这样指定了静态IP虚拟机可以正常使用和上外网。

使用静态IP虚拟机A与动态获得IP的虚拟机B,都使用同一台默认的虚拟交换机,在起IP地址规则不同时,虚拟机B能ping通虚拟机A,但A虚拟机ping不通虚拟机B,规则相同时都能互相ping通。

每次重启主机时vEthernet(Default Switch)的IP地址总变化,导致使用动态主机配置协议dhcp的虚拟机的IP地址总变化,很不方便。

Ubuntu虚拟机中,/etc/hostname中存放的是主机名;/etc/hosts中存放的是域名和IP的对应关系。主机名和域名是比较固定的,在虚拟机之间可以引用该域名,但管理主机ping不通虚拟机的域名。

用默认的内部网络虚拟交换机vEthernet(Default Switch) 构建的虚拟网络,网络访问方向是单向的,即由虚拟机可以访问管理主机,可以访问管理主机所在的网络的主机,可以访问外网(当然前提是管理主机能上外网);但管理主机所在网络的主机及其他网络的主机不能访问虚拟机。

相关推荐

实战派 | Java项目中玩转Redis6.0客户端缓存

铺垫首先介绍一下今天要使用到的工具Lettuce,它是一个可伸缩线程安全的redis客户端。多个线程可以共享同一个RedisConnection,利用nio框架Netty来高效地管理多个连接。放眼望向...

轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)

1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到...

Redis与本地缓存联手:多级缓存架构的奥秘

多级缓存(如Redis+本地缓存)是一种在系统架构中广泛应用的提高系统性能和响应速度的技术手段,它综合利用了不同类型缓存的优势,以下为你详细介绍:基本概念本地缓存:指的是在应用程序所在的服务器内...

腾讯云国际站:腾讯云服务器如何配置Redis缓存?

本文由【云老大】TG@yunlaoda360撰写一、安装Redis使用包管理器安装(推荐)在CentOS系统中,可以通过yum包管理器安装Redis:sudoyumupdate-...

Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?

你是否在开发互联网大厂后端项目时,遇到过系统响应速度慢的问题?当高并发请求涌入,数据库压力剧增,响应时间拉长,用户体验直线下降。相信不少后端开发同行都被这个问题困扰过。其实,通过在SpringBo...

【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案

在我们使用redis时,也会存在一些问题,导致请求直接打到数据库上,导致数据库挂掉。下面我们来说说这些问题及解决方案。1、缓存穿透1.1场景一个请求进来后,先去redis进行查找,redis存在,则...

Spring boot 整合Redis缓存你了解多少

在前一篇里面讲到了Redis缓存击穿、缓存穿透、缓存雪崩这三者区别,接下来我们讲解Springboot整合Redis中的一些知识点:之前遇到过,有的了四五年,甚至更长时间的后端Java开发,并且...

揭秘!Redis 缓存与数据库一致性问题的终极解决方案

在现代软件开发中,Redis作为一款高性能的缓存数据库,被广泛应用于提升系统的响应速度和吞吐量。然而,缓存与数据库之间的数据一致性问题,一直是开发者们面临的一大挑战。本文将深入探讨Redis缓存...

高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局

一、什么是缓存穿透?缓存穿透是指查询一个根本不存在的数据,导致请求直接穿透缓存层到达数据库,可能压垮数据库的现象。在高并发场景下,这尤其危险。典型场景:恶意攻击:故意查询不存在的ID(如负数或超大数值...

Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决

缓存穿透菜小弟:我先问问什么是缓存穿透?我听说是缓存查不到,直接去查数据库了。表哥:没错。缓存穿透是指查询一个缓存中不存在且数据库中也不存在的数据,导致每次请求都直接访问数据库的行为。这种行为会让缓存...

Redis中缓存穿透问题与解决方法

缓存穿透问题概述在Redis作为缓存使用时,缓存穿透是常见问题。正常查询流程是先从Redis缓存获取数据,若有则直接使用;若没有则去数据库查询,查到后存入缓存。但当请求的数据在缓存和数据库中都...

Redis客户端缓存的几种实现方式

前言:Redis作为当今最流行的内存数据库和缓存系统,被广泛应用于各类应用场景。然而,即使Redis本身性能卓越,在高并发场景下,应用于Redis服务器之间的网络通信仍可能成为性能瓶颈。所以客户端缓存...

Nginx合集-常用功能指导

1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx./nginx#指定配置文件启动nginx./nginx-c/usr/local/nginx/conf/n...

腾讯云国际站:腾讯云怎么提升服务器速度?

本文由【云老大】TG@yunlaoda360撰写升级服务器规格选择更高性能的CPU、内存和带宽,以提供更好的处理能力和网络性能。优化网络配置调整网络接口卡(NIC)驱动,优化TCP/IP参数...

雷霆一击服务器管理员教程

本文转载莱卡云游戏服务器雷霆一击管理员教程(搜索莱卡云面版可搜到)首先你需要给服务器设置管理员密码,默认是空的管理员密码在启动页面进行设置设置完成后你需要重启服务器才可生效加入游戏后,点击键盘左上角E...

取消回复欢迎 发表评论: