我有一台 Windows Server 2019,其中有许多 VM 实例(使用 HyperV 运行)。每个 VM 都有自己的私有 IP,并且有一些应用程序在内部运行并通过端口公开。
看起来像:
VM1:运行应用程序nodejs端口3000,私有ip:10.10.10.1
VM2:运行应用程序php端口3001,私有ip:10.10.10.2
现在我想建立一个安全连接,以便我的同事可以访问每个虚拟机内的应用程序而不将它们暴露给互联网,我该如何实现呢?
如果我有 Ubuntu 服务器和 SSH,我会使用动态端口转发,就像这篇文章一样
Windows 还有其他替代品吗?
我已经做过很多教程但似乎对我没有用。
答案1
我不了解 Windows,但为了达到这个目的,你应该在主机和客户机之间配置 NAT。Hyper-V 有这个功能。
每个客户机(虚拟机)将在端口 22 上进行内部响应,并且主机将重定向流量,例如,从每个虚拟机中的端口 2222、2223、2224 重定向到 22。
然后你的同事就可以从他们的机器启动 SSH 隧道了:
ssh -L localhost:3001:10.10.10.1:3001 -p 2222 user@<windowserverip>
之后他们就可以在自己的机器上访问por 3001上的应用程序了。