

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 AWS Client VPN
<a name="cvpn-working"></a>

以下主题说明使用 Client VPN 所需执行的主要管理任务：
+ **访问自助服务门户**：配置对 Client VPN 自助服务门户的访问权限，以便客户端可以自己下载 Client VPN 端点配置文件。有关访问自助服务门户的信息，请参阅 [AWS Client VPN 访问自助服务门户](cvpn-self-service-portal.md)。
+ **授权规则**：添加授权规则以控制客户端对指定网络的访问。有关添加授权规则的信息，请参阅 [AWS Client VPN 授权规则](cvpn-working-rules.md)。
+ **客户端证书吊销列表**：使用客户端证书吊销列表撤销对 Client VPN 端点的访问权限。有关客户端证书吊销列表的信息，请参阅 [AWS Client VPN 客户证书吊销列表](cvpn-working-certificates.md)。
+ **客户端连接**：查看或终止客户端与 Client VPN 端点的连接。有关查看或终止客户端连接的信息，请参阅 [AWS Client VPN 客户端连接](cvpn-working-connections.md)。
+ **客户端登录横幅**：建立 VPN 会话时在 Client VPN 桌面应用程序上添加文本横幅。您可以使用文本横幅满足监管和合规性需求。有关登录横幅的信息，请参阅 [AWS Client VPN 客户端登录横幅](cvpn-working-login-banner.md)。
+ **客户端路由强制执行**：在通过 VPN 连接的设备上强制执行管理员定义的路由。有关客户端路由强制执行的更多信息，请参阅 [AWS Client VPN 客户端路由强制执行](cvpn-working-cre.md)。
+ **Client VPN 端点**：配置 Client VPN 端点以管理和控制所有 VPN 会话。有关配置端点的信息，请参阅 [AWS Client VPN 端点](cvpn-working-endpoints.md)。
+ **连接日志**：为新的或现有的 Client VPN 端点启用连接日志记录，以开始捕获连接日志。有关连接日志记录的信息，请参阅 [AWS Client VPN 连接日志](cvpn-working-with-connection-logs.md)。
+ **客户端配置文件导出**：配置 Client VPN 客户端建立 VPN 连接所需的客户端配置文件。配置该文件后，将其下载（导出）以分发给客户端。有关导出客户端配置文件的更多信息，请参阅 [AWS Client VPN 端点配置文件导出](cvpn-working-endpoint-export.md)。
+ **路由**：为每个 Client VPN 路由配置授权规则，以指定哪些客户端可以访问目标网络。有关配置授权规则的信息，请参阅 [AWS Client VPN 授权规则](cvpn-working-rules.md)。
+ **目标网络**：将目标网络与 Client VPN 端点相关联，使客户端能够连接到此网络并建立 VPN 连接。有关目标网络的信息，请参阅 [AWS Client VPN 目标网络](cvpn-working-target.md)。
+ **最长 VPN 会话持续时间**：设置最长 VPN 会话持续时间选项，以满足您的安全性和合规性要求。有关最长 VPN 会话持续时间的信息，请参阅 [AWS Client VPN 最长 VPN 会话持续时间超时](cvpn-working-max-duration.md)。

# AWS Client VPN 访问自助服务门户
<a name="cvpn-self-service-portal"></a>

如果您为 Client VPN 端点启用了自助服务门户，则可以为客户端提供自助服务门户 URL。客户端可以在 Web 浏览器中访问门户，并使用基于用户的凭证登录。在门户中，客户可以下载 Client VPN 端点配置文件，也可以下载 AWS 提供的客户端的最新版本。

以下规则适用：
+ 自助服务门户不适用于使用双向身份验证进行身份验证的客户端。
+ 自助服务门户中提供的配置文件与您使用 Amazon VPC 控制台或 导出的配置文件相同AWS CLI 如果在将配置文件分发给客户端之前需要对其进行自定义，则必须自行将自定义文件分发给客户端。
+ 您必须为 Client VPN 端点启用自助服务门户选项，否则客户端无法访问门户。如果未启用此选项，您可以修改 Client VPN 端点以启用它。

启用自助服务门户选项后，向客户端提供以下 URL 之一：
+ `https://self-service.clientvpn.amazonaws.com/`

  如果客户端使用此 URL 访问门户，则必须输入 Client VPN 端点的 ID，然后才能登录。
+ `https://self-service.clientvpn.amazonaws.com/endpoints/<endpoint-id>`

  将前面的 URL 中的 *<endpoint-id>* 替换为 Client VPN 端点的 ID，例如 `cvpn-endpoint-0123456abcd123456`。

您还可以在 [describe-client-vpn-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-endpoints.html) AWS CLI命令的输出中查看自助服务门户的 URL。或者，该 URL 可在 Amazon VPC 控制台的 **Client VPN Endpoints**（Client VPN 端点）页面上的 **Details**（详细信息）选项卡中找到。

有关配置自助服务门户以用于联合身份验证的更多信息，请参阅[支持自助服务门户](federated-authentication.md#saml-self-service-support)。

# AWS Client VPN 授权规则
<a name="cvpn-working-rules"></a>

授权规则充当授予网络访问权限的防火墙规则。通过添加授权规则，您可以向特定客户端授予对指定网络的访问权限。对于要授予访问权限的每个网络，您都应该设置一个授权规则。可以使用控制台和 AWS CLI向 Client VPN 端点添加授权规则。

**注意**  
在评估授权规则时，Client VPN 会使用最长前缀匹配。有关更多详细信息，请参阅 *Amazon VPC 用户指南*中的故障排查主题 [故障排除 AWS Client VPN：Active Directory 群组的授权规则未按预期运行](ad-group-auth-rules.md) 和[路由优先级](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-tables-priority)。

## 可供了解授权规则的关键点
<a name="key-points-summary"></a>

以下几点解释了授权规则的一些行为：
+ 要允许访问目标网络，必须显式添加授权规则。原定设置行为是拒绝访问。
+ 您无法添加授权规则以*限制* 对目标网络的访问。
+ `0.0.0.0/0` CIDR 作为特殊情况进行处理。无论创建授权规则的顺序如何，它都是最后处理的。
+ `0.0.0.0/0` CIDR 可被视为“任何目标”或“其他授权规则未定义的任何目标”。
+ 最长前缀匹配是优先的规则。

**Topics**
+ [关键点](#key-points-summary)
+ [场景示例](#auth-rule-example-scenarios)
+ [添加授权规则](cvpn-working-rule-authorize-add.md)
+ [删除授权规则](cvpn-working-rule-remove.md)
+ [查看授权规则](cvpn-working-rule-view.md)

## Client VPN 授权规则场景示例
<a name="auth-rule-example-scenarios"></a>

本节介绍授权规则的工作原理 AWS Client VPN。它包括可供了解授权规则的关键点、示例架构以及对映射到示例架构的示例场景的讨论。

**场景**
+ [授权规则场景的示例架构](#example-arch-auth-rules)
+ [访问单个目标](#auth-rules1)
+ [使用任何目标（0.0.0.0/0）CIDR](#auth-rules2)
+ [更长的 IP 前缀匹配](#auth-rules3)
+ [重叠 CIDR（同一个组）](#auth-rules4)
+ [其他 0.0.0.0/0 规则](#auth-rules5)
+ [为 192.168.0.0/24 添加规则](#auth-rules6)
+ [SAML 联合身份验证](#auth-rules7)
+ [访问所有用户组](#auth-rules8)

### 授权规则场景的示例架构
<a name="example-arch-auth-rules"></a>

下图显示了用于本节中的示例场景的示例架构。

![\[Client VPN 架构示例\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/clientvpn-admin/images/cvpn-auth-rules.png)


### 访问单个目标
<a name="auth-rules1"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  S-xxxxx14  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  S-xxxxx15  |  False  |  10.0.0.0/16  | 
|  向经理组提供对 Client VPN VPC 的访问权限  |  S-xxxxx16  |  False  |  192.168.0.0/24  | 

**产生的行为**
+ 工程组只能访问 `172.16.0.0/24`。
+ 开发组只能访问 `10.0.0.0/16`。
+ 经理组只能访问 `192.168.0.0/24`。
+ 所有其他流量都由 Client VPN 端点丢弃。

**注意**  
在这种情况下，任何用户组都无法访问公共互联网。

### 使用任何目标（0.0.0.0/0）CIDR
<a name="auth-rules2"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  S-xxxxx14  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  S-xxxxx15  |  False  |  10.0.0.0/16  | 
|  向经理组提供对任何目标的访问权限  |  S-xxxxx16  |  False  |  0.0.0.0/0  | 

**产生的行为**
+ 工程组只能访问 `172.16.0.0/24`。
+ 开发组只能访问 `10.0.0.0/16`。
+ 经理组可以访问公共互联网*和* `192.168.0.0/24`，但无法访问 `172.16.0.0/24` 或 `10.0.0/16`。

**注意**  
在这种情况下，因为没有规则引用 `192.168.0.0/24`，所以访问该网络的权限也由 `0.0.0.0/0` 规则提供。  
包含 `0.0.0.0/0` 的规则始终最后求值，而无论创建规则的顺序如何。因此，请记住，在 `0.0.0.0/0` 之前求值的规则在确定 `0.0.0.0/0` 授予对哪些网络的访问权限方面起着重要作用。

### 更长的 IP 前缀匹配
<a name="auth-rules3"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  S-xxxxx14  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  S-xxxxx15  |  False  |  10.0.0.0/16  | 
|  向经理组提供对任何目标的访问权限  |  S-xxxxx16  |  False  |  0.0.0.0/0  | 
|  向经理组提供对开发 VPC 中单个主机的访问权限  |  S-xxxxx16  |  False  |  10.0.2.119/32  | 

**产生的行为**
+ 工程组只能访问 `172.16.0.0/24`。
+ 开发组可以访问 `10.0.0.0/16`，但单个主机 `10.0.2.119/32` *除外*。
+ 经理组可以访问公共互联网、`192.168.0.0/24` 以及开发 VPC 中的单个主机（`10.0.2.119/32`），但无权访问 `172.16.0.0/24` 或开发 VPC 中的任何剩余主机。

**注意**  
在这里，您可以看到具有较长 IP 前缀的规则如何优先于具有较短 IP 前缀的规则。如果您想让开发组有权访问 `10.0.2.119/32`，则需要添加一条附加规则向开发团队授予对 `10.0.2.119/32` 的访问权限。

### 重叠 CIDR（同一个组）
<a name="auth-rules4"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  S-xxxxx14  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  S-xxxxx15  |  False  |  10.0.0.0/16  | 
|  向经理组提供对任何目标的访问权限  |  S-xxxxx16  |  False  |  0.0.0.0/0  | 
|  向经理组提供对开发 VPC 中单个主机的访问权限  |  S-xxxxx16  |  False  |  10.0.2.119/32  | 
|  向工程组提供对本地网络中较小子网的访问权限  |  S-xxxxx14  |  False  |  172.16.0.128/25  | 

**产生的行为**
+ 开发组可以访问 `10.0.0.0/16`，但单个主机 `10.0.2.119/32` *除外*。
+ 经理组可以访问公共互联网、`192.168.0.0/24` 以及 `10.0.2.119/32` 网络中的单个主机（`10.0.0.0/16`），但无权访问 `172.16.0.0/24` 或 `10.0.0.0/16` 网络中的任何剩余主机。
+ 工程组有权访问 `172.16.0.0/24`，包括更具体的子网 `172.16.0.128/25`。

### 其他 0.0.0.0/0 规则
<a name="auth-rules5"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  S-xxxxx14  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  S-xxxxx15  |  False  |  10.0.0.0/16  | 
|  向经理组提供对任何目标的访问权限  |  S-xxxxx16  |  False  |  0.0.0.0/0  | 
|  向经理组提供对开发 VPC 中单个主机的访问权限  |  S-xxxxx16  |  False  |  10.0.2.119/32  | 
|  向工程组提供对本地网络中较小子网的访问权限  |  S-xxxxx14  |  False  |  172.16.0.128/25  | 
|  向工程组提供对任何目标的访问权限  |  S-xxxxx14  |  False  |  0.0.0.0/0  | 

**产生的行为**
+ 开发组可以访问 `10.0.0.0/16`，但单个主机 `10.0.2.119/32` *除外*。
+ 经理组可以访问公共互联网、`192.168.0.0/24` 以及 `10.0.2.119/32` 网络中的单个主机（`10.0.0.0/16`），但无权访问 `172.16.0.0/24` 或 `10.0.0.0/16` 网络中的任何剩余主机。
+ 工程组可以访问公共互联网、`192.168.0.0/24` 以及 `172.16.0.0/24`，包括更具体的子网 `172.16.0.128/25`。

**注意**  
请注意，工程组和经理组现在都可以访问 `192.168.0.0/24`。这是因为这两个组都有权访问 `0.0.0.0/0`（任何目标）*且* 没有其他规则在引用 `192.168.0.0/24`。

### 为 192.168.0.0/24 添加规则
<a name="auth-rules6"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  S-xxxxx14  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  S-xxxxx15  |  False  |  10.0.0.0/16  | 
|  向经理组提供对任何目标的访问权限  |  S-xxxxx16  |  False  |  0.0.0.0/0  | 
|  向经理组提供对开发 VPC 中单个主机的访问权限  |  S-xxxxx16  |  False  |  10.0.2.119/32  | 
|  向工程组提供对本地网络中子网的访问权限  |  S-xxxxx14  |  False  |  172.16.0.128/25  | 
|  向工程组提供对任何目标的访问权限  |  S-xxxxx14  |  False  |  0.0.0.0/0  | 
|  向经理组提供对 Client VPN VPC 的访问权限  |  S-xxxxx16  |  False  |  192.168.0.0/24  | 

**产生的行为**
+ 开发组可以访问 `10.0.0.0/16`，但单个主机 `10.0.2.119/32` *除外*。
+ 经理组可以访问公共互联网、`192.168.0.0/24` 以及 `10.0.2.119/32` 网络中的单个主机（`10.0.0.0/16`），但无权访问 `172.16.0.0/24` 或 `10.0.0.0/16` 网络中的任何剩余主机。
+ 工程组可以访问公共互联网、`172.16.0.0/24` 以及 `172.16.0.128/25`。

**注意**  
请注意，添加供经理组访问 `192.168.0.0/24` 的规则会导致开发组不再具有访问该目标网络的权限。

### SAML 联合身份验证
<a name="auth-rules7"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  工程  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  开发人员  |  False  |  10.0.0.0/16  | 
|  向经理组提供对 Client VPN VPC 的访问权限  |  管理人员  |  False  |  192.168.0.0/24  | 

**产生的行为**
+ 通过 SAML 进行身份验证且具有“工程”组属性的用户只能访问 `172.16.0.0/24`。
+ 通过 SAML 进行身份验证且具有“开发人员”组属性的用户只能访问 `10.0.0.0/16`。
+ 通过 SAML 进行身份验证且具有“管理员”组属性的用户只能访问 `192.168.0.0/24`。
+ 所有其他流量都由 Client VPN 端点丢弃。

**注意**  
使用 SAML 联合身份验证时，“组 ID”字段对应于标识用户组成员资格的 SAML 属性值。此属性由您的 SAML 身份提供商配置，并在身份验证期间传递给 Client VPN。

### 访问所有用户组
<a name="auth-rules8"></a>


| 规则描述 | 组 ID | 允许所有用户访问 | 目标 CIDR | 
| --- | --- | --- | --- | 
|  向工程组提供对本地网络的访问权限  |  S-xxxxx14  |  False  |  172.16.0.0/24  | 
|  向开发组提供对开发 VPC 的访问权限  |  S-xxxxx15  |  False  |  10.0.0.0/16  | 
|  向经理组提供对任何目标的访问权限  |  S-xxxxx16  |  False  |  0.0.0.0/0  | 
|  向经理组提供对开发 VPC 中单个主机的访问权限  |  S-xxxxx16  |  False  |  10.0.2.119/32  | 
|  向工程组提供对本地网络中子网的访问权限  |  S-xxxxx14  |  False  |  172.16.0.128/25  | 
|  向工程组提供对所有网络的访问权限  |  S-xxxxx14  |  False  |  0.0.0.0/0  | 
|  向经理组提供对 Client VPN VPC 的访问权限  |  S-xxxxx16  |  False  |  192.168.0.0/24  | 
|  向所有组提供访问权限  |  不适用  |  True  |  0.0.0.0/0  | 

**产生的行为**
+ 开发组可以访问 `10.0.0.0/16`，但单个主机 `10.0.2.119/32` *除外*。
+ 经理组可以访问公共互联网、`192.168.0.0/24` 以及 `10.0.2.119/32` 网络中的单个主机（`10.0.0.0/16`），但无权访问 `172.16.0.0/24` 或 `10.0.0.0/16` 网络中的任何剩余主机。
+ 工程组可以访问公共互联网、`172.16.0.0/24` 以及 `172.16.0.128/25`。
+ 任何其他用户组（例如“管理员组”）可以访问公共互联网，但不能访问在其他规则中定义的任何其他目标网络。

# 向 AWS Client VPN 终端节点添加授权规则
<a name="cvpn-working-rule-authorize-add"></a>

可以使用 AWS 管理控制台添加授权规则，以授予或限制对 Client VPN 端点的访问。可以使用 Amazon VPC 控制台或者使用命令行或 API 向 Client VPN 端点添加授权规则。

**要向 Client VPN 终端节点添加授权规则，请使用 AWS 管理控制台**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要向其中添加授权规则的 Client VPN 端点，然后依次选择**授权规则**和**添加授权规则**。

1. 对于 **Destination network to enable access**（要启用访问的目标网络），输入您希望用户访问的 IP 地址，以 CIDR 表示法表示（例如，VPC 的 CIDR 块）。

1. 指定允许哪些客户端访问指定的网络。对于 **For grant access to (将访问权限授予)**，执行以下操作之一：
   + 要向所有客户端授予访问权限，请选择 **Allow access to all users (允许所有用户访问)**。
   + 要将访问限制到特定客户端，请选择 **Allow access to users in a specific access group (允许特定访问组中的用户进行访问)**，然后对于 **Access group ID (访问组 ID)**，输入要授予访问权限的组的 ID。例如，活动目录组的安全标识符 (SID)，或基于 SAML ID/name 的身份提供者 (IdP) 中定义的组的安全标识符 (SID)。
     + （Active Directory）要获取 SID，你可以使用微软 Powershell [Get-ADGroup](https://learn.microsoft.com/en-us/powershell/module/activedirectory/get-adgroup) cmdlet，例如：

       ```
       Get-ADGroup -Filter 'Name -eq "<Name of the AD Group>"'
       ```

       或者，打开“Active Directory 用户和计算机”工具，查看组的属性，转到“属性编辑器”选项卡，获取 `objectSID` 的值。如有必要，请先选择**查看**、**高级功能**以启用“属性编辑器”选项卡。
     + （基于 SAML 的联合身份验证）该组 ID/name 应与 SAML 断言中返回的组属性信息相匹配。

1. 对于 **Description (描述)**，输入授权规则的简要描述。

1. 选择**添加授权规则**。

**将授权规则添加到 Client VPN 端点（AWS CLI）**  
使用 [authorize-client-vpn-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-client-vpn-ingress.html) 命令。

# 从 AWS Client VPN 终端节点中移除授权规则
<a name="cvpn-working-rule-remove"></a>

可以使用控制台和 AWS CLI删除特定 Client VPN 端点的授权规则。

**删除授权规则（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要向其中添加授权规则的 Client VPN 端点，然后选择**授权规则**。

1. 选择要删除的授权规则，选择**删除授权规则**，然后再次选择**删除授权规则**以确认删除。

**删除授权规则（AWS CLI）**  
使用 [revoke-client-vpn-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-client-vpn-ingress.html) 命令。

# 查看 AWS Client VPN 授权规则
<a name="cvpn-working-rule-view"></a>

可以使用控制台和 AWS CLI 查看特定 Client VPN 端点的授权规则。

**查看授权规则（控制台）**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要查看其授权规则的 Client VPN 端点，然后选择 **Authorization rules**（授权规则）。

**查看授权规则 (AWS CLI)**  
使用 [describe-client-vpn-authorization-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-authorization-rules.html) 命令。

# AWS Client VPN 客户证书吊销列表
<a name="cvpn-working-certificates"></a>

针对特定客户端证书，使用 Client VPN 客户端证书吊销列表撤销对 Client VPN 端点的访问权限。您可以生成吊销列表或导入现有列表。您也可以将当前列表导出为吊销列表文件。在Windows Linux/macOS 或Windows上使用OpenVPN软件生成列表。可以使用 Amazon VPC 控制台或 AWS CLI 完成导入和导出。

有关生成服务器和客户端证书和密钥的更多信息，请参阅[相互认证 AWS Client VPN](mutual.md)

**注意**  
如果客户端证书吊销列表已过期，则您无法连接到 Client VPN 端点。您需要创建一个新的客户端证书吊销列表，并将其导入 Client VPN 端点。

只能向客户端证书吊销列表中添加有限数量的条目。有关可以添加到吊销列表中的条目数的更多信息，请参阅 [客户端 VPN 配额](limits.md#quotas-endpoints)。

**Topics**
+ [生成客户端证书吊销列表](cvpn-working-certificates-generate.md)
+ [导入客户端证书吊销列表](cvpn-working-certificates-import.md)
+ [导出客户端证书吊销列表](cvpn-working-certificates-export.md)

# 生成 AWS Client VPN 客户证书吊销列表
<a name="cvpn-working-certificates-generate"></a>

您可以在 Linux/macOS 或 Windows 操作系统上生成 Client VPN 证书吊销列表。针对特定证书，使用吊销列表撤销对 Client VPN 端点的访问权限。有关客户端证书吊销列表的更多信息，请参阅[客户端证书吊销列表](cvpn-working-certificates.md)。

------
#### [ Linux/macOS ]

在以下过程中，您使用 OpenVPN easy-rsa 命令行实用程序生成客户端证书吊销列表。

**使用 OpenVPN easy-rsa 生成客户端证书吊销列表**

1. 登录到托管 easyrsa 安装（用于生成证书）的服务器。

1. 导航到本地存储库中的 `easy-rsa/easyrsa3` 文件夹。

   ```
   $ cd easy-rsa/easyrsa3
   ```

1. 撤销客户端证书并生成客户端吊销列表。

   ```
   $ ./easyrsa revoke client1.domain.tld
   $ ./easyrsa gen-crl
   ```

   出现提示时输入 `yes`。

------
#### [ Windows ]

以下过程使用 OpenVPN 软件生成客户端吊销列表。它假定您遵循了[使用 OpenVPN 软件](mutual.md)生成客户端和服务器证书和密钥的步骤。

**使用 EasyRSA 版本 3.x.x 生成客户端证书吊销列表**

1. 打开命令提示符并导航至 EasyRSA-3.x.x 目录，该目录的具体位置取决于它在系统上的安装位置。

   ```
   C:\> cd c:\Users\windows\EasyRSA-3.x.x
   ```

1. 运行 `EasyRSA-Start.bat` 文件以启动 EasyRSA Shell。

   ```
   C:\> .\EasyRSA-Start.bat
   ```

1. 在 EasyRSA shell 中，吊销该客户端证书。

   ```
   # ./easyrsa revoke client_certificate_name
   ```

1. 出现提示时输入 `yes`。

1. 生成客户端吊销列表。

   ```
   # ./easyrsa gen-crl
   ```

1. 系统将在以下位置创建客户端吊销列表：

   ```
   c:\Users\windows\EasyRSA-3.x.x\pki\crl.pem
   ```

**使用 EasyRSA 的早期版本生成客户端证书吊销列表**

1. 打开命令提示符，然后导航到 OpenVPN 目录。

   ```
   C:\> cd \Program Files\OpenVPN\easy-rsa
   ```

1. 运行 `vars.bat` 文件。

   ```
   C:\> vars
   ```

1. 撤销客户端证书并生成客户端吊销列表。

   ```
   C:\> revoke-full client_certificate_name
   C:\> more crl.pem
   ```

------

# 导入 AWS Client VPN 客户证书吊销列表
<a name="cvpn-working-certificates-import"></a>

您必须拥有要导入的 Client VPN 客户端证书吊销列表文件。有关生成客户端证书吊销列表的更多信息，请参阅[生成 AWS Client VPN 客户证书吊销列表](cvpn-working-certificates-generate.md)。

可以使用控制台和 AWS CLI导入客户端证书吊销列表。

**导入客户端证书吊销列表（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要为其导入客户端证书吊销列表的 Client VPN 端点。

1. 选择 **Actions (操作)**，然后选择 **Import Client Certificate CRL (导入客户端证书 CRL)**。

1. 对于 **Certificate Revocation List (证书吊销列表)**，输入客户端证书吊销列表文件的内容，然后选择 **Import client certificate CRL**（导入客户端证书 CRL）。

**导入客户端证书吊销列表 (AWS CLI)**  
使用 [import-client-vpn-client-certificate-revocation-list](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-client-vpn-client-certificate-revocation-list.html) 命令。

```
$ aws ec2 import-client-vpn-client-certificate-revocation-list --certificate-revocation-list file://path_to_CRL_file --client-vpn-endpoint-id endpoint_id --region region
```

# 导出 AWS Client VPN 客户证书吊销列表
<a name="cvpn-working-certificates-export"></a>

可以使用控制台和 AWS CLI导出 Client VPN 客户端证书吊销列表。

**导出客户端证书吊销列表（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要导出其客户端证书吊销列表的 Client VPN 端点。

1. 选择 **Actions**（操作），选择 **Export Client Certificate CRL**（导出客户端证书 CRL），然后选择 **Export Client Certificate CRL**（导出客户端证书 CRL）。

**导出客户端证书吊销列表 (AWS CLI)**  
使用 [export-client-vpn-client-certificate-revocation-list](https://docs.aws.amazon.com/cli/latest/reference/ec2/export-client-vpn-client-certificate-revocation-list.html) 命令。

# AWS Client VPN 客户端连接
<a name="cvpn-working-connections"></a>

AWS Client VPN 连接是指客户端与特定 Client VPN 端点建立的活动 VPN 会话，以及该端点在过去 60 分钟内终止的连接。当客户端成功连接到 Client VPN 端点时，即表明建立了连接。终止会话将结束客户端与 Client VPN 端点的连接。

您可以查看和终止 Client VPN 连接。查看连接信息会返回诸如从客户端 CIDR 块范围分配的 IP 地址以及端点 ID 和时间戳等信息。终止会话将结束与端点的指定 VPN 连接。可以使用 Amazon VPC 控制台或 AWS CLI 查看和终止会话。如果无法连接到端点，请参阅[排查 AWS Client VPN 问题](troubleshooting.md)，根据错误情况，了解解决问题所需采取的步骤。

**Topics**
+ [查看客户端连接](cvpn-working-connections-view.md)
+ [终止客户端连接](cvpn-working-connections-disassociate.md)

# 查看 AWS Client VPN 客户端连接
<a name="cvpn-working-connections-view"></a>

可以使用 Amazon VPC 控制台或 AWS CLI 查看活动 Client VPN 连接。

**查看 Client VPN 客户端连接（控制台）**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要查看其客户端连接的 Client VPN 端点。

1. 选择**连接**选项卡。**连接** 选项卡列出所有处于活动状态和已终止的客户端连接。

**查看 Client VPN 客户端连接（AWS CLI）**  
使用 [describe-client-vpn-connections](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-connections.html) 命令。

# 终止 AWS Client VPN 客户端连接
<a name="cvpn-working-connections-disassociate"></a>

您可以使用亚马逊 VPC 控制台或 AWS CLI 终止 Client VPN 客户端连接。

**终止 Client VPN 客户端连接（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择客户端连接到的 Client VPN 端点，然后选择**连接**。

1. 选择要终止的连接，选择**终止连接**，然后再次选择**终止连接**确认终止。

**终止 Client VPN 客户端连接（AWS CLI）**  
使用 [terminate-client-vpn-connections](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-client-vpn-connections.html) 命令。

# AWS Client VPN 客户端登录横幅
<a name="cvpn-working-login-banner"></a>

AWS Client VPN 提供了相应的选项，可在 VPN 会话建立时在AWS提供的 Client VPN 桌面应用程序上显示文本横幅。您可以定义文本横幅的内容以满足监管和合规性需求。最多可以使用 1400 个 UTF-8 编码的字符。

**注意**  
客户端登录横幅启用后，它将仅在新创建的 VPN 会话上显示。现有的 VPN 会话不会中断，但现有的会话重新建立时也会显示横幅。

## 横幅创建
<a name="configure-login-banner-endpoint-creation"></a>

登录横幅最初在创建 Client VPN 端点期间创建和启用。有关在 Client VPN 端点创建期间启用客户端登录横幅的步骤，请参阅[创建AWS Client VPN终端节点](cvpn-working-endpoint-create.md)。

**Topics**
+ [横幅创建](#configure-login-banner-endpoint-creation)
+ [为现有端点配置客户端登录横幅](configure-login-banner-existing-endpoint.md)
+ [停用端点的客户端登录横幅](disable-login-banner.md)
+ [修改现有横幅文本](modify-banner-text.md)
+ [查看当前配置的登录横幅](display-login-banner.md)

# 为现有 AWS Client VPN 终端节点配置客户端登录横幅
<a name="configure-login-banner-existing-endpoint"></a>

请按照以下步骤为现有 Client VPN 端点配置客户端登录横幅。

**在 Client VPN 端点上启用客户端登录横幅（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要修改的 Client VPN 终端节点，选择 **Actions**（操作），然后选择 **Modify Client VPN Endpoint**（修改 Client VPN 终端节点）。

1. 在页面上向下滚动至 **Other parameters**（其他参数）部分。

1. 开启 **Enable client login banner**（启用客户端登录横幅）。

1. 对于**客户端登录横幅文本**，输入建立 VPN 会话时将在 AWS 提供的客户端上的横幅中显示的文本。只能使用 UTF-8 编码字符，并且最多允许使用 1400 个字符。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**在 Client VPN 端点上启用客户端登录横幅（AWS CLI）**  
使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令。

# 停用现有 AWS Client VPN 端点的客户端登录横幅
<a name="disable-login-banner"></a>

请按照以下步骤为现有的 Client VPN 端点停用客户端登录横幅。

**在 Client VPN 端点上停用客户端登录横幅（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要修改的 Client VPN 终端节点，选择 **Actions**（操作），然后选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

1. 在页面上向下滚动至 **Other parameters**（其他参数）部分。

1. 关闭 **Enable client login banner?**（启用客户端登录横幅?）。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**在 Client VPN 端点上停用客户端登录横幅（AWS CLI）**  
使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令。

# 修改 AWS Client VPN 端点上的现有横幅文本
<a name="modify-banner-text"></a>

按照以下步骤修改 Client VPN 客户端登录横幅的现有文本。

**在 Client VPN 端点上修改现有横幅文本（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要修改的 Client VPN 终端节点，选择 **Actions**（操作），然后选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

1. 对于 **Enable client login banner?**（启用客户端登录横幅?），验证它是否已开启。

1. 对于**客户端登录横幅文本**，请将现有文本替换为在建立 VPN 会话时要在 AWS 所提供客户端的横幅中显示的新文本。只能使用 UTF-8 编码字符，并且最多可以使用 1400 个字符。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**在 Client VPN 端点上修改客户端登录横幅（AWS CLI）**  
使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令。

# 查看当前配置的 AWS Client VPN 登录横幅
<a name="display-login-banner"></a>

按照以下步骤查看当前配置的 Client VPN 客户端登录横幅。

**查看 Client VPN 端点的当前登录横幅（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要查看的 Client VPN 终端节点。

1. 验证已经选择了 **Details**（详细信息）选项卡。

1. 在 **Client login banner text**（客户端登录横幅文本）旁查看当前配置的登录横幅文本。

**查看 Client VPN 端点当前配置的登录横幅（AWS CLI）**  
使用 [describe-client-vpn-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-endpoints.html) 命令。

# AWS Client VPN 客户端路由强制执行
<a name="cvpn-working-cre"></a>

客户端路由强制执行有助于在通过 VPN 连接的设备上强制执行管理员定义的路由。此功能可确保已连接客户端的网络流量不会无意中发送到 VPN 隧道之外，从而帮助改善您的安全状况。

客户端路由强制执行监控已连接设备的主路由表，并根据客户端 VPN 端点中配置的网络路由，确保出站网络流量流向 VPN 隧道。这包括在检测到与 VPN 隧道冲突的路由时修改设备上的路由表。客户端路由强制同时支持 IPv4 和 IPv6 地址系列。

## 要求
<a name="requirements-cre"></a>

客户端路由强制仅适用于以下 AWS 提供的 Client VPN 版本：
+ Windows 版本 5.2.0 或更高版本（IPv4 支持）
+ macOS 版本 5.2.0 或更高版本（支持）IPv4 
+ Ubuntu 版本 5.2.0 或更高版本（支持）IPv4 
+ Windows 版本 5.3.0 或更高版本（IPv6 支持）
+ macOS 版本 5.3.0 或更高版本（支持）IPv6 
+ Ubuntu 版本 5.3.0 或更高版本（支持）IPv6 

对于双堆栈端点，“客户端路由强制” 设置同时应用于两个堆栈 IPv4 和 IPv6 堆栈。不可能仅为一个堆栈启用客户端路由强制执行设置。

## 路由冲突
<a name="route-conflict-cre"></a>

当客户端连接到 VPN 时，系统会对客户端的本地路由表和端点的网络路由进行比较。如果两个路由表条目之间存在网络重叠，则会发生路由冲突。网络重叠的一个示例是：
+ `172.31.0.0/16`
+ `172.31.1.0/24`

在本示例中，这些 CIDR 数据块构成路由冲突。例如，`172.31.0.0/16` 可能是 VPN 隧道 CIDR。由于 `172.31.1.0/24` 前缀更长，因此更具体，它通常会拥有优先级，并有可能将 `172.31.1.0/24` IP 范围内的 VPN 流量重定向到另一个目标。这可能会导致意外的路由行为。但是，启用客户端路由强制执行功能后，后一个 CIDR 将被删除。使用此功能时，应考虑潜在的路由冲突。

全隧道 VPN 连接通过 VPN 连接引导所有网络流量。因此，如果启用了客户端路由强制执行功能，则连接到 VPN 的设备将无法访问本地网络（LAN）资源。如果需要访问本地 LAN，请考虑使用拆分隧道模式而不是全隧道模式。有关拆分隧道的更多信息，请参阅 [拆分隧道 Client VPN](split-tunnel-vpn.md)。

## 注意事项
<a name="considerations-cre"></a>

在激活客户端路由强制执行功能之前，应考虑以下信息。
+ 在连接时，如果检测到路由冲突，此功能将更新客户端的路由表，将流量引导到 VPN 隧道。在建立连接之前存在并被此功能删除的路由将恢复。
+ 此功能仅针对主路由表强制执行，不适用于其他路由机制。例如，强制执行不适用于以下情况：
  + 基于策略的路由
  + 接口范围内的路由
+ 客户端路由强制执行在 VPN 隧道打开时对其进行保护。隧道断开连接后或客户端重新连接时不会提供任何保护。

### OpenVPN 指令对客户端路由强制执行的影响
<a name="considerations-openvpn"></a>

OpenVPN 配置文件中的一些自定义指令与客户端路由强制执行有特定的交互：
+ `route` 指令 
  + 向 VPN 网关添加路由时。例如，将路由 `192.168.100.0 255.255.255.0` 添加到 VPN 网关。

    与任何其他 VPN 路由一样，添加到 VPN 网关的路由也由客户端路由强制执行监控。系统将检测并删除其中的任何冲突路由。
  + 向非 VPN 网关添加路由时。例如，添加路由 `192.168.200.0 255.255.255.0 net_gateway`。

    添加到非 VPN 网关的路由将被排除在客户端路由强制执行之外，因为它们会绕过 VPN 隧道。允许其中存在冲突路由。在示例中，客户端路由强制执行将不对上述路由进行监控。
  + 与 IPv4 路由类似， IPv6 添加到 VPN 网关的路由由客户端路由强制监控，而添加到非 VPN 网关的路由则不受监控。

### 忽略的路由
<a name="cre-ignored"></a>

客户端路由强制将忽略到以下 IPv4 网络的路由：
+ `127.0.0.0/8` - 为本地主机预留
+ `169.254.0.0/16` - 为链路本地地址预留
+ `224.0.0.0/4` - 为组播预留
+ `255.255.255.255/32` - 为广播预留

客户端路由强制将忽略到以下 IPv6 网络的路由：
+ `::1/128` - 为环回预留 
+ `fe80::/10` - 为链路本地地址预留 
+ `ff00::/8` - 为组播预留 

**Topics**
+ [要求](#requirements-cre)
+ [路由冲突](#route-conflict-cre)
+ [注意事项](#considerations-cre)
+ [激活客户端路由强制执行](activate-cre.md)
+ [停用客户端路由强制执行](deactivate-cre.md)
+ [对 IPv6 客户端路由强制执行进行故障排除](cre-ipv6-troubleshooting.md)

# 为 AWS Client VPN 终端节点激活客户端路由强制
<a name="activate-cre"></a>

您可以使用控制台或 AWS CLI激活现有 Client VPN 端点上的客户端路由强制执行。

**使用控制台激活客户端路由强制执行**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN endpoints**（Client VPN 端点）。

1. 选择要修改的 Client VPN 端点，选择**操作**，然后选择**修改 Client VPN 端点**。

1. 在页面上向下滚动至 **Other parameters**（其他参数）部分。

1. 打开**客户端路由强制执行**。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**使用 AWS CLI激活客户端路由强制执行**
+ 使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令。

# 从终端停用客户端路由强制 AWS Client VPN
<a name="deactivate-cre"></a>

您可以使用控制台或 AWS CLI停用 Client VPN 端点上的客户端路由强制执行。

**使用控制台停用客户端路由强制执行**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN endpoints**（Client VPN 端点）。

1. 选择要修改的 Client VPN 端点，选择**操作**，然后选择**修改 Client VPN 端点**。

1. 在页面上向下滚动至 **Other parameters**（其他参数）部分。

1. 关闭**客户端路由强制执行**。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**要使用 “禁用客户端路由强制” AWS CLI**
+ 使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令。

# 对 IPv6 客户端路由强制执行进行故障排除
<a name="cre-ipv6-troubleshooting"></a>

如果您遇到 IPv6 客户端路由强制问题，请考虑以下故障排除步骤：

验证客户端版本  
确保您使用的是 AWS VPN 客户端版本 5.3.0 或更高版本，这是 IPv6 客户端路由强制支持所必需的。

检查端点配置  
确认终端已启用客户端路由强制并配置为 IPv6 双栈流量。

检查客户端日志  
查看 AWS VPN 客户端日志，了解与 IPv6客户端路由强制相关的任何错误消息。查找包含 “” 和 IPv6 “客户端路由强制执行” 或 “CRM” 的条目。

检查路由表  
使用与您的操作系统对应的命令来查看 IPv6 路由表：  
+ Windows：`netsh interface ipv6 show route`
+ macOS：`netstat -rn -f inet6`
+ Linux：`ip -6 route`

检查是否存在冲突路由  
查找可能与 VPN IPv6 路由冲突的所有路由。请特别注意目标相同但网关不同的路由。

验证 ISP IPv6 支持  
确保您的互联网服务提供商 (ISP) 正确支持 IPv6。

如果您在尝试这些故障排除步骤后仍然遇到 IPv6 客户端路由强制问题，请联系 AWS Support 寻求进一步帮助。

# AWS Client VPN 端点
<a name="cvpn-working-endpoints"></a>

所有 AWS Client VPN 会话都与 Client VPN 端点建立通信。可以通过管理 Client VPN 端点创建、修改、查看和删除与该端点进行的 Client VPN 会话。可以使用 Amazon VPC 控制台或 AWS CLI 创建和修改端点。

## 创建 Client VPN 端点的要求
<a name="cvpn-working-create-req"></a>

**重要**  
必须在配置预期目标网络的同一 AWS 账户中创建 Client VPN 端点。您还需要生成服务器证书，并根据需要生成客户端证书。有关更多信息，请参阅 [中的客户端身份验证 AWS Client VPN](client-authentication.md)。

在您开始之前，请确保您已执行以下操作：
+ 查看 [使用规则和最佳实践 AWS Client VPN](what-is-best-practices.md)中的规则和限制。
+ 生成服务器证书，并（如果需要）获取客户端证书。有关更多信息，请参阅 [中的客户端身份验证 AWS Client VPN](client-authentication.md)。

## IP 地址类型
<a name="cvpn-ip-address-types"></a>

AWS Client VPN 支持 IPv4端点连接和 IPv6流量路由的仅限、仅限和双栈配置。以下指南可帮助您根据客户端设备功能、网络基础设施和应用程序要求选择适当的 IP 地址类型。

### 端点地址类型
<a name="cvpn-endpoint-types"></a>

端点地址类型决定了 Client VPN 端点支持哪些 IP 协议进行客户端连接。此设置在端点创建后无法更改。

** IPv4仅在以下情况下选择-**
+ 您的客户端设备仅支持 IPv4 VPN 连接
+ 您的安全工具已针对 IPv4 交通检查进行了优化

** IPv6仅在以下情况下选择-**
+ 所有客户端设备都完全支持 IPv6 连接
+ 您所在的网络 IPv4 地址已耗尽

**在以下情况下选择双堆栈：**
+ 您有多种具有不同 IP 功能的客户端设备
+ 你正在逐渐从过渡到 IPv4 IPv6

### 流量 IP 地址类型
<a name="cvpn-traffic-ip-considerations"></a>

流量 IP 地址类型控制 Client VPN 如何在客户端和您的 VPC 资源之间路由流量，这与端点支持的协议无关。

**按以下时间对流量 IPv4 进行路由：**
+ 仅支持您的 VPC 中的目标应用程序 IPv4
+ 你有复杂 IPv4 的安全组和网络 ACLs
+ 您正在连接到遗留系统

**按以下时间对流量 IPv6 进行路由：**
+ 您的 VPC 基础设施主要是 IPv6
+ 您希望让自己的网络架构适应未来需求
+ 你有专为之构建的现代应用程序 IPv6

## 端点修改
<a name="cvpn-endpoints-modify-req"></a>

**注意**  
使用快速入门设置创建的 Client VPN 端点可以使用与使用标准设置创建的端点相同的步骤进行修改。无论在创建过程中使用何种设置方法，所有配置选项都可用。

创建完 Client VPN 后，您可以修改以下任意设置：
+ 描述
+ 服务器证书
+ 客户端连接日志记录选项
+ 客户端连接处理程序选项
+ DNS 服务器
+ 拆分隧道选项
+ 路由（在使用拆分隧道选项时）
+ 证书撤销列表（CRL）
+ 授权规则
+ VPC 和安全组关联
+ VPN 端口号
+ 自助服务门户选项
+ 最长 VPN 会话持续时间
+ 启用或禁用会话超时时自动重新连接
+ 启用或禁用客户端登录横幅文本
+ 客户端登录横幅文本

**注意**  
对客户端 VPN 端点的修改（包括证书吊销列表 (CRL, Certificate Revocation List) 更改）将在客户端 VPN 服务接受请求后最多 4 小时生效。  
创建 IPv4 Client VPN 端点后，您无法修改客户端 CIDR 范围、身份验证选项、客户端证书或传输协议。

当您修改 Client VPN 端点上的以下任何参数时，连接将重置：
+ 服务器证书
+ DNS 服务器
+ 拆分隧道选项（打开或关闭支持）
+ 路由（当您使用拆分隧道选项时）
+  证书撤销列表（CRL）
+ 授权规则
+ VPN 端口号

**Topics**
+ [创建 Client VPN 端点的要求](#cvpn-working-create-req)
+ [IP 地址类型](#cvpn-ip-address-types)
+ [端点修改](#cvpn-endpoints-modify-req)
+ [创建 端点](cvpn-working-endpoint-create.md)
+ [查看端点](cvpn-working-endpoint-view.md)
+ [修改端点](cvpn-working-endpoint-modify.md)
+ [删除端点。](cvpn-working-endpoint-delete.md)

# 创建AWS Client VPN终端节点
<a name="cvpn-working-endpoint-create"></a>

创建AWS Client VPN终端节点，使您的客户端能够使用 Amazon VPC 控制台或使用 Amazon VPC 控制台建立 VPN 会话AWS CLI。Client VPN 在初始创建时支持终端节点类型（分隧道和全隧道）与流量类型（IPv4 IPv6、和双堆栈）的所有组合。

在创建端点之前，请先熟悉各项要求。有关更多信息，请参阅 [创建 Client VPN 端点的要求](cvpn-working-endpoints.md#cvpn-working-create-req)。

**使用控制台创建 Client VPN 端点**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 端点），然后选择 **Create Client VPN Endpoint**（创建 Client VPN 端点）。

1. 在 “选择安装方法” 下，选择以下选项之一：
   + 快速入门-使用 AWS 推荐的默认值创建终端节点
   + 标准-手动配置终端的所有设置

**快速入门设置：**

1. 在 “选择设置方法” 中，选择 “快速入门”。

1.  在 “客户端 IPv4 CIDR” 中，输入要从中分配客户端 IP 地址的 IP 地址范围。AWS 建议使用 /22 CIDR 块（例如 10.0.0.0/22）。

1.  对于 “VPC”，选择要与 Client VPN 终端节点关联的 VPC。

1.  在 “子网” 中，选择 VPC 中的一个或多个子网。这些子网将用于目标网络关联。

1.  对于 Server certificate ARN（服务器证书 ARN），请指定服务器要使用的 TLS 证书的 ARN。客户端使用服务器证书对它们正在连接的 Client VPN 终端节点进行身份验证。

1.  选择 “创建 Client VPN 端点”。

AWS 会自动创建以下资源：
+ 允许所有用户访问 VPC CIDR 的授权规则
+ 目标网络与所选 VPC 子网的关联
+ VPC CIDR 的路由表条目

 创建终端节点后，您可以从终端节点详细信息页面下载客户端配置文件，并将其与客户端证书和密钥一起分发给您的用户。

**标准设置：**

1. 在 “选择设置方法” 中，选择 “标准”。

1. （可选）提供 Client VPN 终端节点的名称标签和描述。

1. 对于**端点 IP 地址类型**，选择端点的 IP 地址类型：
   + **IPv4**：终端使用外部 VPN 隧道流量 IPv4 的地址。
   + **IPv6**：终端使用外部 VPN 隧道流量 IPv6 的地址。
   + **双栈**：端点同时使用 IPv4 和 IPv6 地址来处理外部 VPN 隧道流量。

1. 对于**流量 IP 地址类型**，选择流经端点的流量的 IP 地址类型：
   + **IPv4**：端点仅支持 IPv4 流量。
   + **IPv6**：端点仅支持 IPv6 流量。
   + **双栈**：端点同时支持 IPv4 和 IPv6 流量。

1. 对于**客户端 IPv4 CIDR**，以 CIDR 表示法指定一个 IP 地址范围，从中分配客户端 IP 地址。例如 `10.0.0.0/22`。如果您为流量 IP 地址类型选择了 IPv4 或双堆栈，则这是必需的。
**注意**  
此地址范围不能与目标网络地址范围、VPC 地址范围或将与 Client VPN 端点关联的任何路由重叠。客户端地址范围必须至少为 /22 且不大于 /12 CIDR 块大小。创建 Client VPN 终端节点后，您无法更改客户端地址范围。
当您选择 IPv6 作为终端节点 IP 地址类型时，“客户端 IPv4 CIDR” 字段将被禁用。Client VPN 终端节点从关联的子网分配客户机 IPv6地址，您可以在创建终端节点后关联子网。
**注意**  
对于 IPv6 流量，您无需指定客户端 CIDR 范围。Amazon 会自动为客户分配 IPv6 CIDR 范围。

1. 对于 **Server certificate ARN**（服务器证书 ARN），请指定服务器要使用的 TLS 证书的 ARN。客户端使用服务器证书对它们正在连接的 Client VPN 终端节点进行身份验证。
**注意**  
服务器证书必须存在于您正在创建 Client VPN 端点的区域的AWS Certificate Manager(ACM) 中。可以使用 ACM 预置证书，也可以导入到 ACM 中。  
有关在 ACM 中预置或导入证书的步骤，请参阅《AWS Certificate Manager用户指南》**中的 [AWS Certificate Manager证书](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)。

1. 指定当客户端建立 VPN 连接时要用来对客户端进行身份验证的身份验证方法。您必须选择身份验证方法。
   + 要使用基于用户的身份验证，请选择 **Use user-based authentication**（使用基于用户的身份验证），然后选择以下选项之一：
     + **Active Directory authentication**（Active Directory 身份验证）：为 Active Directory 身份验证选择此选项。对于 **Directory ID**（目录 ID），指定要使用的 Active Directory 的 ID。
     + **Federated authentication**（联合身份验证）：为基于 SAML 的联合身份验证选择此选项。

       对于 **SAML provider ARN**（SAML 提供商 ARN），指定 IAM SAML 身份提供商的 ARN。

       （可选）对于 **Self-service SAML provider ARN**（自助服务 SAML 提供商 ARN），指定您为[支持自助服务门户](federated-authentication.md#saml-self-service-support)而创建的 IAM SAML 身份提供商的 ARN（如果适用）。
   + 要使用相互证书身份验证，请选择 “**使用相互身份验证**”，然后在 “**客户端证书 ARN**” 中，指定在 (ACM) 中配置的客户证书的 ARN。AWS Certificate Manager
**注意**  
如果服务器证书和客户端证书是由相同证书颁发机构 (CA) 颁发，则您可以将服务器证书 ARN 用于服务器和客户端。如果客户端证书是由其他 CA 颁发，则应指定客户端证书 ARN。

1. （可选）对于**连接日志**，请指定是否使用 Amazon Log CloudWatch s 记录有关客户端连接的数据。开启 **Enable log details on client connections**（在客户端连接上启用日志详细信息）。在**CloudWatch 日志日志组名称**中，输入要使用的日志组的名称。在**CloudWatch 日志日志流名称**中，输入要使用的日志流的名称，或者将此选项留空以让我们为您创建日志流。

1. （可选）对于 **Client Connect Handler**（客户端连接处理程序），开启 **Enable client connect handler**（启用客户端连接处理程序），以运行允许或拒绝与 Client VPN 端点的新连接的自定义代码。对于 **Client Connect Handler ARN**（客户端连接处理程序 ARN），指定包含允许或拒绝连接的逻辑的 Lambda 函数的 Amazon 资源名称（ARN）。

1. （可选）指定用于 DNS 解析的 DNS 服务器。要使用自定义 DNS 服务器，请为 **DNS 服务器 1 的 IP 地址**和 **DNS 服务器 2 的 IP IPv4 地址**指定要使用的 DNS 服务器的地址。对于 IPv6 双栈终端节点，您还可以指定 **DNS 服务器 IPv6 1** 和 **DNS 服务器 IPv6 2** 地址。要使用 VPC DNS 服务器，对于 **DNS Server 1 IP address**（DNS 服务器 1 IP 地址）或 **DNS Server 2 IP address**（DNS 服务器 2 IP 地址），指定 IP 地址，并添加 VPC DNS 服务器 IP 地址。
**注意**  
验证客户端是否能访问 DNS 服务器。

1. （可选）原定设置情况下，Client VPN 端点使用 `UDP` 传输协议。若要改用 `TCP` 传输协议，对于 **Transport Protocol**（传输协议），选择 **TCP**。
**注意**  
UDP 通常能比 TCP 提供更好的性能。创建 Client VPN 端点后，无法更改传输协议。

1. （可选）要使端点成为拆分隧道 Client VPN 端点，请开启 **Enable split-tunnel**（启用拆分隧道）。默认情况下，Client VPN 端点会禁用拆分隧道功能。

1. （可选）对于 **VPC ID**，请选择要与 Client VPN 端点关联的 VPC。对于**安全组 IDs**，选择一个或多个 VPC 的安全组以应用于 Client VPN 终端节点。

1. （可选）对于 **VPN port**（VPN 端口），选择 VPN 端口号。默认值为 443。

1. （可选）要为客户端生成 [self-service portal URL](cvpn-self-service-portal.md)（自助服务门户 URL），请开启 **Enable self-service portal**（启用自助服务门户）。

1. （可选）对于 **Session timeout hours**（会话超时时间），请从可用的选项中选择所需的最长 VPN 会话持续时间（以小时为单位），也可保留 24 小时的原定设置。

1. （可选）对于**会话超时时断开连接**，请选择是否要在达到最长会话时间时终止会话。选择此选项要求用户在会话超时时手动重新连接到端点；否则，Client VPN 将自动尝试重新连接。

1. （可选）指定是否启用客户端登录横幅文本。开启 **Enable client login banner**（启用客户端登录横幅）。对于 **Client login banner text**（客户端登录横幅文本），输入 VPN 会话建立时将在 AWS 提供的客户端上显示的横幅文本。仅支持 UTF-8 编码字符。最多可使用 1400 个字符。

1. 选择 **Create Client VPN Endpoint**（创建 Client VPN 终端节点）。

创建 Client VPN 端点后，请执行以下操作以完成配置并使客户端能够连接：
+ Client VPN 端点的初始状态为 `pending-associate`。仅当您关联第一个[目标网络](cvpn-working-target-associate.md)后，客户端才能连接到 Client VPN 端点。
+ 创建[授权规则](cvpn-working-rules.md)，以指定哪些客户端具有网络访问权限。
+ 下载并准备要分发给客户端的 Client VPN 端点[配置文件](cvpn-working-endpoint-export.md)。
+ 指示您的客户使用AWS提供的客户端或其他基于 OpenVPN 的客户端应用程序连接到 Client VPN 端点。有关更多信息，请参阅 [AWS Client VPN《用户指南》](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/)。

**使用创建 Client VPN 终端节点AWS CLI**  
使用 [create-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-client-vpn-endpoint.html) 命令。

创建终 IPv4 端节点的示例：

```
aws ec2 create-client-vpn-endpoint \
  --client-cidr-block "172.31.0.0/16" \
  --server-certificate-arn arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
  --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
  --connection-log-options Enabled=false
```

创建终 IPv6 端节点的示例：

```
aws ec2 create-client-vpn-endpoint \
  --endpoint-ip-address-type "ipv6" \
  --traffic-ip-address-type "ipv6" \
  --server-certificate-arn arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
  --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
  --connection-log-options Enabled=false
```

创建双堆栈端点的示例：

```
aws ec2 create-client-vpn-endpoint \
  --endpoint-ip-address-type "dual-stack" \
  --traffic-ip-address-type "dual-stack" \
  --client-cidr-block "172.31.0.0/16" \
  --server-certificate-arn arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
  --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
  --connection-log-options Enabled=false
```

# 查看 AWS Client VPN 端点
<a name="cvpn-working-endpoint-view"></a>

可以使用 Amazon VPC 控制台或 AWS CLI 查看有关 Client VPN 端点的信息。

**查看 Client VPN 端点（控制台）**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要查看的 Client VPN 端点。

1. 使用 **Details**（详细信息）、**Target network associations**（目标网络关联）、**Security groups**（安全组）、**Authorization rules**（授权规则）、**Route table**（路由表）、**Connections**（连接）和 **Tags**（标签）选项卡以查看有关现有 Client VPN 端点的信息。

   还可以使用筛选条件来帮助优化搜索。

**查看 Client VPN 端点（AWS CLI）**  
使用 [describe-client-vpn-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-endpoints.html) 命令。

# 修改 AWS Client VPN 端点
<a name="cvpn-working-endpoint-modify"></a>

可以使用 Amazon VPC 控制台或 AWS CLI 修改 Client VPN 端点。有关可以修改的 Client VPN 字段的更多信息，请参阅[端点修改](cvpn-working-endpoints.md#cvpn-endpoints-modify-req)。

## 限制
<a name="endpoints-limits"></a>

以下是修改端点时具有的限制 
+  对客户端 VPN 端点的修改（包括证书吊销列表 (CRL, Certificate Revocation List) 更改）将在客户端 VPN 服务接受请求后最多 4 小时生效。
+ 在创建客户端 VPN 端点后，您无法修改客户端 IPv4 CIDR 范围、身份验证选项、客户端证书或传输协议。
+ 对于端点 IP 和流量 IP 类型，您可以将现有 IPv4 端点修改为双堆栈。如果端点 IP 和流量 IP 只需要使用 IPv6，则您必须创建一个新的端点。
+ 创建后，Client VPN 不支持修改端点类型（IPv4、IPv6、双堆栈）或流量类型（IPv4、IPv6、双堆栈）。
+ 不支持使用端点类型和流量类型的特定组合修改 Client VPN。您无法更改为任何其他组合。必须删除端点，然后使用所需的配置重新创建。
+ 不支持 IPv6 流量的客户端到客户端通信。

## 修改 Client VPN 终端节点
<a name="endpoint-modify"></a>

您可以使用控制台或 AWS CLI 修改 Client VPN 端点。

**使用控制台修改 Client VPN 端点**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要修改的 Client VPN 端点，选择 **Actions**（操作），然后选择 **Modify Client VPN endpoint**（修改 Client VPN 端点）。

1. 对于 **Description**（描述），输入 Client VPN 端点的简短描述。

1. 对于**端点 IP 地址类型**，您可以将现有 IPv4 端点修改为双堆栈。此选项仅适用于 IPv4 端点。

1. 对于**流量 IP 地址类型**，您可以将现有 IPv4 端点修改为双堆栈。此选项仅适用于 IPv4 端点。

1. 对于 **Server certificate ARN**（服务器证书 ARN），请指定服务器要使用的 TLS 证书的 ARN。客户端使用服务器证书对它们正在连接的 Client VPN 终端节点进行身份验证。
**注意**  
服务器证书必须存在于您在其中创建 Client VPN 端点的区域中的 AWS Certificate Manager（ACM）中。可以使用 ACM 预置证书，也可以导入到 ACM 中。

1. 指定是否要使用 Amazon CloudWatch Logs 记录有关客户端连接的数据。对于 **Enable log details on client connections**（在客户端连接上启用日志详细信息），执行以下操作之一：
   + 要激活客户端连接日志记录，请开启 **Enable log details on client connections**（在客户端连接上启用日志详细信息）。对于 **CloudWatch Logs log group name**（CloudWatch Logs 日志组名称），选择要使用的日志组的名称。对于 **CloudWatch Logs log stream name**（CloudWatch Logs 日志流名称），选择要使用的日志流的名称，或者将此选项留空以便我们为您创建日志流。
   + 要停用客户端连接日志记录，请关闭 **Enable log details on client connections**（在客户端连接上启用日志详细信息）。

1. 对于 **Client connect handler**（客户端连接处理程序），要激活 [client connect handler](connection-authorization.md)（客户端连接处理程序），请开启 **Enable client connect handler**（启用客户端连接处理程序）。对于 **Client Connect Handler ARN**（客户端连接处理程序 ARN），指定包含允许或拒绝连接的逻辑的 Lambda 函数的 Amazon 资源名称 (ARN)。

1. 打开或关闭 **Enable DNS servers**（启用 DNS 服务器）。要使用自定义 DNS 服务器，对于 **DNS 服务器 1 IP 地址**和 **DNS 服务器 2 IP 地址**，指定要使用的 DNS 服务器的 IPv4 地址。对于 IPv6 或双堆栈端点，您还可以指定 **DNS 服务器 IPv6 1** 和 **DNS 服务器 IPv6 2** 地址。要使用 VPC DNS 服务器，对于 **DNS Server 1 IP address**（DNS 服务器 1 IP 地址）或 **DNS Server 2 IP address**（DNS 服务器 2 IP 地址），指定 IP 地址，并添加 VPC DNS 服务器 IP 地址。
**注意**  
验证客户端是否能访问 DNS 服务器。

1. 打开或关闭 **Enable split-tunnel**（启用拆分隧道）。原定设置情况下，拆分隧道在 VPN 端点上处于关闭状态。

1. 对于 **VPC ID**，请选择要与 Client VPN 端点关联的 VPC。对于 **Security Group IDs**（安全组 ID），请选择要应用于 Client VPN 终端节点的 VPC 的一个或多个安全组。

1. 对于 **VPN port**（VPN 端口），选择 VPN 端口号。默认值为 443。

1. 要为客户端生成 [self-service portal URL](cvpn-self-service-portal.md)（自助服务门户 URL），请开启 **Enable self-service portal**（启用自助服务门户）。

1. 对于 **Session timeout hours**（会话超时时间），请从可用的选项中选择所需的最长 VPN 会话持续时间（以小时为单位），也可保留 24 小时的原定设置。

1. 对于**会话超时时断开连接**，请选择是否要在达到最长会话时间时终止会话。选择此选项要求用户在会话超时时手动重新连接到端点；否则，Client VPN 将自动尝试重新连接。

1. 开启或关闭 **Enable client login banner**（启用客户端登录横幅）。如果要使用客户端登录横幅，请输入 VPN 会话建立时将在 AWS 提供的客户端上显示的横幅文本。仅支持 UTF-8 编码字符。最多可使用 1400 个字符。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**使用 AWS CLI 修改 Client VPN 端点**  
使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令。

将 IPv4 端点修改为双堆栈的示例：

```
aws ec2 modify-client-vpn-endpoint \
  --client-vpn-endpoint-id cvpn-endpoint-123456789123abcde \
  --endpoint-ip-address-type "dual-stack" \
  --traffic-ip-address-type "dual-stack" \
  --client-cidr-block "172.31.0.0/16"
```

# 删除 AWS Client VPN 端点。
<a name="cvpn-working-endpoint-delete"></a>

您需要取消关联所有目标网络，然后才能删除 Client VPN 端点。在删除 Client VPN 端点时，其状态将更改为 `deleting`，客户端不再能够连接到它。

可以使用控制台或 AWS CLI 删除 Client VPN 端点。

**删除 Client VPN 端点（控制台）**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要删除的 Client VPN 端点。依次选择 **Actions**（操作）和 **Delete Client VPN endpoint**（删除 Client VPN 端点）。

1. 在确认窗口中输入 *delete*（删除），然后选择 **Delete**（删除）。

**删除 Client VPN 端点（AWS CLI）**  
使用 [delete-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-client-vpn-endpoint.html) 命令。

# AWS Client VPN 连接日志
<a name="cvpn-working-with-connection-logs"></a>

您可以为新的或现有的 Client VPN 端点启用连接日志记录，并开始捕获连接日志。连接日志显示 Client VPN 端点的日志事件顺序。启用连接日志记录时，可以在日志组中指定日志流的名称。如果未指定日志流，Client VPN 服务会为您创建一个日志流。然后，连接日志记录会记录以下信息：客户端连接请求、客户端连接结果（成功或不成功）、连接不成功的原因以及客户端与端点终止连接的时间。

开始之前，您的账户中必须有一个 CloudWatch Logs 日志组。有关更多信息，请参阅《Amazon CloudWatch Logs 用户指南》**中的[使用日志组和日志流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)。使用 CloudWatch Logs 需支付费用。有关更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)。

可以使用 Amazon VPC 控制台或 AWS CLI 创建 Client VPN 连接日志。

**Topics**
+ [为新端点启用连接日志记录](create-connection-log-new.md)
+ [为现有端点启用连接日志记录](create-connection-log-existing.md)
+ [查看连接日志](view-connection-logs.md)
+ [关闭连接日志记录](disable-connection-logs.md)

# 为新 AWS Client VPN 端点启用连接日志记录
<a name="create-connection-log-new"></a>

您可以在使用控制台或命令行创建新的 Client VPN 端点时启用连接日志记录。

**使用控制台为新的 Client VPN 端点启用连接日志记录**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN 端点**，然后选择**创建 Client VPN 端点**。

1. 填写这些选项，直至到达 **Connection Logging (连接日志记录)** 部分。有关选项的更多信息，请参阅[创建AWS Client VPN终端节点](cvpn-working-endpoint-create.md)。

1. 在 **Connection logging**（连接日志记录）中，开启 **Enable log details on client connections**（在客户端连接上启用日志详细信息）。

1. 在**CloudWatch 日志日志组名称**中，选择 CloudWatch 日志日志组的名称。

1. （可选）在**CloudWatch 日志日志流名称**中，选择 CloudWatch 日志日志流的名称。

1. 选择 **Create Client VPN Endpoint**（创建 Client VPN 终端节点）。

**要为新 Client VPN 端点启用连接记录，请使用 AWS CLI**  
使用[create-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-client-vpn-endpoint.html)命令并指定`--connection-log-options`参数。您可以按 JSON 格式指定连接日志信息，如以下示例所示。

```
{
    "Enabled": true,
    "CloudwatchLogGroup": "ClientVpnConnectionLogs",
    "CloudwatchLogStream": "NewYorkOfficeVPN"
}
```

# 为现有 AWS Client VPN 端点启用连接日志记录
<a name="create-connection-log-existing"></a>

可以使用控制台或命令行为现有的 Client VPN 端点启用连接日志记录。

**使用控制台为现有的 Client VPN 端点启用连接日志记录**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择 Client VPN 终端节点，选择 **Actions**（操作），然后选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

1. 在 **Connection logging**（连接日志记录）下，开启 **Enable log details on client connections**（在客户端连接上启用日志详细信息）。

1. 在**CloudWatch 日志日志组名称**中，选择 CloudWatch 日志日志组的名称。

1. （可选）在**CloudWatch 日志日志流名称**中，选择 CloudWatch 日志日志流的名称。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**要为现有 Client VPN 端点启用连接记录，请使用 AWS CLI**  
使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令指定 `--connection-log-options` 参数。您可以按 JSON 格式指定连接日志信息，如以下示例所示。

```
{
    "Enabled": true,
    "CloudwatchLogGroup": "ClientVpnConnectionLogs",
    "CloudwatchLogStream": "NewYorkOfficeVPN"
}
```

# 查看 AWS Client VPN 连接日志
<a name="view-connection-logs"></a>

您可以使用 CloudWatch Logs 控制台查看 Client VPN 连接日志。

**使用控制台查看连接日志**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，选择 **Log groups (日志组)**，然后选择包含连接日志的日志组。

1. 为您的 Client VPN 端点选择日志流。
**注意**  
**时间戳**列显示连接日志发布到 CloudWatch Logs 的时间，而不是连接的时间。

有关搜索日志数据的更多信息，请参阅《Amazon CloudWatch Logs 用户指南》**中的[使用筛选条件模式搜索日志数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html)。

# 关闭 AWS Client VPN 连接日志记录
<a name="disable-connection-logs"></a>

可以使用控制台或命令行为 Client VPN 端点关闭连接日志记录。关闭连接日志记录时，不会删除 CloudWatch Logs 中的现有连接日志。

**使用控制台关闭连接日志记录**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择 Client VPN 终端节点，选择 **Actions**（操作），然后选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

1. 在 **Connection logging**（连接日志记录）下，关闭 **Enable log details on client connections**（在客户端连接上启用日志详细信息）。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**使用 AWS CLI 关闭连接日志记录**  
使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令，并指定 `--connection-log-options` 参数。确保 `Enabled` 设置为 `false`。

# AWS Client VPN 端点配置文件导出
<a name="cvpn-working-endpoint-export"></a>

 AWS Client VPN 端点配置文件是客户端（用户）用来与客户端 VPN 端点建立 VPN 连接的文件。您必须下载（导出）此文件并将其分发给所有需要访问 VPN 的客户端。或者，如果您已为 Client VPN 端点启用自助服务门户，客户端可以登录该门户并自行下载配置文件。有关更多信息，请参阅 [AWS Client VPN 访问自助服务门户](cvpn-self-service-portal.md)。

如果您的 Client VPN 端点使用双向身份验证，则您必须[将客户端证书和客户端私有密钥添加到您下载的 .ovpn 配置文件中](add-config-file-cert-key.md)。在您添加信息后，客户端可以将 .ovpn 文件导入到 OpenVPN 客户端软件中。

**重要**  
如果未将客户端证书和客户端私有密钥信息添加到该文件中，则使用双向身份验证进行身份验证的客户端将无法连接到 Client VPN 端点。

默认情况下，OpenVPN 客户端配置中的 “remote-random-hostname” 选项启用通配符 DNS。由于已启用通配符 DNS，因此客户端不会缓存端点的 IP 地址，并且您将无法对端点的 DNS 名称执行 ping 操作。

如果 Client VPN 端点使用 Active Directory 身份验证，并且您在分发客户端配置文件后在目录上启用了 Multi-Factor Authentication（MFA），则必须下载新文件并将其重新分发给客户端。客户端无法使用以前的配置文件连接到 Client VPN 端点。

**Topics**
+ [导出 客户端配置文件](export-client-config-file.md)
+ [针对双向身份验证添加客户端证书和密钥信息](add-config-file-cert-key.md)

# 导出 AWS Client VPN 客户机配置文件
<a name="export-client-config-file"></a>

可以使用控制台或 AWS CLI导出 Client VPN 客户端配置。

**导出客户端配置（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要为其下载客户端配置的 Client VPN 端点，然后选择**下载客户端配置**。

**导出客户端配置 (AWS CLI)**  
使用 [export-client-vpn-client-config](https://docs.aws.amazon.com/cli/latest/reference/ec2/export-client-vpn-client-configuration.html) uration 命令并指定输出文件名。

```
$ aws ec2 export-client-vpn-client-configuration --client-vpn-endpoint-id endpoint_id --output text>config_filename.ovpn
```

# 添加用于相互身份验证的 AWS Client VPN 客户端证书和密钥信息
<a name="add-config-file-cert-key"></a>

如果您的 Client VPN 端点使用双向身份验证，则您必须将客户端证书和客户端私有密钥添加到您下载的 .ovpn 配置文件中。

使用双向身份验证时，您无法修改客户端证书。

**添加客户端证书和密钥信息（双向身份验证）**  
您可以使用以下任一选项。

（选项 1）将客户端证书和密钥与 Client VPN 端点配置文件一起分发给客户端。在此情况下，请在该配置文件中指定证书和密钥的路径。使用您的首选文本编辑器打开该配置文件，并在文件末尾添加以下内容。*/path/*替换为客户端证书和密钥的位置（该位置相对于连接到端点的客户端）。

```
cert /path/client1.domain.tld.crt
key /path/client1.domain.tld.key
```

（选项 2）将 `<cert>``</cert>` 标记之间的客户端证书内容以及 `<key>``</key>` 标记之间的私有密钥内容添加到配置文件中。如果选择此选项，则只将配置文件分发给客户端。

如果您为将连接到 Client VPN 端点的每个用户生成了单独的客户端证书和密钥，请针对每个用户重复执行此步骤。

以下是包含客户端证书和密钥的 Client VPN 配置文件格式的示例。

```
client
dev tun
proto udp
remote cvpn-endpoint-0011abcabcabcabc1.prod.clientvpn.eu-west-2.amazonaws.com 443
remote-random-hostname
resolv-retry infinite
nobind
remote-cert-tls server
cipher AES-256-GCM
verb 3

<ca>
Contents of CA
</ca>

<cert>
Contents of client certificate (.crt) file
</cert>

<key>
Contents of private key (.key) file
</key>

reneg-sec 0
```

# AWS Client VPN 路线
<a name="cvpn-working-routes"></a>

每个 AWS Client VPN 终端节点都有一个路由表，描述了可用的目的网络路由。路由表中的每个路由决定了将网络流量指引到何处。您必须为每个 Client VPN 端点路由配置授权规则，以指定哪些客户端可以访问目标网络。

当您将 VPC 中的子网与 Client VPN 端点关联时，VPC 的路由会自动添加到 Client VPN 端点的路由表中。要允许访问其他网络，例如对等网络、本地网络 VPCs、本地网络（使客户端能够相互通信）或 Internet，您必须手动将路由添加到 Client VPN 终端节点的路由表中。

**注意**  
如果您需要将多个子网关联到 Client VPN 端点，则应确保为每个子网创建路由，如此处所述：[故障排除 AWS Client VPN：对等互连 VPC、Amazon S3 或互联网的访问是间歇性的](intermittent-access.md)。每个关联的子网应该具有一组相同的路由。

## 在 Client VPN 端点上使用拆分隧道的注意事项
<a name="split-tunnel-routes"></a>

当您在 Client VPN 端点上使用拆分隧道时，Client VPN 路由表中的所有路由都将在建立 VPN 时添加到客户端路由表中。如果在 VPN 建立后添加路由，则您必须重置连接以将新路由发送到客户端。

建议您在修改 Client VPN 端点路由表之前，考虑客户端设备可以处理的路由数。

**Topics**
+ [在 Client VPN 端点上使用拆分隧道的注意事项](#split-tunnel-routes)
+ [创建端点路由](cvpn-working-routes-create.md)
+ [查看端点路由](cvpn-working-routes-view.md)
+ [删除端点路由](cvpn-working-routes-delete.md)

# 创建 AWS Client VPN 端点路由
<a name="cvpn-working-routes-create"></a>

在创建 Client VPN 端点路由时，您应指定如何指引目标网络的流量。

要允许客户端访问 Internet，请添加目标 `0.0.0.0/0` 路由。

可以使用控制台和 AWS CLI 向 Client VPN 端点添加路由。

**创建 Client VPN 端点路由（控制台）**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要添加路由的 Client VPN 端点，选择 **Route table**（路由表），然后选择 **Create route**（创建路由）。

1. 对于 **Route destination (路由目标)**，为目标网络指定 IPv4 CIDR。例如：
   + 要添加 Client VPN 端点的 VPC 的路由，请输入 VPC 的 IPv4 CIDR 范围。
   + 要添加 Internet 访问的路由，请输入 `0.0.0.0/0`。
   + 要添加对等 VPC 的路由，请输入对等 VPC 的 IPv4 CIDR 范围。
   + 要为本地网络添加路由，请输入 AWS Site-to-Site VPN 连接的 IPv4 CIDR 范围。

1. 对于 **Subnet ID for target network association**（用于目标网络关联的子网 ID），选择与 Client VPN 端点关联的子网。

   或者，如果要为本地 Client VPN 端点网络添加路由，请选择 `local`。

1. （可选）对于 **Description**（描述），输入路由的简短描述。

1. 选择**创建路由**。

**创建 Client VPN 端点路由（AWS CLI）**  
使用 [create-client-vpn-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-client-vpn-route.html) 命令。

# 查看 AWS Client VPN 端点路由
<a name="cvpn-working-routes-view"></a>

可以使用控制台或 AWS CLI 查看特定 Client VPN 端点的路由。

**查看 Client VPN 端点路由（控制台）**

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要查看其路由的 Client VPN 端点，然后选择 **Route table**（路由表）。

**查看 Client VPN 端点路由（AWS CLI）**  
使用 [describe-client-vpn-routes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-routes.html) 命令。

# 删除 AWS Client VPN 端点路由
<a name="cvpn-working-routes-delete"></a>

只能删除您手动添加的 Client VPN 路由。您无法删除在将子网与 Client VPN 端点关联时自动添加的路由。要删除自动添加的路由，必须解除最初创建的子网与 Client VPN 端点的关联。

可以使用控制台或 AWS CLI 从 Client VPN 端点删除路由。

**删除 Client VPN 端点路由（控制台）**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要删除其路由的 Client VPN 端点，然后选择 **Route table**（路由表）。

1. 选择要删除的路由，然后依次选择 **Delete route**（删除路由）和 **Delete route**（删除路由）。

**删除 Client VPN 端点路由（AWS CLI）**  
使用 [delete-client-vpn-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-client-vpn-route.html) 命令。

# AWS Client VPN 目标网络
<a name="cvpn-working-target"></a>

目标网络是 VPC 中的一个子网。AWS Client VPN 端点必须至少有一个目标网络，客户端才能连接到此网络并建立 VPN 连接。

有关可以配置的访问类型（例如，允许客户端访问 Internet）的更多信息，请参阅 [Client VPN 场景和示例](how-it-works.md#scenario)。

## Client VPN 目标网络要求
<a name="cvpn-create-target-reqs"></a>

在创建目标网络时，应遵循以下规则：
+ 子网必须具有至少一个 /27 位掩码的 CIDR 块，例如 10.0.0.0/27。子网还必须始终具有至少 20 个可用 IP 地址。
+ 子网的 CIDR 块不能与 Client VPN 端点的客户端 CIDR 范围重叠。
+ 如果您将多个子网与 Client VPN 端点关联，则每个子网必须位于不同的可用区中。我们建议您至少关联两个子网，以提供可用区冗余。
+ 如果您在创建 Client VPN 端点时指定了 VPC，则子网必须位于相同 VPC 中。如果您尚未将 VPC 与 Client VPN 端点关联，则可以在任何 VPC 中选择任何子网。

  所有其他子网关联都必须来自相同 VPC。要关联不同 VPC 的子网，您必须先修改 Client VPN 端点并更改与其关联的 VPC。有关更多信息，请参阅 [修改 AWS Client VPN 端点](cvpn-working-endpoint-modify.md)。

当您将子网与 Client VPN 端点关联时，我们会自动将在其中预置关联子网的 VPC 的本地路由添加到 Client VPN 端点的路由表中。

**注意**  
关联目标网络后，当您向附加的 VPC 添加或删除其他 CIDR 时，您必须执行以下操作之一，以便更新 Client VPN 端点路由表的本地路由：  
从目标网络中取消关联您的 Client VPN 端点，然后将 Client VPN 端点关联到目标网络。
手动将路由添加到 Client VPN 端点路由表或从表中删除路由。

将第一个子网与 Client VPN 端点关联后，Client VPN 端点的状态将从 `pending-associate` 更改为 `available`，并且客户端能够建立 VPN 连接。

**Topics**
+ [创建目标网络的要求](#cvpn-create-target-reqs)
+ [将目标网络与端点相关联](cvpn-working-target-associate.md)
+ [将安全组应用于目标网络](cvpn-working-target-apply.md)
+ [查看目标网络](cvpn-working-target-view.md)
+ [取消目标网络与端点的关联](cvpn-working-target-disassociate.md)

# 将目标网络与 AWS Client VPN 终端节点关联
<a name="cvpn-working-target-associate"></a>

您可以使用 Amazon VPC 控制台或 AWS CLI 将一个或多个目标网络（子网）与客户端 VPN 终端节点关联起来。将目标网络与 Client VPN 端点相关联之前，请先熟悉相关要求。请参阅[创建目标网络的要求](cvpn-working-target.md#cvpn-create-target-reqs)。

**将目标网络与 Client VPN 端点相关联（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要与目标网络关联的 Client VPN 端点，然后依次选择 **Target network associations**（目标网络关联）和 **Associate target network**（关联目标网络）。

1. 对于 **VPC**，选择您要在其中放置子网的 VPC。如果您在创建 Client VPN 端点时指定了 VPC，或者如果您有以前的子网关联，则这必须是相同的 VPC。

1. 对于 **Choose a subnet to associate**（选择要关联的子网），选择要与 Client VPN 终端节点关联的子网。

1. 选择 **Associate target network**（关联目标网络）。

**将目标网络与 Client VPN 端点相关联（AWS CLI）**  
使用 [associate-client-vpn-target-network](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-client-vpn-target-network.html) 命令。

# 将安全组应用于中的目标网络 AWS Client VPN
<a name="cvpn-working-target-apply"></a>

创建 Client VPN 端点时，您可以指定要应用于目标网络的安全组。当您将第一个目标网络与 Client VPN 端点关联时，我们会自动应用关联子网所在 VPC 的默认安全组。有关更多信息，请参阅 [安全组](client-authorization.md#security-groups)。

您可以更改 Client VPN 端点的安全组。您需要的安全组规则取决于要配置的 VPN 访问类型。有关更多信息，请参阅 [Client VPN 场景和示例](how-it-works.md#scenario)。

**将安全组应用于目标网络（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要应用安全组的 Client VPN 端点。

1. 选择 **Security Groups**（安全组），然后选择 **Apply Security Groups**（应用安全组）。

1. 从安全组中选择适当的**安全组 IDs**。

1. 选择 **Apply Security Groups**（应用安全组）。

**将安全组应用于目标网络 (AWS CLI)**  
使用 [apply-security-groups-to-client-vpn-target-network](https://docs.aws.amazon.com/cli/latest/reference/ec2/apply-security-groups-to-client-vpn-target-network.html) 命令。

# 查看 AWS Client VPN 目标网络
<a name="cvpn-working-target-view"></a>

可以使用控制台或 AWS CLI 查看与 Client VPN 端点关联的目标。

**查看目标网络（控制台）**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择相应的 Client VPN 端点，然后选择 **Target network associations**（目标网络关联）。

**使用 查看目标网络AWS CLI**  
使用 [describe-client-vpn-target-networks](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-target-networks.html) 命令。

# 取消目标网络与终端节点的 AWS Client VPN 关联
<a name="cvpn-working-target-disassociate"></a>

当您取消关联目标网络时，手动添加到 Client VPN 端点的路由表的所有路由，以及在建立目标网络关联时自动创建的路由（VPC 的本地路由）都将被删除。如果您取消所有目标网络与 Client VPN 端点的关联，则客户端不再能够建立 VPN 连接。

**取消目标网络与 Client VPN 端点的关联（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择与目标网络关联的 Client VPN 端点，然后选择 **Target network associations**（目标网络关联）。

1. 选择要取消关联的目标网络，选择 **Disassociate**（取消关联），然后选择 **Disassociate target network**（取消目标网络关联）。

**取消目标网络与 Client VPN 端点之间的关联（AWS CLI）**  
使用 [disassociate-client-vpn-target-network](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-client-vpn-target-network.html) 命令。

# AWS Client VPN 最长 VPN 会话持续时间超时
<a name="cvpn-working-max-duration"></a>

AWS Client VPN 为最长 VPN 会话持续时间提供了多个选项，即允许客户端连接到 Client VPN 端点的最长时间。您可以配置一个更短的最长 VPN 会话持续时间，以帮助满足安全性和合规性要求。默认情况下，最长 VPN 会话持续时间为 24 小时。设置最长会话持续时间后，您可以控制在达到该超时时，该会话会发生什么。会话超时时断开连接选项允许您终止会话或自动尝试重新连接端点。终止会话可让您通过强制执行最长 VPN 会话持续时间，更好地控制端点安全。如果会话设置为在达到最长时间时终止，则用户需要重新连接并提供身份验证凭证才能重新建立 VPN 连接。

如果会话超时时断开连接设置为自动重新连接，并且达到最长会话时间，
+ 当使用缓存的用户凭证（Active Directory）或基于证书的身份验证（双向身份验证）时，系统将自动建立新会话。要完全断开连接而不自动重新连接，这些用户应手动断开连接。
+ 当使用联合身份验证（SAML）时，系统将不会自动建立新会话。这些用户必须在会话超时到期后重新进行身份验证才能重新建立 VPN 连接。

**注意**  
从当前值降低最长 VPN 会话持续时间值时，与端点连接的时间长于新设持续时间的任何活动 VPN 会话都会断开连接。
更改会话超时时断开连接选项会将新设置应用于所有当前打开的会话。

## 在创建 AWS Client VPN 端点期间配置最大 VPN 会话数
<a name="configure-max-duration-endpoint-creation"></a>

可以在创建 Client VPN 端点期间配置 VPN 会话持续时间。有关创建 Client VPN 端点和设置最长会话持续时间的步骤，请参阅[创建AWS Client VPN终端节点](cvpn-working-endpoint-create.md)。

**Topics**
+ [在创建端点期间配置最长 VPN 会话持续时间](#configure-max-duration-endpoint-creation)
+ [查看 当前的最长 VPN 会话持续时间](display-max-duration.md)
+ [修改最长 VPN 会话持续时间](modify-max-timeout.md)

# 查看 AWS Client VPN 当前最长 VPN 会话持续时间
<a name="display-max-duration"></a>

按照以下步骤查看当前的 Client VPN 最长 VPN 会话持续时间。

**查看 Client VPN 端点当前的最长 VPN 会话持续时间（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 终端节点）。

1. 选择要查看的 Client VPN 终端节点。

1. 验证已经选择了 **Details**（详细信息）选项卡。

1. 查看**会话超时时间**旁边的当前最长 VPN 会话持续时间，以及是否启用或禁用**超时时断开连接**。

**查看 Client VPN 端点当前的最长 VPN 会话持续时间（AWS CLI）**  
使用 [describe-client-vpn-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-endpoints.html) 命令。

# 修改最长 AWS Client VPN 会话持续时间和超时行为
<a name="modify-max-timeout"></a>

按照以下步骤修改现有的 Client VPN 最长 VPN 会话持续时间并更改会话超时时断开连接行为。

**修改 Client VPN 端点现有的最长 VPN 会话持续时间（控制台）**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Client VPN endpoints**（Client VPN 端点）。

1. 选择要修改的 Client VPN 终端节点，选择 **Actions**（操作），然后选择 **Modify Client VPN Endpoint**（修改 Client VPN 终端节点）。

1. 对于 **Session timeout hours**（会话超时时间），选择所需的最长 VPN 会话持续时间（以小时为单位）。

1. 对于**会话超时时断开连接**，请选择是否要在达到最长会话超时时断开会话连接。默认情况下，当您第一次修改端点时，此功能处于关闭状态。

1. 选择 **Modify Client VPN endpoint**（修改 Client VPN 终端节点）。

**修改 Client VPN 端点现有的最长 VPN 会话持续时间（AWS CLI）**  
使用 [modify-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-client-vpn-endpoint.html) 命令。