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

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

nanshan 2024-10-16 10:49 144 浏览 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) 构建的虚拟网络,网络访问方向是单向的,即由虚拟机可以访问管理主机,可以访问管理主机所在的网络的主机,可以访问外网(当然前提是管理主机能上外网);但管理主机所在网络的主机及其他网络的主机不能访问虚拟机。

相关推荐

删库之后不要着急跑路,教你神不知鬼不觉找回数据

在工作中,我们误删数据或者数据库,我们一定需要跑路吗?我看未必,程序员一定要学会自救,神不知鬼不觉的将数据找回。在mysql数据库中,我们知道binlog日志记录了我们对数据库的所有操作,所以...

数据库告警不可用,增删改受阻(数据库限制删除)

前言:昨晚,突然出现服务不可用告警,查看日志上线报文入库到数据库很慢并受阻,出现数据不同步问题。排查问题查看发现服务都是在执行update、insert这些DML命令的时候,报的数据库执行超时。经过一...

Binlog实现MySQL复制,5个关键步骤,务必掌握!

复制是MySQL最重要的功能之一,MySQL集群的高可用、负载均衡和读写分离都是基于复制来实现的。Binlog就是实现主从复制的关键,主数据库将修改操作记录到Binlog中,从数据库通过解...

MySQL数据实时增量同步到Elasticsearch

Mysql到Elasticsearch的数据同步,一般用ETL来实现,但性能并不理想,目前大部分的ETL是定时查询Mysql数据库有没有新增数据或者修改数据,如果数据量小影响不大,但如果几百万上千万的...

MySQL 数据库恢复:如何执行时间点恢复(PITR)以挽救受损数据?

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据恢复、数据备份、数据取证、数据迁移、网络安全、数据清除等解决方案,并针对企业面临的数据安全风险,提供专业的相关数据安全...

阿里面试:MySQL Binlog有哪些格式?底层原理?优缺点?

binlog的格式也有三种:STATEMENT、ROW、MIXED,下面我详解binlog三种模式@mikechenStatement模式Statement模式:是基于SQL语句的复制(statem...

快速带你读懂MySQL的binlog写入机制

深入讲解MySQL中的重要日志binlog的写入机制以及影响IO性能的关键配置,并且介绍了如何利用binlog去恢复数据,保证MySQL的可靠性。Q:binlog写入时机binlog的写入逻辑并...

MySQL 误删除数据恢复全攻略:基于 Binlog 的实战指南

在MySQL的世界里,二进制日志(Binlog)就是我们的"时光机"。它默默记录着数据库的每一个重要变更,就像一位忠实的史官,为我们在数据灾难中提供最后的救命稻草。本文将带您深入掌握如...

一文了解MySQL Binlog(一文了解肝脏有益和有害的食物)

MySQL的Binlog日志是一种二进制格式的日志,Binlog记录所有的DDL和DML语句(除了数据查询语句SELECT、SHOW等),以Event的形式记录,同时记录语句执行时...

数据丢失?别慌!MySQL备份恢复攻略

想象一下,某个晴朗的午后,你正享受着咖啡,突然接到紧急电话:你的网站或APP彻底挂了!系统崩溃,界面全白。虽然心头一紧,但你或许还能安慰自己:系统崩溃只是暂停服务,数据还在,修复修复就好了。然而,如果...

Mysql中的bin log、redo log、undo log的区别

最近在整理面试题,在看mvcc的时候看到了undolog,今天索性把这三个log都记录一遍。MySQL的逻辑架构说之前先说一下MySQL的基本架构,MySQL主要分为两层:Server层和存储引...

binlog日志定时清理(binlog清理规则)

binlog日志binlog是MySQL数据库的一种日志文件,用于记录所有对数据的修改操作。binlog全称为binarylog,它以二进制格式记录MySQL服务器上所有的修改操作,包括对哪个数据库...

茶水间炸锅了!菜鸟误删用户表,运维老张的MySQL救命三招!

(公司茶水间,运维老张、开发小王和新人小李围着咖啡机)小李:(紧张兮兮)张哥!我...我好像把测试库的用户表删了!下午演示咋办啊?老张:(淡定喝咖啡)慌啥?昨晚的备份是吃干饭的?走,教你恢复!一、基础...

解决运维痛点,提高运维安全性-雷池 SafeLine WAF新功能身份认证

雷池介绍使用雷池SafeLineWAF已经两年多了,在1.5.x版本时就已经开始测试使用,并在推出LTS版本后转入LTS分支。近期雷池SafeLineWAF重点更新了身份认证功能,并提供了SS...

【Docker 新手入门指南】第十五章:常见故障排除

一、前期准备:收集关键信息在排查问题前,建议先获取以下系统数据,便于精准定位故障:1.系统基础信息#查看Docker版本(确认是否为最新稳定版)dockerversion#查看...

取消回复欢迎 发表评论: