Client VPN 入門 - AWS Client VPN

Client VPN 入門

下列任務可協助您熟悉 Client VPN。在本教學中,您將會建立執行下列作業的 Client VPN 端點:

  • 提供所有用戶端對單一 VPC 的存取權。

  • 提供所有用戶端存取網際網路。

  • 使用交互身份驗證

以下圖表顯示在您完成本教學後,VPC 和 Client VPN 端點的組態。


            存取網際網路的 Client VPN

先決條件

若要完成此入門教學課程,您需要以下項目:

  • 使用 Client VPN 端點的必要許可。

  • 具有至少一個子網路和一個網際網路閘道的 VPC。與子網路相關聯的路由表必須具有通往網際網路閘道的路由。

步驟 1:產生伺服器和用戶端憑證及金鑰

此教學課程使用交互身分驗證。透過交互身份驗證,Client VPN 使用憑證在用戶端和伺服器之間執行身份驗證。

如需產生伺服器和用戶端憑證及金鑰的詳細步驟,請參閱交互身份驗證

步驟 2:建立 Client VPN 端點

當您建立 Client VPN 端點時,您需要建立 VPN 建構,供用戶端連線以建立 VPN 連接。

建立 Client VPN 端點

  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Client VPN Endpoints (Client VPN 端點),然後選擇 Create Client VPN Endpoint (建立 Client VPN 端點)

  3. (選用) 提供 Client VPN 端點的名稱和說明。

  4. 對於 Client IPv4 CIDR (用戶端 IPv4 CIDR),以 CIDR 標記法指定 IP 地址範圍,以從中指派用戶端 IP 地址。例如,10.0.0.0/22

    注意

    IP 地址範圍不可以與目標網路或任何將與 Client VPN 端點建立關聯的路由重疊。用戶端 CIDR 範圍必須有 /12 和 /22 之間的區塊大小,而且與 VPC CIDR 或路由表中的任何其他路由不重疊。建立 Client VPN 端點後,您無法變更用戶端 CIDR。

  5. 對於 Server certificate ARN (伺服器憑證 ARN),指定要由伺服器使用的 TLS 憑證的 ARN。用戶端使用伺服器憑證來對其連線的 Client VPN 端點進行身份驗證。

    注意

    伺服器憑證必須佈建在 AWS Certificate Manager (ACM) 中。

  6. 指定當用戶端建立 VPN 連接時,用來驗證用戶端的身分驗證方法。在此教學課程中,選擇使用交互驗證,然後針對用戶端憑證 ARN,指定您在步驟 1 中產生之用戶端憑證的 ARN。

  7. 對於您要記錄用戶端連線的詳細資訊嗎?,請選擇

  8. 保留其他預設設定,然後選擇 Create Client VPN Endpoint (建立 Client VPN 端點)

如需建立 Client VPN 端點時可指定的其他選項詳細資訊,請參閱建立 Client VPN 端點。

在您建立 Client VPN 端點後,其狀態為 pending-associate。只有在您將至少一個目標網路相關聯後,用戶端才能建立 VPN 連接。

步驟 3:為用戶端啟用 VPN 連接

如要讓用戶端建立 VPN 工作階段,您必須將目標網路與 Client VPN 端點建立關聯。目標網路是 VPC 中的子網路。

將子網路與 Client VPN 端點建立關聯

  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Client VPN Endpoints (Client VPN 端點)

  3. 選取要與子網路建立關聯的 Client VPN 端點,然後選擇 Associations (關聯)Associate (建立關聯)

  4. 對於 VPC,選擇子網路所在的 VPC。如果您在建立 Client VPN 端點時指定了 VPC,其必須是相同的 VPC。

  5. 針對 Subset to associate (要建立關聯的子網路),選擇要和 Client VPN 端點建立關聯的子網路。

  6. 選擇 Associate (建立關聯)

    注意

    如果授權規則允許,一個子網路關聯就足以讓用戶端存取 VPC 的整個網路。您可以關聯其他子網路,以在其中一個可用區域發生故障時提供高可用性。

當您將第一個子網路與 Client VPN 端點建立關聯時,會發生下列情況:

  • Client VPN 端點的狀態會變更為 available。用戶端現在可以建立 VPN 連線,但在您新增授權規則之前,無法存取 VPC 中的任何資源。

  • VPC 的本機路由會自動新增到 Client VPN 端點路由表。

  • 子網路關聯會自動套用 VPC 的預設安全群組。

步驟 4:授權用戶端存取網路

若要授權用戶端存取相關聯的子網路所在的 VPC,您必須建立授權規則。授權規則指定哪些用戶端有權存取 VPC。在本教學課程中,我們將存取權授與所有使用者。

將授權規則新增至目標網路

  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Client VPN Endpoints (Client VPN 端點)

  3. 選取要新增授權規則的 Client VPN 端點,選擇 Authorization (授權),然後選擇 Authorize Ingress (授權輸入)

  4. 若要啟用目的地網路,請輸入您要允許存取之網路的 CIDR。例如,若要允許存取整個 VPC,請指定 VPC 的 IPv4 CIDR 區塊。

  5. 授與存取權限中,選擇允許所有使用者存取權限。

  6. 對於 Description (描述),輸入授權規則的簡短描述。

  7. 選擇 Add authorization rule (新增授權規則)

  8. 確定 VPC 中資源的安全性群組具有允許從子網路關聯的安全性群組存取的規則。這可讓您的用戶端存取 VPC 中的資源。如需詳細資訊,請參閱安全群組

步驟 5:(選用) 允許存取其他網路

您可以允許存取連線到 VPC 的其他網路,例如 AWS 服務、對等 VPC 和內部部署網路。對於每個額外的網路,您必須新增網路的路由,並設定授權規則將存取權給予用戶端。

在本教學課程中,我們新增網際網路的路由 (0.0.0.0/0),並新增授權規則將存取權授與所有使用者。

啟用網際網路存取

  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Client VPN Endpoints (Client VPN 端點)

  3. 選取要新增路由的 Client VPN 端點,選擇 Route Table (路由表),然後選擇 Create Route (建立路由)

  4. 對於 Route destination (路由目的地),輸入 0.0.0.0/0。對於 Target VPC Subnet ID (目標 VPC 子網路 ID),指定路由傳送流量所經過的子網路的 ID。

  5. 選擇 Create Route (建立路由)

  6. 選擇授權,然後選擇授權輸入

  7. 若要啟用目的地網路,請輸入 0.0.0.0/0,然後選擇允許所有使用者存取

  8. 選擇 Add authorization rule (新增授權規則)

  9. 確定與您路由流量所經過的子網路相關聯的安全群組允許進出網際網路的傳入與傳出流量。若要這樣做,請新增傳入和傳出規則,以允許往返於 0.0.0.0/0 的網際網路流量。

步驟 6:下載 Client VPN 端點組態檔案

最後一個步驟是下載和準備 Client VPN 端點組態檔案。組態檔案包含 Client VPN 端點,以及建立 VPN 連接所需的憑證資訊。您必須提供此檔案給需要連線到 Client VPN 端點來建立 VPN 連接的用戶端。用戶端將這個檔案上傳到其 VPN 用戶端應用程式。

下載及準備 Client VPN 端點組態檔案

  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Client VPN Endpoints (Client VPN 端點)

  3. 選取 Client VPN 端點,然後選擇 Download Client Configuration (下載用戶端組態)

  4. 找出步驟 1 中產生的用戶端憑證和金鑰。在複製的 OpenVPN easy-rsa 儲存庫的下列位置中,可以找到用戶端憑證和金鑰:

    • 用戶端憑證:easy-rsa/easyrsa3/pki/issued/client1.domain.tld.crt

    • 用戶端金鑰:easy-rsa/easyrsa3/pki/private/client1.domain.tld.key

  5. 使用您偏好的文字編輯器開啟 Client VPN 端點組態檔案,並在 <cert></cert> 標籤與 <key></key> 標籤間私有金鑰的內容之間新增用戶端憑證的內容。

    <cert> Contents of client certificate (.crt) file </cert> <key> Contents of private key (.key) file </key>
  6. 在 Client VPN 端點 DNS 名稱前加上隨機字串。找出指定 Client VPN 端點 DNS 名稱的行,並在前面加上隨機字串,使格式成為 random_string.displayed_DNS_name。例如:

    • 原始 DNS 名稱:cvpn-endpoint-0102bc4c2eEXAMPLE.prod.clientvpn.us-west-2.amazonaws.com

    • 修改過的 DNS 名稱:asdfa.cvpn-endpoint-0102bc4c2eEXAMPLE.prod.clientvpn.us-west-2.amazonaws.com

  7. 儲存並關閉 Client VPN 端點組態檔案。

  8. 將 Client VPN 端點組態檔案分配給您的用戶端。

如需 Client VPN 端點組態檔案的詳細資訊,請參閱匯出和設定用戶端組態檔

步驟 7:連線到 Client VPN 端點

您可以使用 AWS 提供的用戶端 或其他 OpenVPN 類型用戶端應用程式來連線到 Client VPN 端點。如需詳細資訊,請參閱《AWS Client VPN 使用者指南》。