我有一台运行 Windows Server 2012 的虚拟机,我们的开发团队用它来测试他们正在开发的应用程序。每个开发人员都有自己的虚拟机,并且该虚拟机必须连接到 VPN 才能访问某些服务(如 TFS)。虚拟机运行着一个 SSH 服务,开发人员用它来控制应用服务器应用程序的状态(启动、重置等)。
问题在于开发人员使用 TFS 进行源代码管理和活动跟踪,他们抱怨由于 VPN,他们必须使用 VM 来访问 TFS 中的任务(注意:由于公司政策,VPN 客户端无法安装在主机上)。
我想创建一个从主机到客户机 (vm) 的隧道,以便访问 TFS 网站(类似于https://TFSServerOverVPN:8080/ProjectX)通过VPN:
主机 --> Putty SSH 隧道 --> VM --> VPN --> TFS 服务器网站
这有可能吗?还有其他方法可以存档吗?
谢谢!
答案1
Plink 可能比 PuTTY 更容易配置。
plink -vCNL 127.0.0.1:8080:addressOfTFSServerOverVPN:8080 -l userNameInVM addressOfVM
您可以使用-pw
或-i
选项跳过输入密码,plink.exe
直接在cmd中运行来检查其他选项。
然后将访问https://127.0.0.1:8080/ProjectX
转发至https://TFSServerOverVPN:8080/ProjectX
。
PS:如果TFSServerOverVPN是虚拟主机,则可能需要在主机的hosts文件中将127.0.0.1绑定到TFSServerOverVPN。
答案2
一些想法
- 如果您的公司政策不允许您在主机上安装 VPN 软件,您是否希望通过客户机路由来自主机的流量?如果不行,您需要想出其他方法来实现这一点。
他们抱怨说,由于 VPN,他们必须使用 VM 来访问 TFS 中的任务
在 TFS 中访问他们的任务具体存在什么问题?他们是否需要更多监视器,是否速度太慢,是否因为他们在 VM 中而不喜欢它?
可能的解决方案
- 使用安装了 VPN 的第二台 VM 来执行 TFS 任务。他们可以将此 VM 放在不同的显示器上,这样他们就不需要在与他们尝试执行开发项目的 VM 相同的显示器上打开 TFS 任务。
- 设置站点到站点的 VPN,并允许开发人员的网络访问 VPN。
- 使用 Web VPN,这样开发人员就可以使用 Web 浏览器访问 VPN,而不需要传统的 VPN 客户端。