Vpn

使用 AWS VPN 客戶端訪問內部 Web 應用程序

  • February 12, 2016

我正在嘗試將客戶的網路連接到我們的 AWS 數據中心,以允許訪問(以前公開可用的)內部 Web 應用程序。

目前,我們已經將 VPN 設置為動態路由到一個新的空 VPC,其 CIDR 與客戶的網路不衝突,因為我們的主要 VPC 衝突。

幾個問題:

  1. 是否需要將該 CIDR 廣告或傳播到客戶端網路,我該怎麼做?

  2. 如何將該範圍內的客戶端可訪問 IP 地址轉發到包含 Web 應用程序的 VPC 中的內部 IP 地址?

  3. 完成後,如何將安全組應用於該 VPN 連接以限制對該 IP 的訪問?

或者,我是不是走錯了路?

  1. 是否需要將該 CIDR 廣告或傳播到客戶端網路,我該怎麼做?

如果 VPN 有動態路由,這意味著它是為 BGP 配置的,因此應該自動公佈 VPC 的 CIDR。

  1. 如何將該範圍內的客戶端可訪問 IP 地址轉發到包含 Web 應用程序的 VPC 中的內部 IP 地址?

這就是你的計劃失敗的地方。

對於跨 VPC 邊界的流量,VPC 必須具有對等連接。對等連接不支持傳輸流量。

如果對等連接中的任一 VPC 具有以下連接之一,則您無法將對等關係擴展到該連接:

• VPN 連接

$$ … $$ http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html

與 VPC B 的 VPN 連接無權訪問 VPC A 中的資源,即使 A 和 B 是對等的。

但是,正如下一點將說明的那樣,這也是一樣的。

  1. 完成後,如何將安全組應用於該 VPN 連接以限制對該 IP 的訪問?

你不能。VPC 提供的 VPN 連接本質上是受信任的。他們被允許訪問 VPC 中實例上的安全組允許訪問的任何實例,這意味著您的所有實例(包括僅具有私有 IP 地址的實例)都必須受到其安全組的適當保護,因為 VPC VPN 連接在防火牆中為該受信任的連接打開一個大洞。

但是……您沒有這個問題,因為您已經為客戶互連創建了一個新的 VPC,並且它無法通過您的對等連接傳輸到主 VPC。

您對第 2 點問題的解決方案是在 VPC B 中配置代理伺服器。配置其安全組以允許從允許的客戶端 IP 進行訪問,這解決了第 3 點,因為您在此 VPC 中沒有其他內容。將代理指向 VPC A 中的真實服務,並允許其 IP 地址通過 VPC A 中的相應安全組訪問該服務。

或者,我是不是走錯了路?

也許。:) VPC 內置的 VPN 服務似乎旨在連接到完全受信任的網路。

在我的基礎設施中,我只有一個這樣的 VPN 連接到客戶的網路,但在這種情況下,整個 VPC 都在其自己的 AWS 賬戶上,並且具有專用於該客戶的基礎設施。

在所有其他情況下,如果我有一個往返於客戶端網路的 IPSec 隧道,我不使用 VPC 提供的 VPN,因為正如您在上面看到的,它真的不適合這個。相反,我終止了具有彈性 IP、執行 Linux、Openswan 和 HAProxy 的 EC2 實例上的隧道。

網路編號不是一個因素,因為我為網關實例上的輔助環回介面分配了一個不衝突的地址,並將 HAProxy 綁定到它。無論我是訪問客戶的 LDAP 或 HTTP 服務,還是他們訪問我的服務,我的機器都會看到實例的正常 VPC 分配的代理 IP 地址,但客戶的網路會看到代理使用的虛假非衝突地址在 IPSec 隧道內偵聽來自客戶端的連接或建立到客戶端的出站連接。

因此,在我的 VPC 網路和客戶端之間沒有實際的 IP 路由——由執行在網關伺服器上的代理維護的背靠背 TCP 連接是從網路到網路的唯一路徑,因此在這種情況下……順便說一句,在 5 美元/月的 t2.nano 實例類上完美執行。

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