简介

如何配置虚拟机使其可以访问互联网又能被Host主机访问呢?
一种可以使Guest访问公网又可以被Host访问的网络配置方式
网上有一些帖子介绍了几种方法,比如有一种方法是将Guest的网卡设置为NAT方式,然后配置了端口映射,还有一种通过创建自定义的虚拟网卡然后进行一系列繁琐的配置后实现以上目的。我觉得都太繁琐,有没有更简单的方式呢?下面让我们来看一下我是如何配置我的网络从而实现上述要求的。

环境

  • Win10 pro (Host操作系统)
  • VMware® Workstation 16 Player (虚拟机软件,以下简称VMware
  • Ubuntu 18.04 (Guest操作系统)

目标

  • 使Guest上的Ubuntu操作系统可以访问互联网;
  • 使Host上的Win10操作系统可以通过Guest的静态IP地址访问Guest上的服务,比如Apache、MySQL、SFTP等;

步骤

安装VMware、Ubuntu 18.04

首先,安装VMware虚拟机软件,并在其上安装Ubuntu 18.04。此处省略安装步骤,没啥好说的。

配置Host上的网络适配器

当VMware安装完毕,在Host操作系统的“网络连接”窗口中会出现一个名为“Hyper-V Virtual Ethernet Adapter”的虚拟网络适配器。如下图所示:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
这是关键。鼠标右键点这个适配器,选择“属性”。接下来,按下图指示操作:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
查看状态后,点击“确定”按钮返回“网络连接”窗口。
在“网络连接”窗口中找到Host用来上网的网络适配器。我的Host使用如下图所示网络适配器:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
鼠标右键点击这个Host所使用的网络适配器,选择“属性”,并在出现的对话框中按下图所示操作:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
在“共享”配置页中按下图所示操作:
一种可以使Guest访问公网又可以被Host访问的网络配置方式

当上述步骤设置完毕后,右键点击Hyper-V的虚拟网络适配器,选择“属性”并在出现的对话框中按下图所示操作:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
此时,在弹出的对话框中,你可以看到Win10系统自动为Hyper-V虚拟网络适配器分配了固定IP地址。下图是系统为我分配的IP地址:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
从上图中可以看到,系统为Hyper-V虚拟网络适配器分配了192.168.137段的地址。接下来,我们在Guest上的Ubuntu虚拟机也将会自动获取到一个相同段的IP地址。

配置Ubuntu所在虚拟机的网络设置

打开VMware虚拟机软件,然后按下图所示操作:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
在弹出的“虚拟机设置”界面中按下图所示操作:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
如上图所示,点击“配置适配器”按钮后,将会弹出“自动桥接设置”对话框,如下图所示:
一种可以使Guest访问公网又可以被Host访问的网络配置方式
勾选“Hyper-V虚拟网络适配器”作为虚拟机的网络适配器后,点击“确定”按钮报错所有设置。
这时,我们就可以尝试启动Ubuntu虚拟机了。

配置Ubuntu操作系统的IP地址

这部分内容请参考《为Ubuntu 18.04配置静态IP地址