在局域网中远程连接以“NAT模式”工作的VMWare虚拟机

时间:2024-03-14 07:22:36

背景
局域网为每台物理机绑定了IP地址,无法使用“桥接模式”让虚拟机正常接入局域网。

环境

  • 局域网中物理机A:win10 x64,IP地址:192.168.1.5
  • 物理机A上运行的虚拟机A-VM:win7 x64,IP地址见下文
  • 虚拟机网络模式:NAT
  • 局域网中物理机B:win7 x64,IP地址:192.168.1.10

目标
在物理机B上运行“远程桌面连接”连接到虚拟机A-VM。

步骤

  1. 允许虚拟机A-VM被远程连接。
    依次进入 控制面板→系统→远程设置,选择“允许运行任意版本远程桌面的计算机连接(较不安全)”,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    注意:虚拟机A不需要允许远程连接。
  2. 关闭VMWare Workstation的“NAT模式”的DHCP功能。
    打开VMWare Workstation,依次点击菜单“编辑”→“虚拟网络编辑器…”,弹出如下图所示界面:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    此时还不能更改设置。接下来点击“更改设置”按钮,分配管理员权限后,在新的“虚拟网络编辑器”界面中,选择“VMnet8”,并取消勾选“使用本地DHCP服务将IP地址分配给虚拟机”,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    先别忙着点“确定”按钮。继续往下看。
  3. 添加物理机A与虚拟机A-VM的端口映射。
    点击上图中的“NAT设置(S)…”按钮,弹出“NAT设置”对话框,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    记住上图蓝色框中的地址,下面会用到。
    点击“添加…”按钮,输入端口映射信息,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    记住“虚拟机IP地址”的值,下面会用到。设置完成后,接连点击“确定”按钮返回VMWare Workstation。
    附:通过注册表查看远程连接所使用的端口号:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
    Server\Wds\rdpwd\Tds\tcp\PortNumber
  4. 为虚拟机A-AM指定IP地址。
    启动虚拟机系统,依次进入 控制面板→网络和共享中心→更改适配器设置→本地连接,选中“Internet协议版本 4(TCP/IPv4)”,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    点击“属性”按钮,在“Internet协议版本 4(TCP/IPv4)属性”对话框中输入如下信息:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    其中,“IP地址”是之前我们设置的“虚拟机IP地址”;“子网掩码”、“默认网关”是之前蓝框中的值。
    设置完成,接连点击“确定”按钮返回。
  5. 让物理机A的防火墙允许映射的端口
    依次进入 开始菜单→Windows系统→控制面板→Windows Defender防火墙→高级设置,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    在上图中依次点击“入站规则”→“新建规则…”,在弹出的对话框中选择“端口”,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    点击“下一步”按钮,在“特定本地端口”中输入我们之前设置的“主机端口”9993,也可以是一个范围,以映射多个虚拟机,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    点击“下一步”按钮,选择“允许连接”,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    点击“下一步”按钮,根据实际需要,勾选应用此规则的网络,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    点击“下一步”按钮,输入该规则的名称及描述,下图仅作为示例:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    点击“完成”按钮。
  6. 通过物理机B访问虚拟机A-VM。
    在物理机B上依次点击 开始菜单→附件→远程桌面连接,输入物理机A的IP地址及端口号,如下图所示:
    在局域网中远程连接以“NAT模式”工作的VMWare虚拟机
    点击“连接”按钮,连接到虚拟机A-VM。
    注意:IP地址后面要有端口号。