AWS VPN 访问 Internet - 什么是公共 IP?

时间:2021-02-15 16:54:54

标签: amazon-web-services vpn

link 是用于通过 VPC 将客户端 VPN 连接到 Internet 的标准 AWS 文档,请参见下图。但我不明白的是,在这种情况下,客户端的公共 IP 是什么?

我要解决的问题是使用一个静态 IP 地址将一组不同的客户端连接到 Internet,然后我尝试访问其服务的第三方可以将其列入白名单。

这篇 SO 帖子 link 表明 VPC 中需要有一些具有公共 IP 地址的东西;仅 IGW 是不够的。这就是我认为它的工作方式,并且我需要向 VPC 添加一个 NAT 实例或其他内容,以便客户端访问 Internet。但是下图(直接来自 AWS)没有任何在 VPC 中分配了公共 IP 的内容。谁能解释一下我不明白的地方?客户端和 VPN 都在不可路由的地址范围内,因此它们不适合呈现给 Internet。我唯一能想到的是“客户端 VPN 网络接口”可以分配一个公共 IP 地址,但这在文档中没有提到。所以我很困惑。

enter image description here

1 个答案:

答案 0 :(得分:1)

VPN 连接传统上用于授予对专用网络中资源的访问权限。它通常不用于授予对 Internet 的访问权限。

您可以尝试以下操作(我还没有测试过):

  • 将客户端 VPN ENI 放入私有子网
  • 公共子网中添加一个 NAT 网关或 NAT 实例,并分配一个弹性 IP(这是一个静态 IP 地址)
  • 在私有子网上添加一个路由表条目,以将互联网绑定 (0.0.0.0/0) 流量定向到 NAT 实例/NAT 网关

流量应该“似乎”来自弹性 IP 地址。


上述方法的替代方法是以某种方式将流量发送到 Amazon EC2 实例,然后通过弹性 IP 地址将流量“转发”到目的地。这可能通过 HTTPS Squid 代理,甚至是到实例的 SSH 隧道来实现。我不熟悉如何设置这样的系统,但网上有相关信息。