使用windows访问另一台windows中的vmware虚拟机

一、场景描述

在平常的学习中,当我们的设备较多且都为windows设备时,通常会遇到在一台windows中需要访问另一台windows上的虚拟机,需求如图:

image.png

二、问题分析

  1. 首先我们的两台windows之间是可以正常通信的
  2. windows与vm是可以正常通信的
  3. 且vm可以ping同自己的网关,windows1的外网地址,以及windows2的外网地址
  4. 这样看来网络链路是通的,且vm去往windows2的线路是通的
  5. 但是windows2去往vm的线路是不通的
  6. 现在需要解决的问题是给windows配置一条会数据包的路由
  7. 并且需要开启windows1的内核转发功能

三、配置路由

要想在windows2上可以ping通vm,首先需要配置一条去往vm的路由

# 打开cmd黑窗口,这里需要使用管理员打开

# 查看路由
> route print

# 添加路由
> route -p add 10.1.0.0 mask 255.255.255.0 192.168.0.109
# 参数说明:
-p:配置为永久路由
ps:如果配置为永久路由,建议两台windows也配置为静态ip地址

四、开启内核转发功能

  1. 打开“运行”对话框。可以使用快捷键 Win+R 快速打开“运行”对话框。
  2. 在“运行”对话框中输入“regedit”,然后点击“确定”按钮,打开注册表编辑器。
  3. 在注册表编辑器中,依次展开如下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在 Parameters 中找到 “IPEnableRouter” 选项,将值设置为 “1”。
如果没有此选项,则在 Parameters 路径下,右键单击空白处,选择“新建”->“DWORD(32位)值”。为新建的 DWORD 值命名为“IPEnableRouter”,然后双击该值,将数值数据设置为“1”。
  1. 点击“确定”按钮保存更改,然后关闭注册表编辑器。
  2. 最后,重启计算机,让修改生效。

五、测试