我想通过一个 VPN 连接将 VPC 连接到本地服务器。这必须是单向连接(从 AWS 到本地,传出),而不是站点到站点连接。
我已经设置了 AWS VPN 连接、虚拟专用网关和客户网关 (Cisco-ASA)。但我发现这是双向连接,需要客户向我们打开连接并保持打开状态,以便我们能够与他们建立 VPN 连接。
这是我在 AWS 端实现的:
https://aws.amazon.com/answers/networking/aws-multiple-vpc-vpn-connection-sharing/
我们发现,对于传出连接,唯一的方法是 Cisco AnyConnect,这意味着在 VPC 中,我们需要一个安装了 Cisco AnyConnect 的服务器,然后我们才能建立此连接。
我想知道在这种情况下是否有更好的方法来建立单向(传出)VPN 连接?(仅从 VPC 到本地)
任何帮助,将不胜感激。
第二个问题:
如果我使用 AWS 的 VPN 连接来连接到我们的数据中心,我该如何将多个 VPC 连接到一个 VPN 连接?我有一个主 VPC,上面已经建立了 VPN,我创建了另一个 VPC,里面有一个服务器,并将这两个 VPC 对等。我的第二个 VPC 与数据中心没有任何连接。路由表如下所示:
VPN-VPC1路由表:
Destination Target
privateIP(VPC1) local
0.0.0.0/0 igw
datacenter-network1 vgw
datacenter-network2 vgw
privateIP(VPC2) pcx
VPC2 路由表:(子网关联:10.0.1.0/24)
Destination Target
privateIP(VPC2) local
0.0.0.0/0 igw
privateIP(VPC1) pcx
数据中心与 10.0.1.10/24 之间没有连接
我这里遗漏了什么吗?
答案1
VPC 中没有针对您所需内容的原生支持。
问题的根源在于VPC 的硬件 VPN它并非真正为连接第三方网络而设计。它旨在与 VPC 互连以你的物理数据中心网络——可信连接。VPC VPN 连接实际上是完全开放的,仅受安全组和网络 ACL 的限制——它没有路由表或任何自己的过滤,并且还有一些其他限制,因此它实际上不是外部连接的最佳选择。当然,对于连接到您的数据中心来说……它非常棒。
我们发现,对于传出连接,唯一的方法是 Cisco AnyConnect
这不是唯一的方法……但必须使用运行 IPSec VPN 软件的 EC2 实例来完成。我熟悉的软件包有三个,它们都很相似:openswan、libreswan 和 strongswan。您可以构建自己的隧道服务器。
如果采用这种方式,正确配置 IP 地址会有些困难,但这是一个可行的解决方案。这就是我与外部公司建立 IPSec 的方式。
情况并不相同,但将您的地址拆分到实例的私有 IP 和实例的弹性 IP (EIP) 之间的想法与我在“左侧”(按照我的惯例为“我们”一侧)中建议的想法类似。两个 AWS 实例之间的 Strongswan VPN 隧道无法连接:
left=10.10.10.10 # instance private IP of local system
leftsourceip=10.10.10.10 # instance private IP of local system
leftid=203.x.x.x # elastic IP of local system
leftsubnet=10.x.x.x/xx
或者,可能还有其他产品AWS 市场它将为您提供终止 IPSec 隧道的 EC2 实例......但没有其他选择,除非您在 AWS 之外拥有异地硬件网关,并且您希望通过该设备建立 VPC 硬件 VPN 连接和第三方连接。