Amazon-Web-Services

從 VPC 到本地網路的單向 VPN 連接

  • July 13, 2017

我想通過一個 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 連接?我有一個已在其上建立 VPN 的主 VPC,我創建了另一個 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 之間沒有連接

我在這裡錯過了什麼嗎?

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 Marketplace中可能還有其他產品可以為您提供終止 IPSec 隧道的 EC2 實例……但沒有其他選擇,除非您在 AWS 之外有一個異地硬體網關,並且您想要將 VPC 硬體 VPN 連接和您的第三方連接都從該設備發出。

引用自:https://serverfault.com/questions/861454