使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

如何使用 AWS CLI 設定 Client VPN?

2 分的閱讀內容
0

我想使用 AWS Command Line Interface (AWS CLI) 設定 AWS Client VPN。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,則請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。Client VPN 服務的 API 動作僅適用於最新的 AWS CLI 版本。

使用相互驗證設定 Client VPN

若要使用相互驗證設定 Client VPN,請完成下列步驟:

  1. 產生伺服器和用戶端憑證,然後將憑證上傳到 AWS Certificate Manager (ACM)
  2. 請記下伺服器憑證 ARN 和用戶端憑證 ARN。
  3. 執行 create-client-vpn-endpoint 命令。例如,下列命令會建立端點,該端點使用與用戶端 CIDR 區塊 172.16.0.0/16 的相互驗證:
    $ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678} --connection-log-options Enabled=false

注意:

  • 針對用戶端 IPv4 CIDR 區塊,請以 CIDR 標記法指定 IP 位址範圍,以指派用戶端 IP 地址。
  • ClientRootCertificateChainArn 是用戶端憑證的 ARN。憑證認證機構 (CA) 必須簽署憑證,而且您必須在 ACM 中產生憑證。
  • AWS Client VPN 為 AWS 區域特定。您 VPN 的區域必須與您憑證的區域相符。

使用基於使用者的驗證來設定 Client VPN

活動目錄驗證

若要使用 Active Directory 驗證設定 Client VPN,請完成下列步驟:

  1. 針對目錄 ID,指定 AWS Active Directory 的識別碼。
  2. 執行 create-client-vpn-endpoint 命令。例如,下列命令會建立端點,該端點使用以作用中目錄為基礎的驗證,其用戶端 CIDR 區塊為 172.16.0.0/16
    $ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=directory-service-authentication,ActiveDirectory={DirectoryId=d-1234567890} --connection-log-options Enabled=false

注意:

  • 使用 —dns-servers 選項來傳遞自定義 DNS 伺服器進行 DNS 解析。Client VPN 端點最多可以有兩個 DNS 伺服器。如果您未指定 DNS 伺服器,則會使用在本機裝置上設定的 DNS 位址。
  • 使用 —transport-protocol 選項來設定 VPN 工作階段的傳輸通訊協定。

同盟驗證 (適用於以 SAML 為基礎的同盟驗證)

若要使用同盟驗證設定 Client VPN,請完成下列步驟:

  1. 對於 SAML 提供者 ARN,請指定 AWS 身分識別與存取管理 (IAM) 安全聲明標記語言 (SAML) 身分提供者的 ARN。
  2. 執行 create-client-vpn-endpoint 命令。例如,下列命令會建立一個端點,該端點使用聯合驗證和用戶端 CIDR 區塊 172.16.0.0/16
    $ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=federated-authentication,FederatedAuthentication={SAMLProviderArn=arn:aws:iam::123456789012:saml-provider/MySAMLProvider} --connection-log-options Enabled=false
    注意: 以 IAM 中 SAML 提供者資源的 ARN 取代 SAMLProviderArn,並以 SAML 提供者的名稱取代 MySAMLProvider

將子網路與 Client VPN 建立關聯

執行 associate-client-vpn-target-network 命令,以將子網路與 Client VPN 端點建立關聯:

$  aws --region us-east-1 ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --subnet-id subnet-0123456789abc123

此動作會將 Client VPN 的狀態變更為可用。虛擬私有雲端 (VPC) 的本機路由會自動新增至 Client VPN 端點路由表。VPC 的預設安全性群組會自動套用至子網路關聯。關聯子網路之後,您可以修改安全性群組。

新增授權規則以授與用戶端存取目標 VPC

若要新增授權規則,請對您使用的授權執行 authorize-client-vpn-ingress 命令:

相互身分驗證

$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --authorize-all-groups

活動目錄驗證

$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id S-1-2-34-1234567890-1234567890-1234567890-1234

同盟驗證 (SAML 2.0)

$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id MyAccessGroup

注意: 以提供者群組的存取群組 ID 取代 MyAccessGroup

(選擇性) 執行 create-client-vpn-route 命令將其他路由新增至 Client VPN 端點上的目的地網路:

$ aws --region us-east-1 ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abcabca

匯出 Client VPN 端點組態檔案

匯出 Client VPN 端點組態檔案。使用此檔案以分配給您的用戶端。

注意: 如果您使用相互身分驗證來設定 Client VPN,請執行 export-client-vpn-client-configuration 命令,以將用戶端憑證和用戶端金鑰附加至組態檔案:

$ aws --region us-east-1 ec2 export-client-vpn-client-configuration --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --output text > client-config.ovpn
AWS 官方
AWS 官方已更新 1 年前