Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

1、 虚拟机系统的技术架构

寄居架构和原生架构是虚拟机系统常采用的两种技术模式。寄居架构是虚拟层软件Hypervisor安装和运行在一个已经安装好的操作系统上,它被看成一个软件或服务。原生架构是虚拟层软件Hypervisor直接安装在硬件上,本身不依赖任何操作系统。Windows的Hyper-V属于原生架构。

寄居架构如图1所示,虚拟机和宿主机形成依赖关系。虚拟化层软件运行在宿主机操作系统之上,模拟出一个或多个虚拟机环境,在每个虚拟机环境中安装操作系统,从而在一台物理主机上并发运行多个操作系统,实现主机虚拟化。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图1:虚拟机系统的寄居架构

原生架构如图2,以windows10自带的Hyper-V虚拟机为例。一台windows主机,安装Hypervisor软件并重启后,在物理硬件和windows操作系统内核之间增加了一层虚拟机软件Hypervisor;在windows操作系统内核态运行宿主机和虚拟机通讯的相关进程;在windows用户态下运行了一系列的虚拟机服务。

利用这些服务,可以创建配置虚拟机,在虚拟机上安装操作系统,从而在一台物理主机上并发运行多个操作系统。

实际上,安装Hyper-V并重启系统之前,windows10是一个完整的操作系统,系统重启后原来的操作系统变成了一个虚拟的环境,原操作系统不再是控制所有硬件的实体机系统,而是一个仅具备管理权限的虚拟机系统。硬件的控制由Hypervisor和原操作系统分工合作完成。

此时的window主机已经变成了一台虚拟机,和在该物理机上创建的其他虚拟机处于相同的运行层级,和其他虚拟机相比,只是多出了虚拟机的管理功能,可以创建虚拟机,可以对虚拟机进行开关机操作,可以为虚拟机配置设备,可以监控虚拟机的运行。这时一般将原来的操作系统区域称为父分区;其他虚拟机及虚拟机上安装的操作系统和应用的区域称为子分区。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图2:Hyper-V虚拟机原生架构示意图

2、 Hyper-V的网络配置方式

Hyper-V创建虚拟网络交换机的主要参数见图3。虚拟交换机的连接类型有三种:外部网络、内部网络和专用网络。

创建外部网络的虚拟网络交换机时,可以选择属性"允许管理操作系统共享此网络适配器"。宿主机安装Hyper-V后,原宿主的操作系统具备创建和管理虚拟机的功能,故原来的宿主机操作系统又可称为"管理操作系统"。

本文只讨论选中"允许管理操作系统共享此网络适配器"的选项。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图3:Hyper-V可以创建三种类型的虚拟交换机

选中"允许管理操作系统共享此网络适配器",完成配置后,在windows的"网络和Internet"的适配器中新创建一个适配器"vEthernet(switch-v)网卡",见下图4。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图4:Hyper-V创建外部网络的虚拟交换机对原宿主网络的影响

"允许管理操作系统共享该网络适配器"后,新创建的网络适配器vEthernet(switch-v)继承了原物理网卡的属性,如静态网络客户端、IP、DNS等。此时原windows宿主机就是通过这个虚拟的网卡上网的,不再是通过原来的物理网卡上网。

原来的物理网卡会虚拟成一台虚拟交换机。原宿主操作系统使用的物理网卡"以太网"的属性变成如下图5所示。其中默认勾选的"Hyper-V可扩展的虚拟交换机",表明该网络设备作为一台可扩展的虚拟交换机使用,交换机作为交换设备,可以没有IP。

该虚拟交换机接入外部网络,并且启用"允许管理操作系统共享此网络适配器"后,原物理网卡(新的虚拟交换机)和虚拟网卡(vEthernet)的属性对比见下图5。

这样原宿主机、新建的各个虚拟机都连接在该交换机上,这些机器都在同一个网段,可以组建成一个局域网。安装虚拟系统之前,如果有其他物理机和用于虚拟化的主机在同一个局域网,则虚拟系统创建完成后,原宿主机、新建的虚拟机、其他物理机都在同一个局域网络中。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图5:Hyper-V创建共享的虚拟交换机后,原物理网卡(虚拟交换机)和新建的虚拟网卡的属性对比

3、 创建虚拟机,安装虚拟机操作系统

虚拟交换机创建完成后,可以使用Hyper-V管理器创建虚拟机,创建虚拟机时指定刚创建的虚拟交换机作为网络连接方式,不指定网络连接方式则新建的虚拟机会处于断开状态,不能联网。

图6展示了创建ubunt01虚拟机时指定的网络适配器时虚拟交换机switch-v,就是刚创建的那台虚拟交换机。该虚拟交换连接到外部网络,启用"允许管理操作系统共享该网络适配器"。具体创建虚拟交换机和创建虚拟机的过程不再本文详述。创建结果如图6。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图6:Hyper-V创建虚拟机时指定虚拟交换机作为网络设备

创建完虚拟机后,可以在虚拟机上安装操作系统,本次操作安装的是Ubuntu服务器版操作系统Ubuntu 18.04.3 LTS。具体安装过程不在本文中详述。

4、 原宿主主机和虚拟机的IP配置

原宿主windows10是DHCP自动获取IP地址,自动获取DNS的。创建虚拟交换机时生成的虚拟网卡继承原物理网卡的自动获取IP和DNS的方式。在虚拟机中安装Ubuntu操作系统时,也是自动获取Ubuntu虚拟机的IP地址的。

查询原宿主和新安装的Ubuntu虚拟机dhcp所得到的ip信息,直接使用这些信息配置原宿主和新虚拟机的静态IP。下图7是原宿主机和安装的两台ubuntu虚拟机的IP信息。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图7:查询原宿主机和虚拟机的IP信息

windows的静态IP和DNS设置,在新创建的虚拟网卡vEthernet(switch-v)上进行,不再详述。ubuntu系统修改IP地址,按照下面8的图示说明即可完成,较新版本的ubuntu系统提供了netplan网络配置工具,修改/etc/netplan下的配置文件,netplan程序读取/etc/netplan/下的所有配置文件,完成网络参数的实际修改和生效。

下图8仅示例了ubuntu01的原始网络配置文件、修改后的网络配置文件和使用netplan命令生效网络修改的示意图;其他ubuntu虚拟机按照该方式逐一完成静态IP修改即可。

上述修改完成后,windows能正常上网,Ubuntu01和Ubuntu02都能正常使用,各主机之间的连通性经测试没有问题。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图8:ubuntu虚拟机原始网络配置文件,配置文件的修改,以及配置生效操作示意图

5、 物理机虚拟机实际组网结构和连通性测试

物理机A: Microsoft Windows 10.0.18363 专业版,是将被虚拟化的主机。

物理机B: Microsoft Windows 10.0.18363家庭版,是系统中一台完整的物理机。

虚拟机1-3:Ubuntu 18.04.3 LTS,是在物理机A上虚拟出的3台虚拟机,安装Ubuntu操作系统。

物理机A和物理机B采用自动获取IP和DNS 的方式,连接到家庭无线路由器,无线路由器通过光猫连接到互联网,物理机A和B能正常上网和信息交互。

在物理机A上启用Hyper-V功能;创建虚拟交换机,该交换机采用外部网络连接方式,允许管理操作系统共享该网络适配器;创建虚拟机A/B/C,这些虚拟机使用该虚拟交换机连接网络;在这些虚拟机上安装Ubuntu Server 18.04操作系统;物理机A和各虚拟机设置静态IP。

上述操作完成后,需要测试网络的连通性,完成虚拟化组网后,物理机A已经不是一台物理机,而是一台虚拟机,为了方便描述,暂且称该运行原宿主操作系统的虚拟机还叫做"物理机A".

测试场景和测试结果如下:物理机A能ping通所有虚拟机;物理机B能ping通所有虚拟机;调整两台windows主机的防火墙设置,物理机A和物理机B能相互ping通;各虚拟机之间都可以相互ping通;调整windows的防火墙设置后,所有虚拟机都可以ping通物理机A和物理机B。

Windows防火墙的设置细节不是很清楚,故在测试时,关闭物理机A的防火墙来测试网络连通性;物理机B安装了诺顿取代了windows自带的防护功能,将物理机B的诺顿的智能防火墙暂时关闭用来测试的网络联通行。

实际测试的网络组网图见下图9。

Windows10 Hyper-V虚拟机网络配置方式(1)-类桥接方式

图9:虚拟网络连接示意图

6、 桥接方式组建虚拟网络的适用场合

自己只有一台运行windows10专业版的PC或笔记本电脑,但想模拟公司的局域网环境。例如开发测试环境的数据层、业务层、展示层的独立部署;学习和熟悉集群技术;学习和熟悉服务端操作系统,例如Linux等。

这时可以采用桥接的虚拟化网络技术,组建可靠的虚拟局域网,所有机器都连接到可扩展的虚拟交换机上,各机器之间的通信很顺畅,使用起来有很好的体验。

当然,自己的PC或笔记本应该配置高一点,最好有不止一块的物理网卡,这样做出来的虚拟系统性能会更高一些。


分享到:


相關文章: