因网络安全的要求,一部分软件无法安装在宿主机,于是我用 hyper-V 建了一台虚拟机,将这些软件安装在里面。在宿主机访问虚拟机虽然方便,但外部要访问虚拟机时又不想通过宿主机操作,于是就有了下面的方案。
准备条件
- Hyper-V 网络是 NAT Mode,已经得到私网地址,能正确连接到网络。(因为如果 Bridge Mode 有公网地址,就可以直连了,没必要通过宿主机转发。)
- 虚拟机已启用远程桌面,开启 RDP 服务,默认端口 3389,但也会被限制,后续改成 33389。
- 在宿主机打开“服务”,确认“IP Helper”服务状态为“正在运行”。
- 在宿主机选用一个未使用的端口用于转发,如 33389。
对虚拟机的操作
配置防火墙
启用远程桌面后正常情况下,防火墙规则会自动创建,3389 会自动打开。但由于 3389 端口受限,手动调整方法如下:
打开“高级安全 Windows Defender 防火墙”,创建入站规则:
- 选择“端口” > “TCP” > 指定端口“33389”。
- 选择“允许连接”。
- 适用范围包括“专用”和“公用”网络。
- 命名规则,例如“RDP Access”。
修改注册表
导航到注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
找到PortNumber,修改为 33389。
对宿主机的操作
配置转发
使用管理员权限打开终端,输入:
| |
检查一下:
| |
配置防火墙
打开“高级安全 Windows Defender 防火墙”,创建入站规则:
- 在“入站规则”上右键,选择“新建规则”。
- 选择“端口” > “TCP” > 指定端口“33389”。
- 选择“允许连接”。
- 适用范围选择“公用”网络(因为涉及公网访问)。
- 命名规则,例如“RDP Port Forwarding”。
