用戶端 VPN 入門 - AWS Client VPN

用戶端 VPN 入門

以下任務協助您熟悉 用戶端 VPN。在此教學課程中,您將建立一個會執行下列動作的 用戶端 VPN 端點:

  • 提供對單一 VPC 的存取權限。

  • 提供對網際網路的存取權限。

  • 使用交互身份驗證。如需更多詳細資訊,請參閱 交互身份驗證

先決條件

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

  • 使用 用戶端 VPN 端點所需的許可。

  • 至少具有一個子網路、網際網路閘道和網際網路閘道路由的 VPC。

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

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

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

步驟 2:建立 用戶端 VPN 端點

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

在您建立 用戶端 VPN 端點後,請注意下列事項:

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

  • 您會收到 用戶端 VPN 端點 DNS 名稱。這是用戶端用來建立 VPN 連接的 DNS 名稱。

  • 您可以下載 用戶端 VPN 端點組態檔案。您可以提供此檔案給想要連接到 VPN 的用戶端。

建立 用戶端 VPN 端點 (主控台)

  1. Open the Amazon VPC console at https://console.aws.amazon.com/vpc/.

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

  3. (選用) 對於 Description (描述),輸入 用戶端 VPN 端點的簡短描述。

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

    注意

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

  5. 對於 Server certificate ARN (伺服器憑證 ARN),指定要由伺服器使用的 TLS 憑證的 ARN。用戶端使用伺服器憑證來驗證它們所連接的 用戶端 VPN 端點。

    注意

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

  6. 指定當用戶端建立 VPN 連接時,用來驗證用戶端的身分驗證方法。若要使用交互憑證驗證,請選擇 Use mutual authentication (使用交互身分驗證),然後對於 Client certificate ARN (用戶端憑證 ARN),指定步驟 1 中產生的用戶端憑證的 ARN。

  7. 指定是否使用 Amazon CloudWatch Logs 來記錄用戶端連線的相關資料。對於 Do you want to log the details on client connections? (您想要記錄用戶端連線的詳細資訊嗎?),請執行以下其中一項:

    • 若要啟用用戶端連線的日誌記錄,請選擇 Yes (是)。對於 CloudWatch Logs log group name (CloudWatch Logs 日誌群組名稱),輸入要使用的日誌群組名稱,對於 CloudWatch Logs log stream name (CloudWatch Logs 日誌串流名稱),輸入要使用的日誌串流名稱。

    • 若要停用用戶端連線的日誌記錄,請選擇 No (否)

  8. (選用) 指定哪些 DNS 伺服器要用於 DNS 解析。若要使用自訂 DNS 伺服器,對於 DNS Server 1 IP address (DNS 伺服器 1 IP 地址)DNS Server 2 IP address (DNS 伺服器 2 IP 地址),請指定要使用的 DNS 伺服器 IP 地址。若要使用 VPC DNS 伺服器,對於 DNS Server 1 IP address (DNS 伺服器 1 IP 地址)DNS Server 2 IP address (DNS 伺服器 2 IP 地址),請指定 IP 地址,並新增 VPC DNS 伺服器 IP 地址。

    注意

    請確定用戶端可以觸達 DNS 伺服器。

  9. (選用) 若要在 VPN 端點上啟用分割通道,請選取 Enable split-tunnel (啟用分割通道)

    根據預設,VPN 端點上的分割通道會停用。

  10. (選用) 在預設情況下,用戶端 VPN 伺服器使用 UDP 傳輸通訊協定。若要改用 TCP 傳輸通訊協定,對於 Transport Protocol (傳輸通訊協定),請選擇 TCP

    注意

    UDP 的效能通常比 TCP 更好。

  11. (選用) 對於 VPC ID,請選擇要與 用戶端 VPN 端點關聯的 VPC。對於 Security Group IDs (安全群組識別碼),請選擇一或多個要套用至 用戶端 VPN 端點的 VPC 安全群組。

  12. (選用) 對於 VPN port (VPN 連接埠),請選擇 VPN 連接埠號碼。預設為 443。

  13. 選擇 Create 用戶端 VPN Endpoint (建立 用戶端 VPN 端點)

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

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

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

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

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

  • 子網路關聯會自動套用 VPC 的預設安全群組。您可以在將子網路相關聯之後修改安全群組。

將子網路與 用戶端 VPN 端點建立關聯 (主控台)

  1. Open the Amazon VPC console at https://console.aws.amazon.com/vpc/.

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

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

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

  5. 對於 Subnet to associate (要相關聯的子網路),選擇要與 用戶端 VPN 端點建立關聯的子網路。

  6. 選擇 Associate (建立關聯)

    注意

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

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

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

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

  1. Open the Amazon VPC console at https://console.aws.amazon.com/vpc/.

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

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

  4. 對於 Destination network to enable (要啟用的目的地網路),以 CIDR 標記法輸入您要允許存取的網路的 IP 地址。

  5. 指定允許哪些用戶端存取指定的網路。若要將存取權授與所有使用者,對於 Grant access to (將存取權授與),選擇 Allow access to all users (允許所有使用者存取)

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

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

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

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

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

允許存取其他網路 (主控台)

  1. Open the Amazon VPC console at https://console.aws.amazon.com/vpc/.

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

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

  4. 對於 Route destination (路由目的地),輸入 0.0.0.0/0

  5. 對於 Target VPC Subnet ID (目標 VPC 子網路 ID),指定路由傳送流量所經過的子網路的 ID。

  6. 對於 Description (描述),輸入路由的簡短描述。

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

  8. 新增網路的授權規則,以指定哪些用戶端有存取權。執行步驟 4:授權用戶端存取網路中的步驟,對於步驟 4,輸入 0.0.0.0/0,對於 步驟 5,選擇 Allow access to all users (允許所有使用者存取)

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

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

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

在步驟 2 中建立 用戶端 VPN 端點之後,主控台會顯示 DNS 名稱,例如 cvpn-endpoint-0102bc4c2eEXAMPLE.prod.clientvpn.us-west-2.amazonaws.com。若要指定 DNS 名稱,您必須在顯示名稱前面指定一個隨機字串,讓格式成為 random_string.displayed_DNS_name,例如 asdfa.cvpn-endpoint-0102bc4c2eEXAMPLE.prod.clientvpn.us-west-2.amazonaws.com

下載和準備 用戶端 VPN 端點組態檔案 (主控台)

  1. Open the Amazon VPC console at https://console.aws.amazon.com/vpc/.

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

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

  4. 將用戶端憑證和金鑰 (在步驟 1 中產生),複製到與已下載的 用戶端 VPN 端點組態檔案相同的資料夾。在複製的 OpenVPN easy-rsa 儲存庫的下列位置中,可以找到用戶端憑證和金鑰:

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

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

  5. 使用您偏好的文字編輯器開啟 用戶端 VPN 端點組態檔案,並將以下內容新增到檔案尾端。以用戶端憑證和金鑰的位置取代 /path/ (位置是相對於連線至端點的用戶端)。

    cert /path/client1.domain.tld.crt key /path/client1.domain.tld.key
  6. 在 用戶端 VPN 端點 DNS 名稱前加上隨機字串。找出指定 用戶端 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. 儲存並關閉 用戶端 VPN 端點組態檔案。

  8. 將 用戶端 VPN 端點組態檔案和用戶端憑證和金鑰分發給您的用戶端。

下載和準備 用戶端 VPN 端點組態檔案 (AWS CLI)

  1. 下載 用戶端 VPN 端點組態檔案。

    $ aws ec2 export-client-vpn-client-configuration --client-vpn-endpoint-id endpoint_id --output text>client-config.ovpn
  2. 將用戶端憑證和金鑰 (在步驟 1 中產生),複製到與已下載的 用戶端 VPN 端點組態檔案相同的資料夾。在複製的 OpenVPN easy-rsa 儲存庫的下列位置中,可以找到用戶端憑證和金鑰:

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

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

  3. 使用您偏好的文字編輯器 (例如 vimnano) 開啟 用戶端 VPN 端點組態檔案,或使用 cat >> client-config.ovpn 命令,並將以下內容加入至檔案結尾。以用戶端憑證和金鑰的位置取代 /path/ (位置是相對於連線至端點的用戶端)。

    cert /path/client1.domain.tld.crt key /path/client1.domain.tld.key
  4. 在 用戶端 VPN 端點 DNS 名稱前加上隨機字串。找出指定 用戶端 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

  5. 將 用戶端 VPN 端點組態檔案和用戶端憑證和金鑰分發給您的用戶端。

步驟 7:連接至 Client VPN 端點

您可以使用 AWS 提供的用戶端 或其他 OpenVPN 型用戶端應用程式連接到 用戶端 VPN 端點。如需詳細資訊,請參閱AWS Client VPN User Guide