從 VPC 到本地網路的單向 VPN 連接
我想通過一個 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 連接和您的第三方連接都從該設備發出。