缘起

发现win10还有个虚拟机Hyper-V的功能,不太占资源,不用另外装VMare了,所以立即使用上。但设置网络的时候,不像WMare那样直接管理虚拟网卡,只有个虚拟交换机可用,所以各种查证、试验,现在终于搞清楚了。
首先,虚拟机管理器服务开启后,宿主机本身的网卡已经被虚拟机管理器管理了,不再属于宿主机。宿主机不再是个物理机,也是虚拟机管理器管理下的一个虚拟机。虚拟机管理器为宿主机生成一个或者多个虚拟网卡(根据设置),并且通过虚拟交换机形成各种组合,一整体的形式形成对外网络连接。原来的物理网卡是这个整体对外联络的出口。
虚拟机只需要设定连接那个虚拟交换机,虚拟机管理器会自动建立虚拟网卡与之连接,所以只管理虚拟交换机就可以了。

虚拟交换机类型

正式建立虚拟机之前,想让建立虚拟机的网络连接,就需要使用到虚拟交换机,否则虚拟机上没有可用网卡:
打开Hyper-V管理器,右侧有设置区:点击虚拟交换机管理器
在这里插入图片描述
看到系统内存在一个default switch,这个是虚拟机服务开始后,就默认存在的一个虚拟交换机,同时会在宿主机上生成一个虚拟网卡连接到default switch:这个虚拟交换机功能在后面说。
在这里插入图片描述
先说自建虚拟交换机。
打开“虚拟交换机管理器”后,自建的交换机,分三种:
在这里插入图片描述

1. 外部交换机;

可以与宿主机直接连接的交换机,处在宿主机同一网段,如果宿主机在192.168.31.0这个网络,那么虚拟机也能在这个网段下工作,与该网段下其他机器互通。交换机名称可以随便取,如“out”。
外部网络还有个选项:“允许管理操作系统共享此网络适配器”,重点:只有外部网络有这个选项。
在这里插入图片描述
当勾选的时候物理结构是这样的:
宿主机中存在两个虚拟网络,一个是连接default switch,一个是连接“虚拟交换机(外部)”
这个时候,打开宿主机的网络设置,可以看到两个虚拟网卡,一个实体网卡。这个实体网卡是因为共享了新建的外部虚拟交换机。虚拟网卡中,除了默认的连接default switch的,还有一个就是连接新建外部交换机的虚拟网卡:
在这里插入图片描述

在不勾选“允许管理操作系统共享此网络适配器”时,如果宿主机只有一个网卡,那么本机将失去互联网连接。因为物理网卡已经被虚拟机管理器管理,宿主机上只有一个连接default switch的虚拟网卡,并且这个default switch不和任何网络连接,这时候的结构如下:
在这里插入图片描述
这个时候,宿主机上应该看不到物理网卡,但我的宿主机上任然看到物理网卡(自己也有点晕),但不起作用:
在这里插入图片描述

2. 内部交换机;

内部交换机是用来宿主机和其他虚拟机交互信息用的。只在虚拟机管理器内部通讯,不和外部通讯。这时候的结构如下:
在这里插入图片描述
宿主机上看到的是,一个物理网卡、一个连接default switch的虚拟网卡、一个连接内部交换机的虚拟网卡,这个虚拟内部交换机我取名为“internal”:
这里我给内部交换机取名:internal

3. 专用交换机;

除宿主机之外的虚拟机之间通讯用的,结构如下:
在这里插入图片描述

4.default switch;

default switch是内部虚拟交换机的一种,但比普通内部虚拟交换机多了NAT功能。是由宿主机向其他虚拟机进行地址转发,所以,宿主机需要具备DHCP功能,或者全部虚拟机使用静态地址,手工指定IP、gateway、dns等。

虚拟机上openwrt多种网络连接方式

这里不说如何安装openwrt,只说openwrt虚拟机如何和宿主机连接。
1.虚拟机只安装内部交换机,只使用openwrt非联网的功能,如KMS服务器。
2.虚拟机只安装外部交换机,宿主机共享外部虚拟交换机。可以作为旁路由,需要设置宿主机的网关指向虚拟机、虚拟机的网关指向实体路由器。这样设置系统会提示遭到攻击。
2.虚拟机安装外部虚拟交换机和内部虚拟交换机,并且宿主机不共享外部虚拟交换机,再在openwrt中开启DHCP。这样就相当于在宿主机前段设置了一个虚拟机的软路由,宿主机通过内部交换机连接虚拟机软路由,虚拟机软路由用外部虚拟交换机和外部网络通讯。宿主机和外部网络不是一个网段,正常情况下,宿主机可以访问到外部网络,但外部网络不能访问宿主机。这时候openwrt的所有功能都可以使用,这种情况,应该把虚拟机的cpu和内存设置的强一些。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐