我有一组 AWS Web 服务器,它们需要通过 VPN 发起 TCP 通信,并与第三方进行通信。不要问我为什么第三方选择 VPN 解决方案;这超出了我的控制范围。组中的各个服务器不会持续存在;它们会随着版本的变化而变化。同时,第三方需要静态 IP 等。
一般的想法是设置一个网关服务器(或者实际上设置几个网关服务器,以便处理我们的发布周期)作为 VPN 客户端,并在那里终止 VPN。我们的 Web 服务器只知道 VPN 网关服务器;第三方服务器只知道网关服务器;网关服务器相应地中继所有内容,并根据需要通过 VPN 或纯 TCP 发送。
当然,问题是如何最好地处理中继。网关服务器将是 Ubuntu 12.04 或 14.04。我希望我可以使用 UFW 和 OpenVPN 来处理这个问题 - UFW 处理 IP 重定向并传递到适当的接口,而 OpenVPN 本质上包装了一个网络接口。这是一个现实的方案吗?
答案1
正确的方法是使用亚马逊 VPC并使用私有地址在其中启动您的实例 - 完整的设置过程超出了 ServerFault 答案的范围,但您的 VPC 将是亚马逊的锁定区域。
如果您需要服务器可公开访问,则可以选择使用公共 IP 地址设置您的实例,但您的问题并未提及公共可访问性。
建立 VPC 后,您可以使用亚马逊的 VPN 连接将第三方路由器直接连接到 Amazon VPC,并通过隧道静态路由您 VPC 子网的所有流量。