我不知道如何最好地解决我所遇到的这种情况。此中的VPN正在运行OpenVPN。
我有一台应用服务器,需要向位于另一个网络上且只能通过 VPN 访问的特定服务器发出 Web 服务器请求。但是,这台机器未连接到 VPN。场中还有另一台服务器,它执行涉及数据库的批处理任务,该服务器位于 VPN 上,因此具有连接。
显然,这个问题的一个简单答案是在应用服务器和批处理服务器上设置 VPN,但这些服务器位于使用 Scalr.net 的 EC2 场中。有一次,我们有 15 个应用服务器在运行,而客户端不想运行 15 个 VPN 连接,我们遇到了每个服务器都需要自己的证书的问题(据我所知 - 我对 OpenVPN 的了解有限),以及如何在每个新应用服务器基于标准映像构建时包含特定于服务器的证书,以便它们都尝试使用与 IP 绑定的相同证书进行连接。
应用服务器需要能够将这样的请求发送到批处理框上启动并运行的 VPN 另一端的特定主机:https://xxx.xxx.xxx.xxx/client/WebService
可以通过 SSH 隧道实现这一点吗?还是我必须在两台服务器之间配置自己的 VPN?
应用服务器正在使用端口 80 和 443。
我觉得我还没有解释清楚,所以如果您有疑问,请随时提问。
我提前感谢大家,因为我真的不确定这里最好的解决方案。
谢谢。
答案1
其实比这简单多了。你只需将批处理服务器(即具有与其他网络的 VPN 连接的服务器)配置为路由器即可。然后你可以
- 使用应用服务器为整个子网的默认网关添加一条特定路由,将 VPN 另一端的所有流量指向批处理服务器(该服务器将把流量路由到隧道中)或
- 为每个需要 VPN 的应用服务器添加针对 VPN 另一端的特定路由。
当然,VPN 隧道的另一端需要知道应用服务器子网的流量需要进入隧道(这是 VPN 端点上的另一条路由)。
对于这种情况,理想情况下,您的 VPN 连接应该是静态隧道,这样您就不必有“服务器”和“客户端”。如果无法做到这一点,“服务器”应该位于远程端。小心防火墙!